aboutsummaryrefslogtreecommitdiff
path: root/src/WorkspaceCmd.cc
AgeCommit message (Collapse)AuthorFilesLines
2022-04-18Initial implementation of shortcut to windowsRichard Tamin1-0/+37
[PURPOSE] In editors such as vi and emacs, a user can mark a line in a file with a shortcut key and afterwards jump back to that line using the shortcut. The idea is extended to opened windows. A user can assign a keyboard shortcut to an opened window. Afterwards, the shortcut can be used to switch focus back to the marked window. Such shortcuts save the user from pressing "alt+tab" multiple times to cycle through windows until the desired one is found. [EXAMPLE USAGE] The following binding is added to file "~/.fluxbox/keys": Mod1 m ARG :MarkWindow Mod1 g ARG :GotoMarkedWindow User enters "alt+m x" to mark the currently focused window with shortcut key 'x' User enters "alt+g x" to switch focus to the marked window [IMPLEMENTATION SUMMARY] - Two new commands were added :MarkWindow and :GotoMarkedWindow - Keys.cc was modified: - addBinding() method supports parsing an argument placeholder where the user can pass in a shortcut key - doAction() method forwards the shortcut key to the command to execute - Class Keys::t_key was modified to recognize a placeholder key - New class ShortcutManager was added to maintain mapping of shortcut keys to marked windows
2016-11-20stop focus cycling on explicit workspace changesThomas Lübking1-0/+1
Otherwise implicit focus changes by the workspace change would be perceived as focus stealing and the focus restored to the last window on the original desktop
2016-09-03Next|PrevWorkspace 0 toggles former WorkspaceThomas Lübking1-6/+4
REQUEST: 185 also PATCH 92
2016-08-30Add "Unclutter" commandThomas Lübking1-0/+39
Unclutter the desktop by using the MinOverlapPlacement for all matching windows. REQUEST: 248
2016-08-26Grab Server when showing or switching desktopThomas Lübking1-0/+2
Should reduce exposure events, notably since the windows are not in stack order.
2016-08-26allow to alter button labels via fluxbox-remoteThomas Lübking1-0/+25
Command is "RelabelButton button.foo $LABEL" This is useful to eg. hint the amount of unread mails in a button to start your MUA, reflect the $USER in a session menu button etc.
2016-08-26add functions to toggle slit/toolbar hiddenThomas Lübking1-0/+20
2016-08-26add commands to toggle toolbar and slit layerThomas Lübking1-0/+22
toggle(Toolbar|Slit)Above toggles the resp. item between its regular and the AboveDock layer (ie. above everything, even visible on active fullscreen windows) Also required step for autoraising. REQUEST: 222
2015-01-03Fix clang warning 'expression with side effects'Mathias Gumz1-5/+8
2014-07-22fix uninitialized variablesMathias Gumz1-1/+1
2013-08-02Fix ArrangeWindowsStack* for multi-head displaysMathias Gumz1-62/+67
* Fix integer wrap around for some situations (resulting in a very wide window): w = max_width - x_offs - (*closest)->widthOffset() If the given window is on the right most display and thus 'x_offs' is bigger than 'max_width' (half of the display width), the resulting 'w' wraps around and becomes very large. * Place a single window via ArrangeWindowsStack* as well * Some minor code styling / reordering along the way
2013-08-02Add support for stacked tiling via ArrangeWindows*John Sennesael1-15/+101
2012-01-04Pre-increment non-primitive types.Ryan Pavlik1-5/+5
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-05-10Make RefCount<> more sensiblePavel Labath1-1/+1
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.
2011-03-23compile fix: sunCC 5.11 (sunstudio 12) compiles and links againMathias Gumz1-1/+1
biggest change: renaming of 'class Layer' to 'class ResourceLayer' in Layer.hh to handle complaints about 'ambiguous Layer: Layer or FbTk::Layer'. 'ResourceLayer' sounds crappy, but that was the best I could come up with right now.
2010-09-17added 'ArrangeWindowsVertical' to actionsJohn K Pate1-3/+14
2010-09-04minor code simplificationMathias Gumz1-13/+13
2009-09-30cosmetic fixes: removed redundant ';' + some whitespacesMathias Gumz1-2/+2
2008-08-23make ShowDesktop and Deiconify commands maintain focus orderMark Tiefenbruck1-13/+18
2008-08-20fix match limits in apps file, plus some documentationMark Tiefenbruck1-2/+1
2008-08-20ShowDesktop should ignore everything on the desktop layer, not just windows ↵Mark Tiefenbruck1-1/+2
of type Desktop
2008-08-18fix a bug with Some and Every commands and the stupid global current window ↵Mark Tiefenbruck1-2/+6
variable
2008-08-05make ShowDesktop command toggle between showing desktop and windowsMark Tiefenbruck1-1/+16
2008-08-04add window pattern argument to ArrangeWindowsMark Tiefenbruck1-12/+10
2008-01-11make FbTk::Command a template class, split parsing information out of ↵Mark Tiefenbruck1-48/+46
ObjectRegistry
2008-01-04remove old svn $Id$ tagsMark Tiefenbruck1-2/+0
2007-12-20added ForEach key commandMark Tiefenbruck1-9/+38
2007-12-16changed CommandRegistry to a template class, renamed to ObjectRegistry<Type>Mark Tiefenbruck1-25/+28
2007-12-13added FbTk::CommandRegistry, decentralized command parsing, and made them ↵markt1-0/+120
auto-register
2007-11-23make sure window commands operate on the right windowmarkt1-0/+9
2007-11-22use winclient instead of fluxboxwindow for matching, and removing old codemarkt1-6/+0
2007-11-22added conditional statements to keys filemarkt1-2/+47
2007-11-12allow arbitrary window patterns in iconbarmarkt1-12/+4
2007-11-05various refactoring and minor changesmarkt1-3/+6
2007-10-24introduced workspacename for ClientPattern, and some miscellaneous cleanupmarkt1-19/+1
2007-10-13merged changes from pre-develmarkt1-15/+76
2007-07-07allow negative indices in :Workspace <int>markt1-2/+9
2007-07-01added key commands :AddWorkspace and :RemoveLastWorkspacemarkt1-0/+12
2007-03-04moved some code around (regarding event handling) in preparation for ↵markt1-50/+6
upcoming features
2007-03-01changed FocusControl::cycleFocus() to take a list of windows as an argumentmarkt1-12/+22
also fixed some latent bugs and compiler warnings
2007-02-27respect external tabs in ArrangeWindows, patch from Tomas Janousek ↵mathias1-2/+8
<tomi@nomi.cz>
2007-02-09added mouse bindings to the keys filemarkt1-31/+35
2007-01-11add feature to minimize windows in current layermarkt1-0/+13
2006-12-17Stop cycling focus when another command gets run, even if modifiers are ↵markt1-4/+2
still down
2006-11-07cosmetic patch from slava againmathias1-1/+0
2006-07-14include iconic windows when cyclingmarkt1-2/+2
also, stop cycling on one screen when cycling begins on another
2006-07-12replacing some instances of focusedWindow()->fbwindow() with focusedFbWindow()markt1-5/+3
2006-07-10next/prevwindow toolbar buttons break mousefocusmarkt1-2/+2
2006-06-28Linear cycling wasn't affecting normal cycling order (Mark)markt1-4/+2
2006-04-19windows keep relative positions in ArrangeWindows, based on distance to new ↵mathias1-23/+46
'cell' center