Commit graph

69 commits

Author SHA1 Message Date
Mathias Gumz
60e97b968b Fix clang warning 'expression with side effects' 2015-01-03 21:36:35 +01:00
Mathias Gumz
026343b6b1 fix uninitialized variables 2014-07-22 22:25:47 +02:00
Mathias Gumz
ff3635ad0a Fix ArrangeWindowsStack* for multi-head displays
* 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-02 11:19:26 +02:00
John Sennesael
57ec44e994 Add support for stacked tiling via ArrangeWindows* 2013-08-02 08:56:07 +02:00
Ryan Pavlik
5ae8bdf49d Pre-increment non-primitive types.
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."
2012-01-04 07:53:54 +01:00
Pavel Labath
4b47675441 Make RefCount<> more sensible
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-05-10 13:00:45 +02:00
Mathias Gumz
e850b01919 compile fix: sunCC 5.11 (sunstudio 12) compiles and links again
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.
2011-03-23 12:02:15 +01:00
John K Pate
f1f7bebf37 added 'ArrangeWindowsVertical' to actions 2010-09-17 16:22:33 +02:00
Mathias Gumz
b1b2f47e7d minor code simplification 2010-09-04 14:41:39 +02:00
Mathias Gumz
884db973bb cosmetic fixes: removed redundant ';' + some whitespaces 2009-09-30 21:02:24 +02:00
Mark Tiefenbruck
6875a611dc make ShowDesktop and Deiconify commands maintain focus order 2008-08-23 05:44:11 -07:00
Mark Tiefenbruck
4bf00f6857 fix match limits in apps file, plus some documentation 2008-08-20 05:26:12 -07:00
Mark Tiefenbruck
0fea3e3c86 ShowDesktop should ignore everything on the desktop layer, not just windows of type Desktop 2008-08-20 04:06:48 -07:00
Mark Tiefenbruck
ccba298cb5 fix a bug with Some and Every commands and the stupid global current window variable 2008-08-18 08:09:59 -07:00
Mark Tiefenbruck
9d71ad9c14 make ShowDesktop command toggle between showing desktop and windows 2008-08-04 22:51:08 -07:00
Mark Tiefenbruck
0688816d11 add window pattern argument to ArrangeWindows 2008-08-03 18:18:04 -07:00
Mark Tiefenbruck
9f2f65a698 make FbTk::Command a template class, split parsing information out of ObjectRegistry 2008-01-10 23:41:22 -08:00
Mark Tiefenbruck
9c105111d2 remove old svn $Id$ tags 2008-01-03 17:34:12 -08:00
Mark Tiefenbruck
03dce043b7 added ForEach key command 2007-12-20 12:23:56 -08:00
Mark Tiefenbruck
8516f1e2a2 changed CommandRegistry to a template class, renamed to ObjectRegistry<Type> 2007-12-15 19:36:01 -08:00
markt
8b7464046c added FbTk::CommandRegistry, decentralized command parsing, and made them auto-register 2007-12-13 05:48:00 +00:00
markt
9ed25584a1 make sure window commands operate on the right window 2007-11-23 18:41:23 +00:00
markt
0a7cb3db1f use winclient instead of fluxboxwindow for matching, and removing old code 2007-11-22 04:41:36 +00:00
markt
675bc5d66a added conditional statements to keys file 2007-11-22 04:07:57 +00:00
markt
5d7043320d allow arbitrary window patterns in iconbar 2007-11-12 21:59:43 +00:00
markt
97f7c3e1b5 various refactoring and minor changes 2007-11-05 17:05:58 +00:00
markt
f3afe787c1 introduced workspacename for ClientPattern, and some miscellaneous cleanup 2007-10-24 17:09:26 +00:00
markt
a59428d67a merged changes from pre-devel 2007-10-13 21:51:37 +00:00
markt
b735d405f5 allow negative indices in :Workspace <int> 2007-07-07 04:54:34 +00:00
markt
69d63da542 added key commands :AddWorkspace and :RemoveLastWorkspace 2007-07-01 21:01:31 +00:00
markt
4c1a242968 moved some code around (regarding event handling) in preparation for upcoming features 2007-03-04 17:47:37 +00:00
markt
2f63ba231c changed FocusControl::cycleFocus() to take a list of windows as an argument
also fixed some latent bugs and compiler warnings
2007-03-01 21:19:04 +00:00
mathias
589ecfc060 respect external tabs in ArrangeWindows, patch from Tomas Janousek <tomi@nomi.cz> 2007-02-27 18:07:36 +00:00
markt
6fdda1a31d added mouse bindings to the keys file 2007-02-09 18:13:01 +00:00
markt
9cace1f2cb add feature to minimize windows in current layer 2007-01-11 19:22:46 +00:00
markt
2ff67d09a7 Stop cycling focus when another command gets run, even if modifiers are still down 2006-12-17 22:21:23 +00:00
mathias
a3c5fd6000 cosmetic patch from slava again 2006-11-07 19:12:42 +00:00
markt
fde970a21d include iconic windows when cycling
also, stop cycling on one screen when cycling begins on another
2006-07-14 06:00:37 +00:00
markt
c929da4054 replacing some instances of focusedWindow()->fbwindow() with focusedFbWindow() 2006-07-12 00:08:57 +00:00
markt
bf3aee5f67 next/prevwindow toolbar buttons break mousefocus 2006-07-10 18:00:42 +00:00
markt
aad6845c91 Linear cycling wasn't affecting normal cycling order (Mark) 2006-06-28 20:58:53 +00:00
mathias
c92942270a windows keep relative positions in ArrangeWindows, based on distance to new 'cell' center 2006-04-19 05:18:10 +00:00
simonb
4d0a0c9e11 add CloseAllWindows key action
thanks Adriano Dal Bosco - adbosco at users.sourceforge.net
2006-04-16 11:29:38 +00:00
fluxgen
894a7148be size_t fixes, thanks Semushin Slava aka php-coder 2006-04-02 21:37:44 +00:00
mathias
70bd45e8e1 enhanced :NextWindow / :PrevWindow to accept <delta> as parameter, patch from marcus obst 2006-03-09 19:38:18 +00:00
fluxgen
5ceacc6592 moved all focus handling to FocusControl 2006-02-18 20:19:22 +00:00
fluxgen
f53c93e5e0 moved all focus handling to class FocusControl 2006-02-18 11:40:52 +00:00
mathias
ae05ad9a01 updated copyright info 2006-02-16 06:53:05 +00:00
fluxgen
3626faea73 cleaning, change getCount to numberOfWorkspaces 2005-07-04 18:19:09 +00:00
mathias
6c057c6903 Fix for #1160244, #1099704, #1094107:
if the xkb-extension is enabled and the user switches between his/her
keyboardlayouts fluxbox's keybhandling doesn't work well anymore because
xkeyevent.state contains also xkb-related flags and thus we have to handle
that with caution.

KeyUtils now contain 'isolateModifierMask()' to really work only on the
modifiers. why not as part of cleanMods() ? because the XLookupString return
false results, eg TextBox's would only print chars from the first
keyboardlayout.
2005-05-06 09:22:53 +00:00