Age | Commit message (Collapse) | Author | Files | Lines |
|
The reason for this is that I need to access those enums from fluxbox-update_configs and I don't
want to #include and link everything in src.
I also merged Slit::Placement, Toolbar::Placement and FbWinFrame::TabPlacement into one enum.
|
|
As we integrate lua more and more into the core of fluxbox, it's going to progressively harder to
update all things that reference to the old state.
Furthermore, I would like to completely drop the reconfiguration at some point, after I'm
finished with making sure that all resources use the modifiedSig signal to update automatically.
|
|
I mostly do this to avoid code duplication between fluxbox and fluxbox-update_configs.
|
|
previously, init was autosaved only when a resource was modified using the menu. I have also
included modifications through lua code.
To avoid wasting resources, the file is not saved immediately, but with a 5 second delay (to
enable saving a bunch of changes in one go)
|
|
|
|
This way, global variables set by the scripts don't persist between hard reconfigures.
I also cleaned up the reconfig-handling code in fluxbox.cc. Instead of three reconfig functions
(real_reconfig, timed_reconfig, reconfig) we have just one.
|
|
|
|
|
|
|
|
and start using it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
instead of the add-on hack it was.
This also fixes a lot of problems with saving of config.
|
|
Loading of an init file with the new manager works ok. Saving and restarting is still not
completed.
This touches many files because i removed the alternative name of resources. Unlike Xrm, lua does
not have native support for alt names. It should be fairly easy to add them, but I think that is
unnecessary and would be confusing.
|
|
this reduces typing and it makes more sense in lua, since there the resources are implemented as
hierarchical tables and the topmost table has to be handled a bit specially.
|
|
|
|
|
|
nowadays every app should use the extended window manager hints exclusively.
|
|
the deleted function was never used, otherwise it would generate an error with other compilers as
well. icc noticed that it was nonsensical even when it wasn't used and complained.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
* use FbTk::StringUtil::number2String() to avoid 'sprintf'
* use FbTk::Util::clamp()
* use FbTk::STLUtil::destroyAndClear()
* whitespaces
|
|
we do not need a std::map just to store an attribute on an AtomHandler,
it makes housekeeping just more annoying.
|
|
|
|
our users should migrate seamlessly to our new windows-cycling behaviour
without losing their current way of doing things. so, 'fluxbox-update_configs'
tries its best to add '(workspace=[current])' wherever it looks like a valid
place for it. such changed lines are marked by '!! FBCV13' at the end and can
be easily spotted in case the updater got it wrong.
addtional changes:
* added '-check' to 'fluxbox-update_configs' to check the version number in
'~/.fluxbox/init' vs. the version number of 'fluxbox-update_configs'
* moved the update-code for each version into its own function, easier
housekeeping
|
|
|
|
|
|
|
|
|
|
|
|
This will reduce the number of #ifdef DEBUG for
simple debug messages.
include "Debug.hh" and use fbdbg instead of cerr for debug.
|
|
initialize this from that'
|
|
This is the basic condition that was first noticed because of the effect of the
ClientMenu window unmapping and the resulting EnterNotify event stealing focus
from the window selected in that menu. But to be complete, any window unmapping
should cause focus to move to the next in the last-recently-focused window list,
not the one that happens to be beneath the mouse cursor.
|
|
|
|
|