Commit Graph

676 Commits

Author SHA1 Message Date
Julien Danjou 41580c91d8 signal: fix memory leak, wipe signal_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 23:11:44 +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 c180904d77 luaobject: change function push method in signal emit
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou f111d0cab1 luaclass: use signal_object_emit
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou 2a252cd4da luaobject: add signal_object_emit
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou a02d026f77 client: port to new object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 84839d456d wibox: port to new object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 376c0daaaf luaobject: add export property macro
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou f3e12dbe52 screen: add .index property
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou dc61d258f0 luaclass: optimize type handling
We use lua_class_t pointer as key in the registry to store metatable we
will compare.
lauxlib uses a string, which sucks, because it forces to do a
pushliteral() each time you want to get a metatable from the registry,
which is slower.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 5dbae0e34f luaobject: remove prefix##_push_item()
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 6cfaafbab3 luaclass: remove useless property name
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-20 16:46:33 +02:00
Julien Danjou 07ac920b1c timer: export started status to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 21:55:43 +02:00
Julien Danjou 432f4229be timer: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:49:06 +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 537506a0c1 luaclass: add property array handling in classes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:45:10 +02:00
Julien Danjou 073e0377dd Revert "key, button: use as simple table"
This reverts commit d7454f4307.

Conflicts:

	button.h
	key.h
	lib/awful/titlebar.lua.in
	lib/naughty.lua.in
	wibox.c
	wibox.h
	widget.c
2009-08-14 16:48:52 +02:00
Julien Danjou 0cc5d85111 lualib: fix error_func_pos computing
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-14 14:36:56 +02:00
Julien Danjou a2623225c1 lualib: fix error function removal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-12 18:57:56 +02:00
Julien Danjou d531519a9f lualib: print backtrace on function error
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-11 17:21:14 +02:00
Julien Danjou 176fa70916 draw: remove useless AlignFixed
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-04 14:35:20 +02:00
Julien Danjou ec5ae3dfb8 imagebox: remove valign
This is not used anymore in rendering.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-04 14:31:21 +02:00
Julien Danjou 1ab20e289e build: do not use common as include dir
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-03 17:42:51 +02:00
Julien Danjou 047d04d438 luaobject: import __tostring as object meta function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 16:09:14 +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 706d545076 luaclass: register class in an array
That should permit class identification.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:19 +02:00
Julien Danjou c1d99f0960 luaobject: emit signal on new object
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00
Julien Danjou 4003ef726f luaclass: import class system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00
Julien Danjou dea2b6303a luaobject: import signals meta methods in objects
Signed-off-by: Julien Danjou <julien@danjou.info>

Conflicts:
2009-07-29 15:48:18 +02:00
Julien Danjou 7ecce446ad luaobject: generate Lua API function for add, remove and emit signal
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +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 d7454f4307 key, button: use as simple table
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:44:54 +02:00
Julien Danjou a1b113901c luaobject: change global refering method
We now store elements in registry:
registry.pointer = userdata

And count references.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:40:51 +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
Uli Schlachter a77a1b7b64 Add a lua api for setting a wibox' shape
When the SHAPE extension is not available, this code prints
a harmless warn() on stderr.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 14:23:59 +02:00
Julien Danjou 88ef17ce94 buffer: remove useless assignation
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-18 10:18:55 +02:00
Perrin "kAworu" Alexandre 319f2d55bc removed WidgetList, name_func_link_t and related function
use tokenize.gperf instead.

Signed-off-by: Perrin "kAworu" Alexandre <kaworu(a)kaworu,ch>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 16:22:42 +02:00
Julien Danjou 654bfae6f7 util: add fieldsizeof and fieldtypeof macros
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 15:56:04 +02:00
Julien Danjou a8115bd45e luaobject: ref take index number as argument
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 17:15:20 +02:00
Julien Danjou f8d549139f array: add bisect-style insert and lookup
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 17:10:55 +02:00
Julien Danjou 6b24af7238 luaobject: define an common object and a standard gc 2009-06-16 16:17:31 +02:00
Julien Danjou a04ad58004 tokenize: remove useless floating token
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 16:26:11 +02:00
Uli Schlachter 42865a54ef Sort the tokens in tokenize.gperf alphabetically
This is done with vim:
ggVG:sort i

