Commit graph

94 commits

Author SHA1 Message Date
Mathias Gumz
df996370d0 Fix leak in ClientPatternTestCmd
Coverity-scan points to the leaking ClientPattern. The rest is just
cosmetics.
2015-01-16 10:36:14 +01:00
Mathias Gumz
6d5781ce71 Refactor: move some menu-creation functions to MenuCreator
Another patch to trim down the code that needs to be part of BScreen
2015-01-16 08:39:05 +01:00
Mathias Gumz
60e97b968b Fix clang warning 'expression with side effects' 2015-01-03 21:36:35 +01:00
Sami Kerola
73b7958770 build-sys: include config.h to all files using automake
Do not try to be too smart which compilations need config.h, as most of
them will simply because of the config.h has information about system
capabilities.
2013-05-26 10:38:10 +01:00
Mathias Gumz
dc47491533 Adds 'ClientPatternTest' command
ClientPatterns might be tricky to get right. Instead of fiddling around in
either the keys-file or the apps-file and restarting fluxbox to see if the
changes had any effect / matched the right windows, 'ClientPatternTest' and
the fluxbox-remote should make this easier:

    $> fluxbox-remote "clientpatterntest (title=.*vim*)"

This causes fluxbox to store the list of matched windows in the
_FLUXBOX_ACTION_RESULT property onto the rootwindow. This property might
then be read by:

    $> xprop -root _FLUXBOX_ACTION_RESULT

or

    $> fluxbox-remote result

The format of the list is:

    win_id \t title_of_window \n

win_id is '-1' when fluxbox wasn't able to parse the given ClientPattern.
win_id is '0' when there are no windows matching the given ClientPattern.
2013-01-31 09:14:06 +01: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
Ryan Pavlik
d4f682c7bd FbCommands.cc: Implement ExecuteCmd for Windows 2011-10-31 10:54:09 -05:00
Mathias Gumz
f0ffaf890f moved Menu placement into ScreenPlacement::placeAndShowMenu() 2011-02-24 11:21:16 +01:00
Mathias Gumz
e8ce9ed3a3 bugfix: do not assume ':number.screen' as the result of 'DisplayString()'
a newer xlib recently changed the result of 'DisplayString()' a little bit:
instead of returning ':0.0' or ':1.0' it yields ':0' or ':1'. our code to
transform this string into something that includes the currently used
Screen worked only on something like ':0.0'.

we now find the '.' after the ':' and strip that part away.
2011-01-06 08:33:34 +01:00
Mathias Gumz
87b45bd0d1 bugfix: avoid naive use of 'putenv' by providing 'FbTk::App::setenv()'
to quote from 'man putenv':

   The string pointed to by string becomes part of the environment,
   so altering the string changes the environment.

so, using putenv like

   {
      std::string foo("FOO=bar");
      putenv(foo.c_str());
   }

is wrong and leads to a potentially corrupted environment. valgrind
complaint correctly.

