Commit graph

86 commits

Author SHA1 Message Date
Uli Schlachter
e20068cb4a luaA_warn: Balance stack (#2106)
In Lua 5.2 or newer, this function left a string on the Lua stack. Fix
this by popping this string.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-11-08 18:47:37 +01:00
Uli Schlachter
95b1305613 Refactor config fallback
Before this, there was a function which attempted to load different
configuration files in the right order. There was a boolean argument
that decided if we are actually loading it or just checking for syntax
error (for the --check argument of awesome). This lead to some
not-so-nice code since we do not want to fall-back to another config
when checking for syntax errors.

Refactor this so that there is now a function which calls a callback
function with the different paths that should be tried. This function
returns as soon as the callback function returns true.

Since just checking if the config syntax is ok does not depend on any
Lua state, an empty Lua state is now used for this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-01-25 14:10:19 +01:00
Uli Schlachter
24bb38969d Add an option to add a path to $LUA_PATH
The same effect could be achieved by modifying $LUA_PATH or with symlinks, but
having a special option to do this seems easier.

Note that the man page translations were generated via Google translate. I'm
looking forward to people submitting correct translations...

Inspired-by: https://github.com/awesomeWM/awesome/pull/485
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-08-20 16:04:11 +02:00
Uli Schlachter
0d4cc5f43a Fix integer overflow in overflow checking functions (#851)
The min/max arguments to the integer range checking functions are integer. We
call these with UINT32_MAX in two places and this value (notice the "U" for
"unsigned") does not fit into a signed integer. Hence, there is an integer
overflow at compile time and the maximum value that is actually checked for is
-1.

Fix this by using lua_Number (double) instead of int.

Fixes: https://github.com/awesomeWM/awesome/issues/840
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-26 00:51:51 +02:00
Emmanuel Lepage Vallee
39c031241f Add number range checking.
Add the "number" equivalent functions for the integers one
introduced by the last commit.
2016-04-18 04:20:22 -04:00
Uli Schlachter
163c15979e Add range-checking Lua stack -> C value converters
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-17 13:48:24 +02:00
Uli Schlachter
051d0de85f Replace many pushnumber calls with pushinteger
The only remaining calls are for a window's opacity and in the DBus type
handling. Everything else wants integers, not something with a comma.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-06 13:46:46 +01:00
Uli Schlachter
720cd879f3 Add timestamps to messages on stderr (#602)
Closes https://github.com/awesomeWM/awesome/pull/606.
Fixes https://github.com/awesomeWM/awesome/issues/602.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-12-31 15:38:17 +01:00
Daniel Hahler
178f479d15 drawin.c: check for integer for x, y, width, height
This adds luaA_getopt_integer, luaA_optinteger and luaA_checkinteger.

Lua 5.2 does not have support for this, but it would be available in Lua
5.3.

Closes https://github.com/awesomeWM/awesome/pull/320.
2015-08-12 14:07:22 +02:00
Daniel Hahler
5e6f104e0e Use luaL_traceback only with Lua 5.2+
It has been added in Lua 5.2, and should not require us to bump the
Lua dependency.  It is only meant to provide useful information, but is
not required.

This is a follow-up to 6e97b5f8.
2015-07-28 13:08:57 +02:00
Daniel Hahler
6e97b5f8c5 Use luaL_traceback with luaA_warn and luaA_typerror 2015-07-22 13:52:47 +02:00
Julian Wollrath
ba62665fd6 Remove some trailing whitespaces. 2015-06-19 23:13:31 +02:00
Uli Schlachter
006b43cb6f awesome: Add startup signal
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-02-14 15:41:11 +01:00
Uli Schlachter
fed199eee5 Also allow screen objects were screen indices are expected
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-30 17:55:42 +02:00
Uli Schlachter
88facb7f57 Make debug::index::miss and newindex work on classes and all objects
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-23 19:27:06 +01:00
Uli Schlachter
02cb961edf luaa: Remove lots of unused code
Most of these are unused since the drawing code was moved to lua. For example,
the old wibox code needed the metatable entries __next, __ipairs and __pairs so
that w.widgets worked correctly and could pretend to be a regular lua table.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-18 16:28:42 +01:00
Uli Schlachter
ea30119410 Use glib instead of libev
This commit ports awesome from libev to the glib main loop. This means that
awesome has fewer dependencies, because we were already depending on glib before
and now no longer need glib.

However, the main reason for this change is that, thanks to lgi, we have glib
bindings for lua. This means that lua code can add all kinds of event sources to
the main loop (timeouts, fd watchers, SIGCHLD watchers, ....). Yay

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-21 21:01:12 +01:00
Arvydas Sidorenko
f41590e19c Wrapped luaL_register
Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-06-12 13:32:40 +02:00
Arvydas Sidorenko
d612b922f3 lua_objlen wrapped in luaA_rawlen
In lua 5.2 lua_objlen was renamed for now reason

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-12 11:02:57 +02:00
Arvydas Sidorenko
47e21ad3cc Wrapped lua_[gs]etfenv into luaA_[gs]etuservalue
Lua 5.2 removed lua_[gs]etfenv and introduced
lua_[gs]etuservalue. Not sure though if it provides
the required functionality which awesome is using.
Thus, need some testing.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-12 11:02:34 +02:00
Arvydas Sidorenko
172d000679 Changed all luaL_typerror to luaA_typerror 2012-06-12 10:57:29 +02:00
Arvydas Sidorenko
f2942a994d luaL_typerror -> luaA_typerror
Lua 5.2 removed luaL_typerror leaving to write our own version
if need it.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-12 10:56:19 +02:00
Gregor Best
c2ea920ca0 remove encoding=utf-8 from modelines
This option is no longer valid in modelines, so it has been removed from
all modelines using the following shellscript:

    #!/bin/ksh

    git ls-tree -r HEAD | cut -f2 | while read f; do
        egrep -e '^(//|--) vim: .*encoding=' $f >/dev/null || continue
        sed -E -e '/^(\/\/|--) vim:/s/:encoding=utf-8//' $f > /tmp/foo
        mv /tmp/foo $f
    done

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-11 17:34:09 +02:00
Uli Schlachter
742c0dead0 Systray: Fix
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 15:38:44 +02:00
Uli Schlachter
d213f19c5f Widgets: Remove
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 13:27:21 +02:00
Uli Schlachter
db3b1fe431 Image: Remove
Everything now uses oocairo instead.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 19:36:58 +02:00
Julien Danjou
2a73f6dd9d luaa: luaA_next is static
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-09 21:28:37 +01:00
Julien Danjou
4c178d5441 hooks: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:04 +02:00
Brian Gianforcaro
3145e3145e Grammar/spelling corrections in comments and docs.
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-31 10:39:36 +02:00
Julien Danjou
0d03ea88d5 luaa: emit deprecation signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-27 18:05:44 +02:00
Julien Danjou
7ecf1afdfd draw: move padding stuff inside textbox
This is only used by textbox.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 20:24:38 +02:00
Julien Danjou
4d0a025f51 luaclass: add handling of {new,}index of missing properties (FS#584)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
a916f2cd55 image: port to new class system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
1cc50b8a29 luaobject: remove useless custom function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou
84182466e0 spawn: move sn hooks to signals
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:47:55 +02:00
Julien Danjou
45702de158 luaclass: add support for new()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:45:17 +02:00
Julien Danjou
1300b16c1e luaclass: add generic {new,}index meta methods
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:45:14 +02:00
Julien Danjou
df079b2a54 luaa: fix idx not used
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 17:47:15 +02:00
Julien Danjou
a8f4a59efd lualib: import stack dumping function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 16:09:14 +02:00
Julien Danjou
284338532b luaobject: add type recognition
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:19 +02:00
Julien Danjou
eed9864ab0 luaobject: add signals
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00
Julien Danjou
339fb53d56 luaobject: add and use item system
Now, each object can store items.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:29:30 +02:00
Gregor Best
b0975c2360 luaA_getopt_number(): also return def if stack top is neither number nor nil
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Julien Danjou
df20e95f82 color: move push color function to color.c
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-19 17:01:01 +02:00
Julien Danjou
e4acb74a5a luaa: split dofunction()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:44:29 +02:00
Julien Danjou
f4e77bcab9 luaa: rename and change hooks_property macro()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:04 +02:00
Julien Danjou
1f3fdce144 luaa: remove useless dostring()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:20:12 +02:00
Julien Danjou
dc29720ef7 Replace lua_newtable() with lua_createtable()
Lua can preallocate space in table for array or non-array elements type.
This should improve performance when setting table, so when we can we
use lua_createtable() since this is just a gain.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-25 15:04:27 +02:00
Nikos Ntarmos
715f95555a libxdg-basedir 1.0.0 compatibility
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-18 18:51:04 +02:00
Uli Schlachter
7f663ad563 Add luaA_pushcolor() for pushing color_t*
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-04-18 14:02:21 +02:00