(Yes, this is a case-insensitive sort)

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 16:24:08 +02:00
Julien Danjou be238512cc awesome: dump backtrace on SEGV/ABRT
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-05 15:00:37 +02:00
Julien Danjou c00aa8fd5e util: import a_strhash()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-05 14:44:38 +02:00
Julien Danjou 7cc0b13eae wibox: move position handling to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:30 +02:00
Julien Danjou 1ef09fa8e6 luaa: add font_height in awesome module
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:17 +02:00
Ciaran McCreesh 933dc50db9 Fix build with assertions enabled.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-04 08:56:14 +02:00
Julien Danjou c378343a64 key: add .keysym to return keysym name
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-30 00:11:38 +02:00
Mariusz Ceier 7010ffd164 Fix foreach macro
Fixes support of break/continue statement

Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 21:13:37 +02:00
Julien Danjou 505245a5ff array: fix foreach statement
We continously check for len, and build var upon each iteration so we
are sure we never go away in memory.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 19:54:07 +02:00
Julien Danjou 600299a19f key: restore proper support of keysym resolution
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 18:17:16 +02:00
Julien Danjou 3eb14d7c76 luaa: move version and release to awesome module
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 16:21:50 +02:00
Julien Danjou 56225a39fe array: check that we are still in the tab
If the array is modified while we are running the foreach() loop, the
tab of the array may be reallocated, so var can be totally out of the
memory: check for that.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 08:34:13 +02:00
Julien Danjou 324387bfed util: remove useless asprintf macro
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-26 20:22:44 +02:00
Julien Danjou 6ff72afd90 buffer: add buffer_addsl() for literal strings
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-26 20:21:54 +02:00
Julien Danjou cbcbb68f7e xutil: remove useless conversion function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-26 12:34:13 +02:00
Julien Danjou c8b758ac48 key: add __index metamethod
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-25 16:00:08 +02:00
Julien Danjou 6ee3e9d7c0 xutil: add xutil_key_mask_tostr()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-25 15:59:22 +02:00
Julien Danjou 467737250c dbus: allow usage of the system bus
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-18 16:07:31 +02:00
Julien Danjou 24b82772d2 atoms: drop useless strlen usage
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-18 13:37:01 +02:00
Julien Danjou 9d48852fed util: remove fd_set_close_on_exec()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-18 11:39:06 +02:00
Julien Danjou a6f60c8e41 slist: remove
We do not use linked list anymore.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 23:27:16 +02:00
Julien Danjou f473a107b0 cleanup #includes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:52:25 +02:00
Julien Danjou efc3cc4c15 xutil: fix proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 14:43:59 +02:00
Julien Danjou 5db54fc731 xutil: fix proto of key mask translator
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 14:43:59 +02:00
Julien Danjou f168bbdfa4 key: add support for modifier mask Any
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 14:43:58 +02:00
Julien Danjou 1a18088da5 key: stop ignoring arbitrary modifier
Before, we used to ignore Mod2 and Lock.
This is now configurable.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 12:01:55 +02:00
Julien Danjou d5596c06ed xutil: remove useless error functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 12:01:55 +02:00
Julien Danjou cda33ca3e6 key: cleanup modifiers system
We stop retrieving useless key, since we have constant.
We also grab correctly all keycode for a keysym.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 12:01:54 +02:00
Julien Danjou e4f7e99c3f client: add support for _NET_STARTUP_ID
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-14 12:47:10 +02:00
Julien Danjou 3173e698da refcount: remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Julien Danjou a1480ef7d8 luaobject: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:32 +02:00
Julien Danjou 87c3c02b72 array: add a set of useful functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:32 +02:00
Julien Danjou e145afec53 array: add foreach() statement
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:32 +02:00
Julien Danjou 09b166d71e version: remove product name
We only ship one binary now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-08 18:53:53 +02:00
Julien Danjou c95e73ee61 buffer: remove useless buffer_add_xmlescaped()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-08 18:08:44 +02:00
Julien Danjou 7dbb02adf3 awesome-client: remove socket code
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-08 17:56:25 +02:00
Julien Danjou d441254412 util: remove a_strsplit()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-07 18:00:55 +02:00
Uli Schlachter 4722ba6c10 socket: set close on exec
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-02 13:43:18 +02:00
Julien Danjou 9a7381d02a util: add fd_set_close_on_exec()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-02 13:41:06 +02:00
Uli Schlachter 638f9651e5 Remove unused tokens from common/tokenize.gperf
This list was generated with the following shell script snippet:

