aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-08-02Automatically 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-08-02Add explicit ReturnType cast to operator() of FbTk::SlotsPavel Labath1-4/+5
without this it wasn't possible to construct a Slot returning void from functors returning some real value because the compiler would complain about "return statement with a value in a function returning void". Theoretically, this may produce some unexpected type conversions, because static_cast is slightly stronger than implicit cast, but I judge the risk to be negligable (the alternative would be to provide explicit specializations for slots returning void - too much typing)
2011-08-02Upgrade FbTk::Timer so it can take an arbitrary functor as a parameterPavel Labath2-2/+20
2011-08-02Rename Signal::connect function taking an already-constructed slot to ↵Pavel Labath1-7/+7
connectSlot I do this to avoid compiler ambiguity between the two versions of connect()
2011-08-01Remove remnants of old menu parsing codePavel Labath6-271/+1
as it's no longed needed
2011-08-01Refactoring: move details if init file loading into LResourceManagerPavel Labath3-21/+37
2011-07-31Make fluxbox-generate_menu output lua-style menusPavel Labath1-204/+190
I also implemented a (slightly) less hacky way of removing empty menus.
2011-07-31Reintruduce 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-07-30Create 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-07-29Simplify 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-07-29Add checkstring() to lua::statePavel Labath2-4/+21
2011-07-28Refactor keys code a bitPavel Labath1-33/+34
I uncoupled the binding lookup from actual adding. This will make it easier to add functions for removing bindings.
2011-07-25Add 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-07-25Change default keybinding to a more sane valuePavel Labath1-1/+1
2011-07-25Reintroduce support for multiple keymodesPavel Labath2-18/+44
new keymodes are created (in lua) by calling newKeyMode() and activated by calling keymode:activate()
2011-07-25Add 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-07-25Add readOnlySetField to FbTk::LuaPavel Labath2-0/+10
an equivalent of rawsetfield, but for "read only" tables.
2011-07-25Add comparison operators to FbTk::RefCountPavel Labath1-0/+30
without them, gcc would compare them by converting them to bool first, which is not exactly what one would expect. Frankly, I'm surprised it even worked without this.
2011-07-24Rename new config files to <foo>.luaPavel Labath3-4/+4
2011-07-24(More-or-less complete) conversion of keys file to luaPavel Labath4-287/+247
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-07-24luamm: add lua_isuserdata C++ bindingPavel Labath1-0/+1
2011-07-22Use RefCount to store keybindingsPavel Labath2-52/+33
I'm doing this because I want to have access to keybindings from lua and for that I need more flexible ownership semantics.
2011-07-22Remove the assignment operator from a regular pointer to a RefCountPavel Labath4-10/+8
it is too easy too shoot yourself in the foot with it, other smart pointers also don't allow such assignments. If you do want to assign to a RefCount pointer, use reset(). ps: assignment between two RefCounts remains possible, of course.
2011-07-21Attach modifiedSig handlers to the session.screenX.strftimeFormat resourcePavel Labath2-11/+7
2011-07-21Attach modifiedSig handlers to the session.screenX.tab.width resourcePavel Labath4-11/+6
2011-07-20Attach modifiedSig handlers to the session.screenX.tab.placement resourcePavel Labath4-17/+21
2011-07-20Attach modifiedSig handlers to the session.screenX.tabs.intitlebar resourcePavel Labath4-4/+7
2011-07-18Attach modifiedSig handlers to the session.screenX.tabs.usePixmap resourcePavel Labath2-8/+5
2011-07-18Attach 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-07-18Attach modifiedSig handlers to session.screenX.menu{Delay,Alpha} resourcesPavel Labath1-4/+4
2011-07-18Attach modifiedSig handlers to session.screenX.(un)focusedAlpha resourcesPavel Labath1-2/+6
2011-07-18Attach modifiedSig handlers to the session.screenX.windowMenu resourcePavel Labath2-12/+4
2011-07-18Attach modifiedSig handlers to the session.screenX.defaultDeco resourcePavel Labath3-3/+13
2011-07-15Add a TODO comment regarding the colorsPerChannel resourcePavel Labath1-0/+1
the new value of the resource is not used until fluxbox restarts.
2011-07-15Attach modifiedSig handlers to the session.autoRaiseDelay resourcePavel Labath3-5/+9
2011-07-15Attach a modifiedSig handler to the session.cacheMax resourcePavel Labath4-7/+14
2011-07-14Add lua to INCLUDE in util/Makefile.amPavel Labath1-1/+1
2011-07-14Attach a modifiedSig handler to the session.cacheLife resourcePavel Labath4-10/+18
2011-07-14Remove obsolete codePavel Labath1-8/+0
ps: it was already commented out, I'm just deleting it
2011-07-14Fix a small leak in FbTk::LuaPavel Labath1-1/+7
2011-07-14Attach a modifiedSig handler to the session.menuFile resourcePavel Labath2-6/+6
2011-07-13Attach a modifiedSig handler to the session.styleOverlay resourcePavel Labath1-0/+1
2011-07-13Attach a modifiedSig handler to the session.styleFile resourcePavel Labath6-19/+14
2011-07-13Emit the "modified" signal when a resource value is changed through C++ codePavel Labath6-21/+25
2011-07-12Add RangeTraits class which automatically clamps the value of resourcesPavel Labath6-36/+61
and start using it.
2011-07-12Enable 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-07-11Attach 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-07-10Attach a modifiedSig handler to the session.keyFile resourcePavel Labath5-21/+12
2011-07-10Attach a modifiedSig handler to the session.appsFile resourcePavel Labath5-17/+9
2011-07-10add FbTk::makeRef function, for easier construction of RefCount pointersPavel Labath1-0/+20