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
Pierre Habouzit
b4b381e947
Finish markup parsing rewrite to avoid mallocs.
...
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.
The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.
Speedup improvements could be done using gperf btw.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
Pierre Habouzit
37d69b8dcc
markup substitutions enhancements.
...
Do not preemptively allocate a g_markup_escape_text for substitutions,
just remember what we want to substitute markup with, and substitute it in
the final buffer efficiently.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:58:56 +02:00
Pierre Habouzit
943e2035fa
Rework the markup_parser_* allocation API.
...
We have a stack, don't be ashamed to use it.
Instead of:
foo_t *foo;
foo = foo_new();
/* work with foo */
foo_delete(&foo);
It's way better to:
foo_t foo;
foo_init(&foo);
/* work with &foo */
foo_wipe(&foo);
Remember: more mallocs == more fragmentation.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:17:12 +02:00
Pierre Habouzit
5c601dfd19
Use extensible buffers in markup parsing.
...
This should avoid quite a few malloc calls.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:12:42 +02:00
Julien Danjou
de0d6045ba
client: do not send request for WM_NAME
...
It's X standard.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 16:42:07 +02:00
Julien Danjou
46ead6ea3f
comments fixing
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 08:38:00 +02:00
Julien Danjou
7b15c1d6c0
client: set ICONIC on hidden, WITHDRAWN on ban
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 19:53:15 +02:00
Julien Danjou
a5478e5438
ewmh: add support for _NET_WM_WINDOW_TYPE_DESKTOP
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 19:51:58 +02:00
Michael Gehring
60591fe9bd
client: export client_geometry_hints
2008-06-18 18:48:38 +02:00