for x in $(tr "[a-z]" "[A-Z]" < common/tokenize.gperf)
do
  y="A_TK_$x"
  if git grep " $y[:)]" > /dev/null
  then
    : echo found: $y
  else
    echo not found: $y
  fi
done

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-28 14:44:41 +01:00
Alex Cornejo 07d8168a45 Removed unused display variable.
I just realized this variable was unused in the original code, and in my
patched version. I removed it.

Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-28 09:26:51 +01:00
Alex Cornejo 2689852e45 Changed socket interface to support fallbacks.
Now we support a list of fallback targets when opening the socket, and
socket binding/connect is done inside socket.* instead of luaa.c or
awesome-client.c

Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-20 08:28:36 +01:00
Alex Cornejo 96cf05f002 Fixed socket usage to work with AFS home folders.
On corporate/university environments it is not uncommon for the home
folder of each user to be hosted on OpenAFS (so you can work from any
terminal and IT services can backup everything at will).

However it is not possible to create sockets in AFS, hence when awesome
attempts to create a socket at ~/.awesome-ctl it fails. To fix this
awesome now uses /tmp/.awesome-ctl as a fallback before giving up.

Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-18 08:20:32 +01:00
Julien Danjou 17e2d9e58f client: remove _AWESOME_TAGS property
We use EWMH hints.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou cc2b8f4e89 client: remove useless _AWESOME_FULLSCREEN
We use EWMH hints, it's enough.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 9db9abd02a client: remove _AWESOME_FLOATING
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-26 12:35:46 +01:00
Julien Danjou a89ceecb1d xutil: handle COMPOUND_TEXT blindly
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-20 11:47:56 +01:00
Julien Danjou a95fc407b5 client: add .id field
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-18 16:53:42 +01:00
Julien Danjou ada983d08e ewmh: add missing window types
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-13 11:25:38 +01:00
Julien Danjou af95800df1 ewmh: add support for _NET_DESKTOP_GEOMETRY
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-13 10:57:42 +01:00
Mariusz Ceier 01eff69bf4 client: fix focus subsystem
We don't need to unfocus currently selected client.
Added WM_TAKE_FOCUS atom, so we can implement correct ICCCM,
focus behavior, in relation to Input Models ( sections 4.1.7 [1],
4.2.7 [2] ).
Currently correctly implemented are, "No Input", and "Passive"
models, and additionally works "Locally Active".
To test focus-in and focus-out events I used program from [3].

[1] http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7
[2] http://tronche.com/gui/x/icccm/sec-4.html#s-4.2.7
[3] http://mail.gnome.org/archives/gtk-devel-list/2001-November/msg00334.html

Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-11 18:54:02 +01:00
Maarten Maathuis 8e58460109 client: add above and below to capi + related fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-09 12:30:19 +01:00
Gregor Best c242657c3b awesome: add selection() for getting the primary X selection
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-03 11:52:24 +01:00
Julien Danjou d6dbb00f10 client: add support for input faking
This is done using XTest extension.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 17:03:17 +01:00
Julien Danjou bdbcd9352d client: add content property
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 15:21:00 +01:00