Commit graph

4652 commits

Author SHA1 Message Date
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
4c3e1cebf8 widget: fix element poping
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 09:39:06 +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
367b3e03d5 property: fix index
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 14:11:16 +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
f6d2aa3064 button, key: grab all keys by default, and check for match.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:42:31 +02:00
Julien Danjou
f4579d1dc1 Close Lua VM at exit.
This is useless, but can point out some problem.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:41:21 +02:00
Julien Danjou
8c08fffaa9 awful.widget: abuse new object item system
We do not need this since we store all Lua refs into env table of
objects.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:41:07 +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
fb3c5d90c7 event: push event/key objects and then call functions
This avoid the problem we can had while modifying globalconf.keys in a
callback function from a key or button event. Now we push all matching
objects on the stack, and call each callback function. If something
modify globalconf.keys, we do not care.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:30:06 +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
86cfe51540 Add an awful functions for rounded corners
This uses hexadecimal colors, because named colors require a round trip to the X
server and are thus slower. :(

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 14:23:59 +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
Uli Schlachter
154d3a0d4a Add image_to_1bit_pixmap()
This function converts an image_t into a 1bit pixmap.

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
Gregor Best
0d39054217 widget.graph/progressbar: add layout parameter to new()
Signed-off-by: Gregor Best <gbe@intepi.net>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 11:07:05 +02:00
Gregor Best
7c78e91a5b titlebar: add widget layout support
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:55 +02:00
Gregor Best
50ee299aef invaders: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:54 +02:00
Gregor Best
ea618d3688 awful.menu: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:53 +02:00
Gregor Best
2b69d333f8 naughty: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:53 +02:00
Gregor Best
1908bd3d57 awesomerc.lua: add support for widget layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:52 +02:00
Gregor Best
2820e5f2e8 awful.widget: add layouts
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:51 +02:00
Gregor Best
9890561fd5 systray: don't crap up on odd-sized windows
Basically, we get the size we want the systray to be drawn at upon drawing
the tray, thus removing the query to the xcb_get_geometry function. As all
windows embedded in the systray are squares, their size is equal to their
height, so we simply force the size to be wibox_height * n x wibox_height,
where n is the number of embedded windows, instead of deriving it from the
largest embedded window (which, for example in the case of wicd, would be
200x200, way too much for one window on a regular wibox).

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:50 +02:00
Gregor Best
aa9a7b1fc8 widgets: get rid of align attribute
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:49 +02:00
Gregor Best
6bbcb1f56e widgets: add bool widget_geometries(wibox_t *)
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:48 +02:00
Julien Danjou
18e96e360d awful.menu: add __call on module
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-15 15:57:31 +02:00
Gregor Best
fb68558b2f awful.client: call property hook on wfact change
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-15 09:42:08 +02:00
Gregor Best
7a73227108 awful.layout: fix call to :isvisible()
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-15 09:40:44 +02:00
Julien Danjou
458a770fd7 screen: add luaA_pushscreen
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-13 14:37:40 +02:00
Julien Danjou
e02384e4fe screen: use checkudata()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-13 14:37:09 +02:00
Uli Schlachter
cd862e80cd Add fibanocci layouts ported from the C version
This is based on the C code from commit b9320be372.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-13 11:36:15 +02:00
Gregor Best
c0f7c38237 awful.layout: also arrange on client tag change
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-13 11:23:07 +02:00
Julien Danjou
16376a9f7c screen: store default visual
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-10 16:26:49 +02:00
Gregor Best
9cd29814f0 awful.util: add table.clone
This is useful because tables get passed by reference instead of by
value, so we might end up modifying tables where we don't want it.

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Gregor Best
7a7314e068 awful.util: add table.reverse
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Gregor Best
b5fadb97cf awful.util: add table.keys_filtered
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +02:00
Gregor Best
f337b88a73 awful.util: add table.keys
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-07 14:42:38 +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
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
Uli Schlachter
855e2b9cdf Make awful.widget.graph work with zero values
First, we need to actually draw values which are zero, else the background
"shines through". Since this breaks the border (it draws over the border),
drawing the border needs to be done later.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-06 10:05:15 +02:00
Julien Danjou
7d143d4d71 build: remove useless variable
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-01 11:58:51 +02:00
Uli Schlachter
290cd49463 client_hasproto(): Use cached WM_PROTOCOLS
client_hasproto() now doesn't have to query the X server anymore.

This fixes FS#543.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-25 14:58:56 +02:00
Uli Schlachter
28b80648a8 Move window_setfocus and _hasproto to client_*
The only real change in here is the first hunk to client.c which needs to
inline client_setfocus(). Nothing else in here should be a 'real' change.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-25 14:58:55 +02:00
Uli Schlachter
f1b3583064 Add client_t::protocols
We now always know a client's WM_PROTOCOLS property without asking the X server.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-25 14:58:54 +02:00
Evan McClain
2cb34a30f2 awful.widget.progressbar: fix vertical gradient rendering
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-23 22:02:32 +02:00
Julien Danjou
a4209dc159 awful.util: fix typo in spawn description
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-22 17:45:20 +02:00
Julien Danjou
39efa6eb18 client: fix key array leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-22 17:18:06 +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
Uli Schlachter
55524ece8d Use a libev prepare watcher for calling awesome_refresh()
Before this, awesome_refresh() could be called multiple times per mainloop and
one had to make sure to add awesome_refresh() calls in the right places.

Now, the prepare handler is invoked just before libev puts the process to sleep
(e.g. by calling select()) and awesome_refresh() does its thing.

All redundant calls to awesome_refresh() are removed, but the one in
selection.c has to stay because this function blocks in xcb_wait_for_event()
without using libev.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-19 09:34:42 +02:00