Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-11-01 | Make AutoReloadHelper truly "automatic" | Pavel Labath | 2 | -1/+15 | |
by adding the ability to automatically check for modifications at specified intervals. Using inotify() would be better, but that's not always present. | |||||
2011-11-01 | Move most of the resource loading code into ResourceManager_base | Pavel Labath | 4 | -42/+45 | |
I mostly do this to avoid code duplication between fluxbox and fluxbox-update_configs. | |||||
2011-11-01 | Automatically save init file when a resource is modified | Pavel Labath | 3 | -5/+38 | |
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-01 | Remove remnants of old menu parsing code | Pavel Labath | 3 | -79/+1 | |
as it's no longed needed | |||||
2011-11-01 | Refactoring: move details if init file loading into LResourceManager | Pavel Labath | 2 | -0/+36 | |
2011-11-01 | Create a completely new lua state upon USR2 reconfigure | Pavel Labath | 2 | -15/+40 | |
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-01 | Add checkstring() to lua::state | Pavel Labath | 2 | -4/+21 | |
2011-11-01 | Add checkudata and checkargno functions to lua::state | Pavel Labath | 2 | -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-01 | Add readOnlySetField to FbTk::Lua | Pavel Labath | 2 | -0/+10 | |
an equivalent of rawsetfield, but for "read only" tables. | |||||
2011-11-01 | luamm: add lua_isuserdata C++ binding | Pavel Labath | 1 | -0/+1 | |
2011-11-01 | Attach a modifiedSig handler to the session.cacheMax resource | Pavel Labath | 2 | -5/+10 | |
2011-11-01 | Attach a modifiedSig handler to the session.cacheLife resource | Pavel Labath | 2 | -8/+14 | |
2011-11-01 | Fix a small leak in FbTk::Lua | Pavel Labath | 1 | -1/+7 | |
2011-11-01 | Emit the "modified" signal when a resource value is changed through C++ code | Pavel Labath | 1 | -2/+6 | |
2011-11-01 | Add RangeTraits class which automatically clamps the value of resources | Pavel Labath | 2 | -0/+39 | |
and start using it. | |||||
2011-11-01 | Enable the resource traits classes to hold non-static members | Pavel Labath | 2 | -11/+19 | |
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-01 | Add a "modified" signal to resources | Pavel Labath | 1 | -2/+12 | |
This way, an object can be informed when a resource changes (e.g. by a lua function). | |||||
2011-11-01 | Lua: Make global variables read-only | Pavel Labath | 3 | -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-01 | Small optimization of the newindexDeny{Write,Modify} functions | Pavel Labath | 1 | -3/+20 | |
2011-11-01 | use Lua::registerInitFunction to simplify some parts of code | Pavel Labath | 2 | -32/+26 | |
2011-11-01 | A lightweight version of lua::state::pushclosure which handles the simple cases | Pavel Labath | 2 | -3/+12 | |
2011-11-01 | FbTk::Lua - a class which augments lua::state with additional features | Pavel Labath | 3 | -0/+183 | |
2011-11-01 | Luamm: add lua_istable C++ wrapper | Pavel Labath | 1 | -0/+1 | |
2011-11-01 | Add a version of lua::state::loadstring which accepts std::string | Pavel Labath | 1 | -0/+1 | |
2011-11-01 | Store menus if smart pointers (RefCount) | Pavel Labath | 7 | -31/+15 | |
This was originally intended to be a bugfix for an memory error reported by valgrind (accessing freed memory). While debugging it, I found the menu ownership semantics confusing (setInternalMenu() et al.), so I decided to get rid of it and store it in smart pointers everywhere. Looking back, I'm not sure if this was worth all the trouble, but the good news is that the valgrind error disappeared. :) | |||||
2011-11-01 | A veeeery rough implementation of lua menu parsers | Pavel Labath | 3 | -4/+4 | |
2011-11-01 | Fix saving of resources. | Pavel Labath | 1 | -29/+66 | |
2011-11-01 | Vector resources can now specify which char to use as delimiters | Pavel Labath | 1 | -2/+2 | |
when saving/loading to/from string representation. This is needed for the next commit. | |||||
2011-11-01 | Add LocaleStringTraits resource class | Pavel Labath | 1 | -2/+19 | |
for resources which need to work with localised strings. | |||||
2011-11-01 | Replace ResourceManager with the lua version | Pavel Labath | 1 | -0/+8 | |
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. | |||||
2011-11-01 | Fix bug in LResources: they were unable to handle resources with numbers in ↵ | Pavel Labath | 1 | -6/+6 | |
names | |||||
2011-11-01 | Make lua resource manager automatically initialize lua state if needed | Pavel Labath | 1 | -0/+5 | |
2011-11-01 | Add a function for converting from XResources to lua ones | Pavel Labath | 3 | -0/+21 | |
2011-11-01 | Lua resources: Add support for saving of boolean values | Pavel Labath | 1 | -6/+15 | |
2011-11-01 | Factor out "session." from resource names | Pavel Labath | 4 | -13/+19 | |
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. | |||||
2011-11-01 | Move more common stuff of (L)ResourceManagers to their base class | Pavel Labath | 4 | -80/+41 | |
2011-11-01 | Avoid a "converting to int from foo" compiler warning | Pavel Labath | 1 | -1/+1 | |
2011-11-01 | Add support for array lua resources | Pavel Labath | 2 | -33/+48 | |
2011-11-01 | Simplify FbTk::Resource template class | Pavel Labath | 2 | -24/+244 | |
by outsourcing the conversion from string/lua to the specific type (and back) to a separate class. This change touches a lot of files because the interface of FbTk::Resource changed slightly. However, the changes are minor. | |||||
2011-11-01 | A rough version of resource implementation in lua | Pavel Labath | 6 | -35/+443 | |
I added a new class, LResourceManager, which should handle loading and saving of resources like the old ResourceManager, only it does that with the help of lua. I moved the common features of the two managers (interface + a few functions) to a common base class ResourceManager_base. I augmented the Resource_base class with two new functions (setFromLua and pushToLua) which are used by the lua RM instead of getString and setFromString. Parts of the new RM are written in lua. To avoid loading scripts from a file at runtime I decided to link compiled lua code straight into the executable. For this purpose I created a small script which converts a binary file into a declaration of a C array of bytes. | |||||
2011-11-01 | convert ResourceManager::{add,remove}Resource from template to a regular ↵ | Pavel Labath | 2 | -34/+31 | |
function | |||||
2011-11-01 | Lua exceptions can now outlive thier lua context | Pavel Labath | 2 | -5/+18 | |
2011-11-01 | Luamm: add lua_createtable binding | Pavel Labath | 1 | -0/+1 | |
2011-11-01 | luamm: add a version of loadstring which also takes the string length as a ↵ | Pavel Labath | 2 | -3/+22 | |
parameter | |||||
2011-11-01 | Add lua_rawgeti wrapper to luamm | Pavel Labath | 1 | -0/+1 | |
2011-11-01 | Remove the possibility to transport exceptions through lua code | Pavel Labath | 2 | -54/+9 | |
It's impossible to do this without C++0x features (we need std::exception_ptr). | |||||
2011-11-01 | c++ lua binding: get rid of variadic templates | Pavel Labath | 1 | -5/+44 | |
See how variadic templates are good. They enabled me to write those four functions as one. | |||||
2011-11-01 | c++ lua binding: get rid of shared_ptr | Pavel Labath | 2 | -102/+108 | |
It was pretty underused anyway. I was just lazy to write a proper destructor. | |||||
2011-11-01 | c++ lua binding: get rid of deleted functions and rvalue references | Pavel Labath | 2 | -48/+25 | |
2011-11-01 | c++ lua binding: replace std::function with FbTk::Slot | Pavel Labath | 2 | -24/+36 | |
std::function is superior, but not supported on old compilers |