Uli Schlachter
2b75950a8c
Add some missing class type checks
...
Some functions didn't check the class of objects they were passed but just
casted them to the type they expected. This lead to code like e.g. the following
to crash awesome:
c.titlebar = c
This adds a new function luaA_object_ref_class() which works like
luaA_object_ref(), but which also checks the class of the object.
Additionally, this function is now used in all necessary places.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:58:31 +02:00
Uli Schlachter
fa89775626
Add some missing luaA_checkudata() calls
...
luaA_object_ref_item doesn't check the type of object it returns which resulted
in stuff like this:
wibox.shape_clip = wibox
wibox.shape_bounding = wibox
imagebox.image = imagebox
textbox.bg_image = textbox
All of the above calls would result in a crash (unverified) and all of them
where fixed.
This should fix all places which use luaA_object_ref_item(). The others already
did a proper type check.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:58:30 +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
76fb212332
wibox: emit screen property::workarea change on {at,de}tach if wibox has strut
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-28 17:48:52 +02:00
Brian Gianforcaro
c9ec34e61e
Fix doxygen generation warnings
...
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-26 09:15:57 +02:00
Julien Danjou
6bffb904ef
wibox: activate BMA when mapping/unmapping
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-25 11:03:27 +02:00
Julien Danjou
0ca02db3c6
wibox: merge wibox_set_border_width code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 14:33:29 +02:00
Julien Danjou
4b495f4a74
wibox: remove wibox_opacity_set, doublon
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-24 14:29:46 +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
5fe32859f7
screen: emit signals when workarea size changes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
53ac109baa
wibox: add struts
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
d55a7e63eb
wibox: allow to change border_width
...
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
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
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
1cc50b8a29
luaobject: remove useless custom function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou
ada6056c89
color: do not take pointer to push
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:46:35 +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
8a0f2aca28
wibox: move set window cursor code to window.c
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-07 11:19:10 +02:00
Julien Danjou
6cecd54f5d
wibox: remove move() and resize()
...
We always use moveresize().
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-04 12:03:26 +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
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
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
c9caededca
wibox: fix geometry computing in regards to border width
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 11:04:59 +02:00
Julien Danjou
15b1b2d7c4
wibox: remove internal geometry
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 17:18:41 +02:00
Julien Danjou
13efd8a199
wibox: get rid of simple window
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 16:11:41 +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
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
Brian Gianforcaro
404ec8eb24
Fix doxygen generation warnings.
...
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 11:18:43 +02:00
Julien Danjou
2ca7149501
wibox: rebuild table at every draw
...
This will be necessary for using the new Lua layout system.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:37 +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
c95ba76d2f
luaobject: use object header and standard gc everywhere
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 16:26:45 +02:00
Julien Danjou
25b3e718d1
wibox: do not set need_arrange on wibox detach
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:41:58 +02:00
Uli Schlachter
a264acb1f0
Also track opacity for unattached wibox
...
Before this, setting w.opacity of a wibox that was not attached to some screen
had no effect, now this is cached and applied when the wibox is attached to
some screen.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-06-05 14:33:02 +02:00
Uli Schlachter
6b5e5f352c
Use the new simplewindow functions for managing a wibox' opacity
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-06-05 14:32:00 +02:00
Uli Schlachter
8d30ef7d43
Add a border_color parameter to simplewindow_init()
...
All callers immediately called simplewindow_border_color_set() anyway.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-06-05 14:31:15 +02:00
Julien Danjou
3f6ab274c0
wibox: all wiboxes go into one and only one array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:35 +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
0c564079b5
wibox: add property hook on screen and visible changes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:07 +02:00
Julien Danjou
fba4accc14
Revert "client: handle struts (a lot) better"
...
This reverts commit 264a81f3fb
.
Conflicts:
client.c
client.h
lib/awful/mouse.lua.in
screen.c
structs.h
wibox.c
2009-05-25 15:17:57 +02:00
Julien Danjou
43902aed69
luaa: fix memory leak in __gc
...
We need to wipe the ref_array.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 09:53:20 +02:00
Julien Danjou
fd40431e29
wibox: add missing documentation on objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-07 15:03:45 +02:00
qsd
e0c56d36e6
wibox: fix Left and Right wibox position computing (FS#512)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-27 21:49:24 +02:00
Julien Danjou
4a34693bfb
screen: remove index field
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-18 17:51:31 +02:00
Uli Schlachter
99b521b2c7
Rename luaA_pushcolor() to luaA_pushxcolor()
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-04-18 14:02:21 +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
486ef71a7f
screen: replace screens pointer by a screen_t array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:14:09 +02:00
Julien Danjou
9b61434f7e
wibox: fix memory leak with cursor
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-13 12:40:33 +02:00
Julien Danjou
a08794d7cd
client, wibox: unref image on garbage collection
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-13 12:36:23 +02:00