Commit Graph

4979 Commits

Author SHA1 Message Date
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
Uli Schlachter 5ad4cdcaf6 Inline client_real_stack()
This function is only called from one place and there is no reason not
to inline it there.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-19 09:34:35 +02:00
Julien Danjou b811880c54 client: fix icon value on changes
Sometimes we unref the icon image, but we did not reset NULL, which
can make the client refering to a not-refed image.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-18 12:13:00 +02:00
Julien Danjou 0eee6795df widget: remove useless assignment
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-18 10:21:11 +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
Julien Danjou 5eadbc0116 key: change setmodifiers to tomodifiers
This is more Lua compliant.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 17:05:47 +02:00
Julien Danjou 5c775b06c0 Update AUTHORS file
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 17:03:17 +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
Uli Schlachter d088b819f9 Remove globalconf.have_randr
This variable didn't really have any effect on anything. It was only ever
checked in a function that would never be called if this flag was false.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 15:53:08 +02:00
Julien Danjou acf4202143 dbus: do not exit on bus disconnection
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 10:27:54 +02:00
Julien Danjou 6d755c5524 tag: fix reference leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 17:16:45 +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 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 6b24af7238 luaobject: define an common object and a standard gc 2009-06-16 16:17:31 +02:00
Julien Danjou cbff5fe9dd awful: split D-Bus name from awesome
awful uses its own namespace in D-Bus

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 20:52:40 +02:00
Jonny Lamb 88be323e4a dbus: Use org.naquadah.awesome instead of org.awesome.
http://dbus.freedesktop.org/doc/dbus-specification.html#naming-conventions

Signed-off-by: Jonny Lamb <jonny@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 20:42:28 +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
Katherine McKinley 9c8efee9bf draw: fix NULL pointer passed to pango_parse_markup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-15 11:24:56 +02:00
Uli Schlachter bb6c309dfe ewmh: remove setabove for some non-normal windows
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-14 15:12:31 +02:00
Paweł Zuzelski 1fe239e577 unbash awesome-client
-e and -p options for read are bashizm, so awesome-client don't work
if /bin/sh is something other than bash (for example it fails with
pdksh which is default shell on PLD Linux).

The simplest sollution is 's,#!/bin/sh,#!/bin/bash,'. But I believe
that it is better to patch script so it will work with any POSIX
compliant shell.

Attached patch checks if shell is bash. If no it disables use of
non-standard read options.

I've also changed `` to $(), as backquotes are obsolete and
shouldn't be used.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-12 09:27:12 +02:00
Uli Schlachter b7f05f32c0 draw_context_t's depth member is unused, remove it
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-11 12:54:42 +02:00