aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-04-07Make fluxbox-generate_menu output lua-style menusPavel Labath1-204/+190
I also implemented a (slightly) less hacky way of removing empty menus.
2012-04-07Reintruduce 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.
2012-04-07Create a completely new lua state upon USR2 reconfigurePavel Labath4-28/+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.
2012-04-07Simplify 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']
2012-04-07Add checkstring() to lua::statePavel Labath2-4/+21
2012-04-07Refactor 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.
2012-04-07Add 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.
2012-04-07Change default keybinding to a more sane valuePavel Labath1-1/+1
2012-04-07Reintroduce support for multiple keymodesPavel Labath2-18/+44
new keymodes are created (in lua) by calling newKeyMode() and activated by calling keymode:activate()
2012-04-07Add 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.
2012-04-07Add readOnlySetField to FbTk::LuaPavel Labath2-0/+10
an equivalent of rawsetfield, but for "read only" tables.
2012-04-07Rename new config files to <foo>.luaPavel Labath3-4/+4
2012-04-07(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.
2012-04-07luamm: add lua_isuserdata C++ bindingPavel Labath1-0/+1
2012-04-07Attach modifiedSig handlers to the session.screenX.strftimeFormat resourcePavel Labath2-11/+7
2012-04-07Attach modifiedSig handlers to the session.screenX.tab.width resourcePavel Labath4-11/+6
2012-04-07Attach modifiedSig handlers to the session.screenX.tab.placement resourcePavel Labath4-17/+21
2012-04-07Attach modifiedSig handlers to the session.screenX.tabs.intitlebar resourcePavel Labath4-4/+7
2012-04-07Attach modifiedSig handlers to the session.screenX.tabs.usePixmap resourcePavel Labath2-8/+5
2012-04-07Attach 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.
2012-04-07Attach modifiedSig handlers to session.screenX.menu{Delay,Alpha} resourcesPavel Labath1-4/+4
2012-04-07Attach modifiedSig handlers to session.screenX.(un)focusedAlpha resourcesPavel Labath1-2/+6
2012-04-07Attach modifiedSig handlers to the session.screenX.windowMenu resourcePavel Labath2-12/+4
2012-04-07Attach modifiedSig handlers to the session.screenX.defaultDeco resourcePavel Labath3-3/+13
2012-04-07Add a TODO comment regarding the colorsPerChannel resourcePavel Labath1-0/+1
the new value of the resource is not used until fluxbox restarts.
2012-04-07Attach modifiedSig handlers to the session.autoRaiseDelay resourcePavel Labath3-5/+9
2012-04-07Attach a modifiedSig handler to the session.cacheMax resourcePavel Labath4-7/+14
2012-04-07Add lua to INCLUDE in util/Makefile.amPavel Labath1-1/+1
2012-04-07Attach a modifiedSig handler to the session.cacheLife resourcePavel Labath4-10/+18
2012-04-07Fix a small leak in FbTk::LuaPavel Labath1-1/+7
2012-04-07Attach a modifiedSig handler to the session.menuFile resourcePavel Labath2-6/+6
2012-04-07Attach a modifiedSig handler to the session.styleOverlay resourcePavel Labath1-0/+1
2012-04-07Attach a modifiedSig handler to the session.styleFile resourcePavel Labath6-19/+14
2012-04-07Emit the "modified" signal when a resource value is changed through C++ codePavel Labath6-21/+25
2012-04-07Add RangeTraits class which automatically clamps the value of resourcesPavel Labath6-36/+61
and start using it.
2012-04-07Enable 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).
2012-04-07Attach 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.
2012-04-07Attach a modifiedSig handler to the session.keyFile resourcePavel Labath5-21/+12
2012-04-07Attach a modifiedSig handler to the session.appsFile resourcePavel Labath5-17/+9
2012-04-07Attach a modifiedSig handler to the session.forcePseudoTransparency resourcePavel Labath1-3/+2
2012-04-07Add 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).
2012-04-07MenuCreator: Don't forget to call updateMenu() after creating itPavel Labath1-0/+2
2012-04-07Lua: 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.
2012-04-07Small optimization of the newindexDeny{Write,Modify} functionsPavel Labath1-3/+20
2012-04-07use Lua::registerInitFunction to simplify some parts of codePavel Labath7-45/+42
2012-04-07A lightweight version of lua::state::pushclosure which handles the simple casesPavel Labath2-3/+12
2012-04-07FbTk::Lua - a class which augments lua::state with additional featuresPavel Labath3-0/+183
2012-04-07Fix a bug in the default root menuPavel Labath1-4/+8
2012-04-07Lua version of default init and windowmenu filesPavel Labath2-21/+23
since we do not have a default rootmenu file, I'll just attach a very minimal example here: return { type = "menu"; label = "Fluxbox default menu"; encoding = "UTF-8"; { type = "exec"; label = "xterm"; param = "xterm"; }; { type = "command"; label = "Reconfigure"; param = "reconfigure"; }; { type = "command"; label = "Restart"; param = "restart"; }; { type = "command"; label = "Exit"; param = "exit"; }; }
2012-04-07Catch and report errors during the creation of menusPavel Labath1-9/+18