aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-01Move most of the resource loading code into ResourceManager_basePavel Labath6-67/+73
I mostly do this to avoid code duplication between fluxbox and fluxbox-update_configs.
2011-11-01Automatically save init file when a resource is modifiedPavel Labath5-37/+60
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)
2011-11-01Remove remnants of old menu parsing codePavel Labath6-271/+1
as it's no longed needed
2011-11-01Refactoring: move details if init file loading into LResourceManagerPavel Labath3-21/+37
2011-11-01Make fluxbox-generate_menu output lua-style menusPavel Labath1-204/+190
I also implemented a (slightly) less hacky way of removing empty menus.
2011-11-01Reintruduce support for setting menu titlePavel Labath1-1/+4
this was already present in the old menu files, but I did not notice, because generally the title is same as the label in the parent menu. Now menu title is set by the 'title' property, which falls back to 'label' if it's empty.
2011-11-01Create a completely new lua state upon USR2 reconfigurePavel Labath4-39/+48
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.
2011-11-01Simplify syntax of keys.luaPavel Labath2-124/+170
keybindings are now added like this some_keymode['Ctrl F1'] = 'RootMenu' This should be more intuitive and it allows things like this foo['Ctrl F1'] = bar['Mod1 F2']
2011-11-01Add checkstring() to lua::statePavel Labath2-4/+21
2011-11-01Refactor keys code a bitPavel Labath1-34/+34
I uncoupled the binding lookup from actual adding. This will make it easier to add functions for removing bindings.
2011-11-01Add a new default keys file and rename config files to foo.luaPavel Labath7-158/+158
hopefully, i have now updated all files that contain config file names.
2011-11-01Change default keybinding to a more sane valuePavel Labath1-1/+1
2011-11-01Reintroduce support for multiple keymodesPavel Labath2-18/+44
new keymodes are created (in lua) by calling newKeyMode() and activated by calling keymode:activate()
2011-11-01Add checkudata and checkargno functions to lua::statePavel Labath2-0/+43
These can be used by functions to check the saneness of arguments. They throw an exception on error. In the future, I might add more informative error messages.
2011-11-01Add readOnlySetField to FbTk::LuaPavel Labath2-0/+10
an equivalent of rawsetfield, but for "read only" tables.
2011-11-01Rename new config files to <foo>.luaPavel Labath3-4/+4
2011-11-01(More-or-less complete) conversion of keys file to luaPavel Labath4-290/+249
keybindings are added by calling the addBinding method of default_keymode. It keys two parameters: the keys to which the action is bound to and the action itself. The action can be specified as a string (which is passed to CommandParser) or as a lua function. Support for multiple keymodes is forthcoming. For the time being, I removed the BindKey and KeyMode commands, as they will take a bit different form.
2011-11-01luamm: add lua_isuserdata C++ bindingPavel Labath1-0/+1
2011-11-01Attach modifiedSig handlers to the session.screenX.strftimeFormat resourcePavel Labath2-11/+7
2011-11-01Attach modifiedSig handlers to the session.screenX.tab.width resourcePavel Labath4-11/+6
2011-11-01Attach modifiedSig handlers to the session.screenX.tab.placement resourcePavel Labath4-17/+21
2011-11-01Attach modifiedSig handlers to the session.screenX.tabs.intitlebar resourcePavel Labath4-4/+7
2011-11-01Attach modifiedSig handlers to the session.screenX.tabs.usePixmap resourcePavel Labath2-8/+5
2011-11-01Attach modifiedSig handlers to the session.screenX.tooltipDelay resourcePavel Labath1-0/+3
ps: previously, one had to restart fluxbox for changes to this resource to take effect.
2011-11-01Attach modifiedSig handlers to session.screenX.menu{Delay,Alpha} resourcesPavel Labath1-4/+4
2011-11-01Attach modifiedSig handlers to session.screenX.(un)focusedAlpha resourcesPavel Labath1-2/+6
2011-11-01Attach modifiedSig handlers to the session.screenX.windowMenu resourcePavel Labath2-12/+4
2011-11-01Attach modifiedSig handlers to the session.screenX.defaultDeco resourcePavel Labath3-3/+13
2011-11-01Add a TODO comment regarding the colorsPerChannel resourcePavel Labath1-0/+1
the new value of the resource is not used until fluxbox restarts.
2011-11-01Attach modifiedSig handlers to the session.autoRaiseDelay resourcePavel Labath3-5/+9
2011-11-01Attach a modifiedSig handler to the session.cacheMax resourcePavel Labath4-7/+14
2011-11-01Add lua to INCLUDE in util/Makefile.amPavel Labath1-1/+1
2011-11-01Attach a modifiedSig handler to the session.cacheLife resourcePavel Labath4-10/+18
2011-11-01Fix a small leak in FbTk::LuaPavel Labath1-1/+7
2011-11-01Attach a modifiedSig handler to the session.menuFile resourcePavel Labath2-6/+6
2011-11-01Attach a modifiedSig handler to the session.styleOverlay resourcePavel Labath1-0/+1
2011-11-01Attach a modifiedSig handler to the session.styleFile resourcePavel Labath6-19/+14
2011-11-01Emit the "modified" signal when a resource value is changed through C++ codePavel Labath6-21/+25
2011-11-01Add RangeTraits class which automatically clamps the value of resourcesPavel Labath6-36/+61
and start using it.
2011-11-01Enable the resource traits classes to hold non-static membersPavel Labath5-23/+25
ps: the Resource class inherits from the Traits class instead of holding it as a member because it's more size-efficient (base classes can have zero size, members cannot).
2011-11-01Attach a modifiedSig handler to the session.tabPadding resourcePavel Labath3-2/+6
ps: this is a bonus, without this one needed to completely restart fluxbox for the updates to tabPadding to take effect.
2011-11-01Attach a modifiedSig handler to the session.keyFile resourcePavel Labath5-21/+12
2011-11-01Attach a modifiedSig handler to the session.appsFile resourcePavel Labath5-17/+9
2011-11-01Attach a modifiedSig handler to the session.forcePseudoTransparency resourcePavel Labath1-3/+2
2011-11-01Add a "modified" signal to resourcesPavel Labath1-2/+12
This way, an object can be informed when a resource changes (e.g. by a lua function).
2011-11-01MenuCreator: Don't forget to call updateMenu() after creating itPavel Labath1-0/+2
2011-11-01Lua: Make global variables read-onlyPavel Labath3-19/+20
This prevents the user from inadvertently overwriting e.g. the session table and then wondering why it does not work. I'm still not sure about this approach, as it's not 100% secure (the script can still use raw access to mess with it) and it adds some overhead to any operation referencing a global variable.
2011-11-01Small optimization of the newindexDeny{Write,Modify} functionsPavel Labath1-3/+20
2011-11-01use Lua::registerInitFunction to simplify some parts of codePavel Labath7-45/+42
2011-11-01A lightweight version of lua::state::pushclosure which handles the simple casesPavel Labath2-3/+12