aboutsummaryrefslogtreecommitdiff
path: root/src/Keys.cc
AgeCommit message (Collapse)AuthorFilesLines
2012-04-07Refactor keys code a bitPavel Labath1-34/+34
I uncoupled the binding lookup from actual adding. This will make it easier to add functions for removing bindings.
2012-04-07Change default keybinding to a more sane valuePavel Labath1-1/+1
2012-04-07Reintroduce support for multiple keymodesPavel Labath1-18/+38
new keymodes are created (in lua) by calling newKeyMode() and activated by calling keymode:activate()
2012-04-07(More-or-less complete) conversion of keys file to luaPavel Labath1-230/+247
keybindings are added by calling the addBinding method of default_keymode. It keys two parameters: the keys to which the action is bound to and the action itself. The action can be specified as a string (which is passed to CommandParser) or as a lua function. Support for multiple keymodes is forthcoming. For the time being, I removed the BindKey and KeyMode commands, as they will take a bit different form.
2012-04-07Attach a modifiedSig handler to the session.keyFile resourcePavel Labath1-13/+8
2012-01-04Pre-increment non-primitive types.Ryan Pavlik1-1/+1
Found with cppcheck: "Prefix ++/-- operators should be preferred for non-primitive types. Pre-increment/decrement can be more efficient than post-increment/decrement. Post-increment/decrement usually involves keeping a copy of the previous value around and adds a little extra code."
2011-09-14Use RefCount to store keybindingsPavel Labath1-53/+32
I'm doing this because I want to have access to keybindings from lua and for that I need more flexible ownership semantics.
2011-09-14Remove the assignment operator from a regular pointer to a RefCountPavel Labath1-1/+1
it is too easy too shoot yourself in the foot with it, other smart pointers also don't allow such assignments. If you do want to assign to a RefCount pointer, use reset(). ps: assignment between two RefCounts remains possible, of course.
2011-08-26regrab ButtonMotionMask as well (needed for 'Move' events in keysfile)Mathias Gumz1-1/+1
2011-08-26bugfix: remap keysyms to keycodes after 'MappingNotify', fix #3386257Mathias Gumz1-11/+25
setxkbmap and xmodmap both might change the keycodes. thus fluxbox needs to remap the keysyms from the currently loaded keytree to new keycodes after it received a 'MappingNotify' event. we do not reload() the keys file because: * the user might work on it right now * remap only needed symbols is cheaper than parsing the keysfile anyway
2011-05-10Make RefCount<> more sensiblePavel Labath1-3/+3
the previous version of operator*() made no sense. E.g., it violated the invariant (*ptr).foo <=> ptr->foo. The dereferencing operator now returns a reference to the pointed-to object, rather than a pointer to it. I also added a bool conversion operator, which can be used in testing the NULL-ness of the pointer. Anyone wondering if that could be done in a simpler way is encouraged to read <http://www.artima.com/cppsource/safebool.html>. And, finally, I removed the mutable flag from the m_data member, since it does not need it.
2010-09-11added '(workspace=[current])' to our default keysMathias Gumz1-2/+2
commit 882a50fe1d4930b156965c54d9b66ecb27b4c9b2 removed the hardcoded limit to cycle to windows on other workspaces, though it was and IS a good default behaviour. if users do not want this (they want to cycle to windows on other workspaces), they should explicitly avoid '(workspace=[current])' in their keysfile.
2010-09-04fixed the default 'OnTitlebar Mouse1' actionsMathias Gumz1-2/+2
2010-08-20implemented 'ActivateTab' action to (re)allow activation of tabs via mouseMathias Gumz1-0/+2
2010-08-16fixed typoMathias Gumz1-1/+1
2010-05-23mostly cosmetic fixes, mainly discovered by 'clang --analyze'Mathias Gumz1-1/+1
reordering of Resource-related stuff was because of "error: explicit specialization of 'getString' after instantiation" complaints.
2010-05-08prevent crash if m_keylist is 0Mathias Gumz1-0/+3
again, i do not know yet, why this could happen.
2010-05-08cleanup: missing initializationMathias Gumz1-0/+2
i ran across problems on a freshly installed ubuntu without any config files, m_keylist was not initialized, yet unsure why.
2010-05-05cosmeticMathias Gumz1-1/+1
2010-05-05added OnLeftGrip, OnRightGrip, OnWindowBorder modifiers for keys fileMathias Gumz1-0/+10
this allows to move some hardcoded keysbindings into the keys file and makes the code simpler
2010-03-17Changed #ifdef DEBUG ... cerr << to using fbdbg.Henrik Kinnunen1-3/+3
This will reduce the number of #ifdef DEBUG for simple debug messages. include "Debug.hh" and use fbdbg instead of cerr for debug.
2009-12-18implemented 'MoveN' and 'ClickN' support in keys file.Mathias Gumz1-43/+67
the hardcoded 'OnTitlebar Mouse1 :Raise' (see Window.cc, FluxboxWindow::buttonPressEvent()) is disabled for now, should be added to fluxbox-update_configs
2009-10-02just use the FbTk APIMathias Gumz1-0/+5
2009-08-08more fixes for fluxconf mangling the keys fileMark Tiefenbruck1-0/+7
2009-06-28add window menu and alt-tab to error case for keys fileMark Tiefenbruck1-0/+3
2009-03-04src/Keys.cc(deleteTree): use FbTk::STLUtil::destroyAndClearSecond() instead ↵Slava Semushin1-3/+5
of self-written code. No functional change. Signed-off-by: Slava Semushin <php-coder@altlinux.ru>
2008-11-02don't reload keys file on modifier map events, just re-grab keysMark Tiefenbruck1-0/+4
2008-10-04break keychains after an invalid key is pressed (which unfortunately will be ↵Mark Tiefenbruck1-9/+6
swallowed)
2008-09-28don't let KeyRelease events propagate to windowsMark Tiefenbruck1-6/+5
2008-08-22another parsing fixMark Tiefenbruck1-3/+3
2008-08-16revert focus when closing dialogsMark Tiefenbruck1-3/+3
2008-08-16move interpretation of normal hints to size hint classMark Tiefenbruck1-1/+1
2008-08-14cleanup of some filesMathias Gumz1-6/+7
2008-05-12only reload the keys file if the contents have changedMark Tiefenbruck1-25/+12
2008-04-30workaround for keys files broken by fluxconfMark Tiefenbruck1-0/+2
2008-02-11more fun with the window menuMark Tiefenbruck1-1/+7
2008-02-04Fix a freed memory access in Keys::doAction.Tomas Janousek1-2/+2
The thing next_key pointed to was getting freed in deleteTree. Signed-off-by: Tomas Janousek <tomi@nomi.cz>
2008-02-03check pointer, even though it shouldn't be necessaryMark Tiefenbruck1-1/+1
2008-01-11make FbTk::Command a template class, split parsing information out of ↵Mark Tiefenbruck1-3/+3
ObjectRegistry
2008-01-04remove old svn $Id$ tagsMark Tiefenbruck1-3/+0
2008-01-02decoupling, moved private datastructures to Keys.ccMathias Gumz1-32/+79
2007-12-30removed some unneeded headersMathias Gumz1-1/+0
2007-12-16changed CommandRegistry to a template class, renamed to ObjectRegistry<Type>Mark Tiefenbruck1-2/+2
2007-12-13added FbTk::CommandRegistry, decentralized command parsing, and made them ↵markt1-2/+2
auto-register
2007-12-09added OnTitlebar modifier to keys filemarkt1-10/+49
2007-11-22added special FocusIn/Out MouseOver/Out ChangeWorkspace keysmarkt1-4/+29
2007-11-20move titlebar click handling to FluxboxWindow, fix buttons getting ungrabbedmarkt1-1/+11
2007-11-05fix alt-tabmarkt1-1/+3
2007-11-05various refactoring and minor changesmarkt1-0/+5
2007-10-15add OnWindow modifier to keys filemarkt1-0/+2