Commit Graph

672 Commits

Author SHA1 Message Date
Julien Danjou cfa9de3126 client: remove useless skip attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 8543dfae5c client: add support for the sticky attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 5449374e3d client: check for visibility before arranging
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou 3b895d84ed mouse: rework mouse buttons API, support release events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Arnaud Fontaine 00d8a0cddd Update to new xcb-util library.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-15 14:02:23 +02:00
Julien Danjou e25ed3d8a5 client: execute urgent hook also when removing urgent hint
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-11 17:01:52 +02:00
Julien Danjou 118f504dc6 client: screen focus is handled by phys_screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-06 09:18:23 +02:00
Julien Danjou 5e9e28e205 client: do not call need_arrange, use mayvisible
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-04 10:52:54 +02:00
Julien Danjou faabdff547 client: call need_arrange before changing attribute
Otherwise it may be not visible after.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-04 10:33:54 +02:00
Julien Danjou 7b00a2baf0 systray: reparent windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-01 17:54:53 +02:00
Julien Danjou 4301642ba3 client: wipe class hint struct
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28 19:28:18 +02:00
Julien Danjou 442eb739c7 client: add support for WM_WINDOW_ROLE access
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28 11:29:21 +02:00
Julien Danjou 070155d4a9 client: fix bad commit
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-26 19:39:12 +02:00
Julien Danjou 87a89b6aa1 use xcb_flush; move refresh stuff in common function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-26 19:35:37 +02:00
Julien Danjou 8da2f939cd client: simplify condition in visible get
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-21 16:33:29 +02:00
Julien Danjou 726550af4e client: print deprecate warning before return
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-21 08:13:03 +02:00
Arnaud Fontaine d755a6bb64 client: when redrawing a window, set the mouse focus on this window if
it has been performed on this window.
2008-08-21 08:12:52 +02:00
Julien Danjou e02fc5aacb client: make coords a method
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 12:00:22 +02:00
Julien Danjou c5dfc8a40a titlebar: set to NULL after unref()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 14:41:12 +02:00
Julien Danjou da9f6bbceb xutil: remove XUTIL_ANY_MODIFIER
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 10:59:40 +02:00
Julien Danjou 065d7f8a86 lua: otable can now be index by object values
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-17 07:52:04 +02:00
Julien Danjou d975ee2ec1 client: rework and document opacity field
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-15 02:00:58 +02:00
Arnaud Fontaine cc367647e7 window: rename functions according to the rest of code 2008-08-13 19:06:20 +02:00
Julien Danjou 871285551d client: export tags as a function
That makes more sense.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 17:49:57 +02:00
Arnaud Fontaine 9e3fbfdb4b ewmh: make ewmh_window_icon_get() asynchronous
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 12:31:12 +02:00
Arnaud Fontaine 193a73c5d9 draw: make xcolor_init() asynchronous. 2008-08-12 14:53:57 +02:00
Julien Danjou c2f8275bf8 client: deprecate client_get() and client_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 12:17:19 +02:00
Julien Danjou 1fbe4f0d5e ewmh: store NET_WM icon
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 23:10:02 +02:00
Arnaud Fontaine b655f6348c xutil: rename xutil functions according to the rest of code. 2008-08-11 18:05:35 +02:00
Julien Danjou 8d1f20c5ad client: implement maybevisible(), and use it for maprequest
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:57:57 +02:00
Julien Danjou 4b2293d43d client: rewrite focus()
Hidden client are not more hiddent if focus requested (FS#245)

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:51:54 +02:00
Julien Danjou fb093696bb clients: add icon_name support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:41:42 +02:00
Julien Danjou 32167500c6 client: add support for WM_CLIENT_MACHINE
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:09:44 +02:00
Julien Danjou 415defdba5 client: allow screen change only if xinerama is active
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 10:32:59 +02:00
Julien Danjou 9cb22b96eb lua: exports client.tags and tags.clients
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-07 16:39:45 +02:00
Julien Danjou cbfc510fbf client: change screen if screen is !=
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 21:25:06 +02:00
Julien Danjou 938170fe14 client: fix memory leak in client title update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 17:37:26 +02:00
Julien Danjou db9e50e728 event: fix memory leak on client size hints update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 16:13:42 +02:00
Julien Danjou ebb7000cee client: reduce server grabbing time
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 14:06:51 +02:00
Julien Danjou 254a39b6d3 statusbar: handle systray invisibility
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-05 16:59:54 +02:00
Julien Danjou 81ae462a70 focus: remove focus history
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:30:01 +02:00
Julien Danjou 1cc071e24f client: add refcount for clients
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:29:45 +02:00
Julien Danjou 2dcd2d11cb client: update titlebar geometry on floating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-30 10:40:21 +02:00
Julien Danjou 4ef2cdffc9 client: update titlebar geometry on border width change
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-30 10:04:03 +02:00
Kanru Chen f36acc7384 client: expose .urgent
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 16:02:36 +02:00
Julien Danjou 752e47b19d client: call unfocus hook after unfocusing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 14:58:58 +02:00
Julien Danjou 6329a9801a client: use xcb API for urgency
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 17:57:10 +02:00
Julien Danjou 2555a72e63 xutil: use xcb_get_wm_transient_for instead of xutil fct
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 17:54:33 +02:00
Julien Danjou 80b79717ba various documentation update for _index()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 16:03:38 +02:00
Jay Bromley 982a8e4c52 client: return instance and class (FS#236)
The problem seems to be that while a function can return multiple
values, an index cannot.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-26 08:45:35 +02:00
Julien Danjou 053ae6dce6 client: check for focus on unmanage before removing client
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-23 09:20:25 +02:00
Julien Danjou 36fd44d1a0 draw: add char len as arg of xcolor_init()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:30:16 +02:00
Julien Danjou f28b4c07b2 tasklist: stop using client markup
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 11:02:11 +02:00
Julien Danjou 015f529928 documentation update and disallow tag name change
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 11:02:10 +02:00
Julien Danjou 3f46ec2152 tasklist: use a callback for label
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 12:12:52 +02:00
Julien Danjou 1009d6a992 client: add support for pid
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 18:34:32 +02:00
Julien Danjou 00e9af11b8 client: fix title update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 18:04:08 +02:00
Julien Danjou 3de2bf3918 dbus: add client support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 10:54:57 +02:00
Julien Danjou 1d64f8231c client: use atom name to update title
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 08:42:39 +02:00
Pierre Habouzit 46ea7c45aa Get rid of the color name, and generate a #RGBA value on the fly if needed.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 11:09:10 +02:00
Pierre Habouzit 924078c898 Streamline xcolor_t.
Do not have a ->name char * field, but a char[32] instead.  This isn't a
big problem, the longest color in /etc/X11/rgb.txt is 23 chars long, and
if it becomes a problem one day, one could just strip the name and
generate an hexadecimal representation on the fly instead. But allocating
the name is asking for a lot of trouble.

Since we do not allocate anything anymore, just don't allocate anything
anymore at all, it avoids the mess of xcolor_copy/_wipe and fixes a lot of
sleeping bugs (p_dup were used e.g., which is wrong).

Pass xcolor_t *, xcolor_t becomes too big to be passed by value. Add
consts at some places.

xcolor_new allocates nothing, hence is renamed xcolor_init, has xcolor_t
as a first argument (OO-style, this is self), and doesn't touch the
structure at all if it returns false, which allow us to skip a lot of
intermediates values.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 10:36:46 +02:00
Julien Danjou 52ba1392c6 client: merge titlebar_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:19:23 +02:00
Julien Danjou 8646d06fab client: merge coords function into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:08:27 +02:00
Julien Danjou e4db1a3b86 client: merge class hints into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:56:53 +02:00
Julien Danjou fc38d32052 client: merge floating placement into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:46:43 +02:00
Julien Danjou 014214794a client: merge screen_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:39:52 +02:00
Julien Danjou b9e8307f60 client: merge border_set into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 20:07:21 +02:00
Julien Danjou 2b1101daee client: merge honorsizehints into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:59:36 +02:00
Julien Danjou d7c70c57b5 client: merge floating_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:55:18 +02:00
Julien Danjou 495fd3d8e7 client: merge opacity into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:52:25 +02:00
Julien Danjou 3f5b80c39d client: missing break
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:49:35 +02:00
Julien Danjou 7e95166629 client: merge icon path into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:49:14 +02:00
Julien Danjou 86df357a2b client: merge hide into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:43:23 +02:00
Julien Danjou a07b726714 client: add index, move name functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:37:46 +02:00
Julien Danjou 9b74cdbc0a draw: iso2utf now gets len as arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:44:19 +02:00
Julien Danjou b584b19104 atoms: add all used atoms
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:55:14 +02:00
Julien Danjou 14061b4e7a systray: move KDE handling into client_manage()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 13:09:24 +02:00
Julien Danjou 207f06d720 systray: add KDE work around
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 13:06:23 +02:00
Julien Danjou 35e948f53b draw: xcolor_t store color name
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 13:30:17 +02:00
Julien Danjou 2af9121ca2 client: delete _AWESOME_PROPERTIES on unmanage
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 11:46:51 +02:00
Julien Danjou fedab2270d client: save props on raise
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 11:39:10 +02:00
Julien Danjou bf253ba3bc client: split stack/raise
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:49:54 +02:00
Pierre Habouzit a67e5023c0 If awesome believes we have the focus, well, do not unfocus ourselves.
This avoid flickering when you repeteadly click on a client.
Also make the function client_focus void, it always returned true, and
nobody cares about the result.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 09:34:47 +02:00
Julien Danjou 013b2afe62 remove useless #include
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 18:10:45 +02:00
Julien Danjou 086bada825 client: split out of setfloating layer handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 22:26:53 +02:00
Julien Danjou db88877587 lua: split getopt_string/getopt_lstring; fix mouse corner
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 17:33:05 +02:00
Julien Danjou 6ec76c3b97 client: honor size hints is now by client
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 15:42:07 +02:00
Julien Danjou 3e6dbd64ee client: set fullscreen/modal windows on top of statusbars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 13:41:25 +02:00
Julien Danjou ec414ae39b systray: set orientation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 19:56:10 +02:00
Julien Danjou f27fd17fd4 systray: send event with NO_EVENT mask
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 17:54:39 +02:00
Julien Danjou 1f4e55e432 client: rename hide API
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 13:44:15 +02:00
Julien Danjou 333d76d14e client: fix raising of systray windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 09:01:32 +02:00
Pierre Habouzit 17744fc81d Be more on the safe side.
it's useless to escape anything if text_len is 0, also some clients seem
to have a NULL name, so use NONULL(p->priv).

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 18:55:29 +02:00
Julien Danjou 9ad5f651fe client: use a_str()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 17:49:15 +02:00
Pierre Habouzit 14f4e02e66 Replace tag_t lists with arrays.
This improves lots of code efficiency (we *know* how many tags we have
now, YA'RLY).

Also fix a \todo in client.c: since knowing the number of tags is cheap,
ignore props that don't match it.

Use many p_alloca for things that depends on the number of tags (no sane
user will have *thousands* of tags. This saves a few more mallocs.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:37:19 +02:00
Julien Danjou 341f58b9f6 client: fix placement doc
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 15:49:27 +02:00
Julien Danjou 4711f4631f systray: restack on client raise
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:53:31 +02:00
Julien Danjou 446df09acc cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:14:47 +02:00
Julien Danjou ab5119732d use more tokenizer, with len
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:01:33 +02:00
Julien Danjou c67c237bba client: move floating_placement_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 11:41:16 +02:00