aboutsummaryrefslogtreecommitdiff
path: root/src/fluxbox.hh
AgeCommit message (Collapse)AuthorFilesLines
2015-01-22Add -no-slit and -no-toolbar flagsMathias Gumz1-90/+100
Sometimes fluxbox is used as a component of a desktop environment ( e.g., the "Lumina Desktop"). It's easier and more stable for this kind of "users" to disable the toolbar or the slit alltogether. Why not configure these features out? Because then they would need 2 installations of fluxbox: One without the slit and the toolbar (and perhaps other components) and one with them. This implements feature request #314, at least partially. This commit also looks bigger than it actually is: I refactored and cleaned up classes Fluxbox and BScreen.
2014-04-09fix excessive loading of keys file caused by xmodmapMathias Gumz1-0/+1
xmodmap (and other tools) trigger MappingNotify events. a single xmodmap expression such as "keycode comma = comma semicolon" might trigger 4 or 5 MappingNotify events. loading the keys file on each of them is quite unefficient. fluxbox now uses a (250ms) timer which is reset upon further events.
2014-02-18Fix race condition on shutdownMathias Gumz1-9/+6
This commit fixes primarily a race condition that occurs when xinit(1) shuts down: by not acting properly fluxbox gets caught in an infinite loop. It caused bug #1100. xinit(1) sends a SIGHUP signal to all processes. fluxbox tries to shutdown itself properly by shutting down workspaces and screens. While doing that, the Xserver might be gone already. Additionally, fluxbox used to restart() itself on SIGHUP, which is clearly not the right thing to do when xinit(1) is about to end the session. So, fluxbox does this: * handling SIGHUP now shuts down fluxbox without clearing workspaces and screens. * A 2 second alarm() is triggered in Fluxbox::shutdown() as a last resort * XSetIOErrorHandler() is used to recognize the disconnect from the xserver. * SIGUSR1 is for restarting fluxbox, SIGUSR2 for reloading the config * FbTk/SignalHandler.cc/hh is gone; this unused abstraction served currently no real purpose. Signal handling is now done in main.cc * Unrelated to the issue itself src/main.cc was trimmed down quite a bit and the code (responsible for handling the command line interface) was moved to src/cli*
2012-12-12Minor cleaning of 'class Fluxbox'Mathias Gumz1-1/+0
2012-12-12Fix build regression: enable XRANDR support by defaultMathias Gumz1-10/+3
The changes made in b178bed60b5bd8b2c9ed0cbc67fd729ff3820589 used the wrong variable to set the default state of '--enable-randr' in configure.in, that is fixed now. I also removed '--enable-randr12': If support for the Xrandr-extension is available at compile time we set HAVE_RANDR; if there is also support for Xrandr-1.2 (or higher), we also set HAVE_RANDR1_2 automatically. Other changes: * cleaned out public interface of 'class Fluxbox' * added 'RANDR' to output of 'fluxbox -info'
2011-05-10Convert FluxboxWindow::layerSig to FbTk::SignalPavel Labath1-3/+2
2011-05-10Convert FluxboxWindow::stateSig to FbTk::SignalPavel Labath1-0/+2
2011-05-10Convert FluxboxWindow::workspaceSig to FbTk::SignalPavel Labath1-0/+2
2011-05-10Convert Focusable::dieSig to FbTk::SignalPavel Labath1-0/+4
2010-09-18changed the way we create the '~/.fluxbox' directory to avoid race conditionsMathias Gumz1-5/+7
before bringing up the first instance of Fluxbox we prepare the directory and the files it needs. if the config version of exiting files is lower than what we expect, we upgrade the config files. after that we bring up Fluxbox. the old way was problematic because setupConfigFiles() calls 'fluxbox-update_configs' which does its job in the background while fluxbox continues to boot. 'fluxbox-update_configs' sends a USR2 signal to the booting fluxbox (it might even be finished, no one knows) which triggers 'load_rc()' which triggered 'setupConfigFiles()' again which might trigger 'fluxbox-update_configs' again (on my machine 'fluxbox-update_configs' was called 3 times and left a pretty crippled 'keys' file when it was done). bootstrapping before bringing up fluxbox resolves the issue. as a bonus: no need to send USR2 to fluxbox to reload the config file because fluxbox has not even tried to read it yet.
2010-09-13code simplificationMathias Gumz1-2/+2
we do not need a std::map just to store an attribute on an AtomHandler, it makes housekeeping just more annoying.
2008-09-28Changed workspace area signal to use the new signal systemHenrik Kinnunen1-0/+3
2008-09-28Change focused signal to use the new signal systemHenrik Kinnunen1-0/+4
2008-09-21Changed client list signal in BScreen to use the new signal systemHenrik Kinnunen1-0/+2
2008-09-21Changed workspace names signal in BScreen to use the new signal systemHenrik Kinnunen1-0/+2
2008-09-21Changed current workspace signal in BScreen to use the new signal systemHenrik Kinnunen1-0/+2
2008-09-18Changed workspace count signal in BScreen to use the new signal system.Henrik Kinnunen1-1/+7
2008-08-22add -sync command line option for debugging X issuesMark Tiefenbruck1-1/+1
2008-08-16revert focus when closing dialogsMark Tiefenbruck1-1/+3
2008-06-20move default window menu to ~/.fluxbox/windowmenuMark Tiefenbruck1-1/+1
2008-05-12only reload the keys file if the contents have changedMark Tiefenbruck1-0/+1
2008-05-12refactor menu reloading, added FbTk::AutoReloadHelperMark Tiefenbruck1-15/+0
2008-05-11remove some more useless codeMark Tiefenbruck1-4/+2
2008-01-12move some stuff from Fluxbox to BScreenMark Tiefenbruck1-4/+0
2008-01-04remove old svn $Id$ tagsMark Tiefenbruck1-2/+0
2008-01-01fix some flickering on focus changeMark Tiefenbruck1-3/+2
2007-12-30removed some unneeded headersMathias Gumz1-6/+5
2007-12-11only allow one open menu at a timemarkt1-2/+0
2007-11-12allow arbitrary window patterns in iconbarmarkt1-6/+0
2007-10-22replaced ModKey with new key commands StartMoving and StartResizingmarkt1-4/+0
2007-10-13merged changes from pre-develmarkt1-2/+2
2007-07-24fix ToggleDecor for fullscreen and decorationless windows, plus some other ↵markt1-1/+1
cleanup
2007-07-07fixes for --program-prefix and --program-suffix, plus fixed overwriting init ↵markt1-2/+1
file on reconfigure
2007-03-04moved some code around (regarding event handling) in preparation for ↵markt1-8/+0
upcoming features
2007-03-03removed session.numLayers resource, as it was useless and caused segfaultsmarkt1-6/+1
2007-01-05only grab keybindings on screens managed by fluxboxmarkt1-1/+3
2007-01-01don't run [startup] items if fluxbox fails to loadmarkt1-1/+1
2006-07-25don't revert focus away from command dialogsmarkt1-0/+2
2006-07-23use a timer to make sure focus always reverts if possiblemarkt1-1/+4
2006-07-22dead resourcemarkt1-1/+1
2006-07-04some dead resources and the functions that go with themmarkt1-5/+1
2006-07-01more dead functionsmarkt1-0/+2
2006-07-01more dead functionsmarkt1-3/+0
2006-06-30more dead functionsmarkt1-2/+0
2006-06-30another dead functionmarkt1-1/+0
2006-06-22Added patch from Jim Ramsay (i dot am at jimramsay dot com) to freelymathias1-4/+7
define the used modkey. Added new action SetModKey too
2006-06-18added support for _NET_WM_WINDOW_TYPE_DIALOG and _NET_FRAME_EXTENTSfluxgen1-0/+2
2006-06-11added support for urgency hint, thanks Mark Tiefenbruckfluxgen1-0/+5
2006-04-25fix a bunch of comments, make default textures obvioussimonb1-1/+1
Thanks Jonas Koelker
2006-03-18no more session.titlebar.left/right. They are now screen specific and the ↵fluxgen1-7/+0
resources are created on the fly in FluxboxWindow