FbTk::App seems to be the appropriate place to hold '::seten()'
because it alters the environment of the application.
2010-09-17 23:43:24 +02:00
Mathias Gumz
2b9a38cba5 minor cleanup 2010-09-09 15:33:34 +02:00
Mathias Gumz
690d926ac4 introduced FbTk::BidiString
a 'BidiString' holds both the logical content and the visual reordered
version of the content of a string. this helps to reduce the number of
calls to reorder the string before drawing it (as introduced in the patch
from Ken Bloom) and to be more consistent in menus and textboxes (drawing
cursors and underlining text).
2010-09-08 20:17:21 +02:00
Mathias Gumz
c4c96ec830 simpler code 2009-10-01 08:57:31 +02:00
Mathias Gumz
884db973bb cosmetic fixes: removed redundant ';' + some whitespaces 2009-09-30 21:02:24 +02:00
Henrik Kinnunen
ed53f3c623 Changed icon list signal in BScreen to use the new signal system 2008-09-21 20:45:01 +02:00
Mark Tiefenbruck
6b391c3bea update workspace names atoms/resources when adding a new workspace
also removed unnecessary items from default init file
2008-09-08 18:50:25 -04:00
Mark Tiefenbruck
e71892d99c allow restart with no argument from fluxbox-remote 2008-06-19 18:58:34 -07:00
Mark Tiefenbruck
ac9c672a1e allow window menu items in ordinary menus 2008-06-06 06:58:20 -07:00
Matteo Galiazzo
af0f241954 don't save rc in SetStyle command if loading the style fails 2008-05-14 01:40:53 -07:00
Mark Tiefenbruck
68cf309220 implement smarter reloading for custom menus 2008-05-12 18:13:56 -07:00
Mark Tiefenbruck
93b0c5322a refactor menu reloading, added FbTk::AutoReloadHelper 2008-05-11 17:22:40 -07:00
Mark Tiefenbruck
72a45fae3c reuse some menu pointers instead of using delete/new 2008-05-11 10:17:21 -07:00
Mark Tiefenbruck
a9fd0f5b26 remove some more useless code 2008-05-11 08:54:18 -07:00
Mark Tiefenbruck
d7afd7b39e remove some unnecessary arguments 2008-05-02 03:44:27 -07:00
Thomas Orgis
1e2ab2f3ed some fixes for gcc 3.4 2008-04-21 15:43:10 -07:00
Mathias Gumz
6717a1c805 cosmetics 2008-01-25 08:21:55 +01: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
c381a130eb remove reassoc argument from FluxboxWindow::deiconify 2007-12-18 23:08:17 -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
474e201745 only allow one open menu at a time 2007-12-11 19:29:00 +00:00
markt
d482cf6a54 somewhat fixed DeiconifyCmd 2007-11-23 00:45:56 +00:00
markt
5d7043320d allow arbitrary window patterns in iconbar 2007-11-12 21:59:43 +00:00
markt
f3afe787c1 introduced workspacename for ClientPattern, and some miscellaneous cleanup 2007-10-24 17:09:26 +00:00
markt
c6a2605d76 replaced ModKey with new key commands StartMoving and StartResizing 2007-10-22 17:45:39 +00:00
markt
a59428d67a merged changes from pre-devel 2007-10-13 21:51:37 +00:00
mathias
cfb1e06df2 deiconify windows via :Deiconify in reverse order 2007-10-13 12:43:22 +00:00
markt
363764db5b fix ToggleDecor for fullscreen and decorationless windows, plus some other cleanup 2007-07-24 12:12:45 +00:00
markt
329fca30fd updates for compiling with gcc 4.3 2007-06-29 17:25:24 +00:00
mathias
6f8a5c7a8d small fix for the /bin/sh issue .. just using /bin/zsh now 2007-06-09 17:44:27 +00:00
mathias
dff2aa3356 fix for the following problem:
on *bsd /bin/sh is not just a symlink to /bin/bash as on most linux's 
  but a real standalone shell. and it behaves differently from "bash -c"
  behavior .. it doesnt exec the command given but waits till the command
  finishes. as a result a lot of "rogue" a flying around. solution is now 

     ( $SHELL or /bin/sh ) -c exec <cmd>
2007-06-06 06:22:37 +00:00
markt
db2904e144 fix infinite loop caused by deiconify command 2007-05-04 17:13:50 +00:00
markt
3980e3c40a fixed crash when CustomMenu doesn't point to a real file 2007-04-19 19:12:56 +00:00
markt
2b7f9a5899 hidemenus hide custommenus and fix custommenu memleak 2007-03-21 22:47:56 +00:00
markt
84e9f97085 fixed a little bug with placing new menus 2007-03-16 22:09:28 +00:00
markt
74216903cc added custommenu command 2007-03-16 20:44:47 +00:00
markt
6fdda1a31d added mouse bindings to the keys file 2007-02-09 18:13:01 +00:00
markt
69bac5d56f detect shell from environment variable 2007-01-24 17:13:16 +00:00
mathias
e5e76e7761 Cosmetic patch from Slava Semushin 2006-10-30 19:31:15 +00:00