Julien Danjou
d1db6903fa
luaa: check that function is not NIL before pushing and calling
...
Otherwise we may push unused elements because dofunction() checked
_after_ if the function was nil, or not.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:48:23 +01:00
Julien Danjou
0e31cdfc62
client: fix titlebar stacking
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-18 10:39:42 +01:00
Maarten Maathuis
223c052760
client: drop unnecesary resize
...
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-17 20:26:14 +01:00
Maarten Maathuis
26cff63e42
client: fix typo
...
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-17 20:25:59 +01:00
Maarten Maathuis
bfcd5b14a2
client: Make sure the titlebar is visible.
...
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-17 20:25:21 +01:00
Julien Danjou
c63f16b233
client: geometry() honors size hints hint
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-17 16:25:54 +01:00
Michael Hofmann
2946aa3750
client: stack wiboxes on top of desktop windows
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-17 09:58:43 +01:00
Julien Danjou
9e877b57d2
client: fix translator for fixed window, add BELOW (FS#377)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-17 09:56:34 +01:00
Julien Danjou
d6964c2052
client: register floating geom if it comes from floating
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-15 14:18:49 +01:00
Julien Danjou
2e49d7554d
client: do not resend border width on resize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-15 14:18:24 +01:00
Julien Danjou
d45e5f8600
client: merge fullgeometry with geometry
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-14 20:26:48 +01:00
Julien Danjou
19038336a9
client: return real floating status
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-14 13:40:40 +01:00
Julien Danjou
3ebcc1aa5a
luaa: add more deprecation information
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-14 12:12:01 +01:00
Julien Danjou
bb05a3809a
client: document and rename size_hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-12 15:43:52 +01:00
Julien Danjou
9af7b53b84
client: add lower() method
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-12 11:27:58 +01:00
Julien Danjou
5d87bccbc2
client: add support for transient_for in Lua
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 15:43:04 +01:00
Julien Danjou
eac8a88daa
client: reduce transient client flickering
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 12:32:04 +01:00
Julien Danjou
79468cf3a1
client: fix fixed size detection and resize blocking
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 12:10:06 +01:00
Julien Danjou
922f5a50da
client: handle fixed window stacking and DIALOG windows
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-06 16:05:43 +01:00
Julien Danjou
207df8e2b0
luaa: change deprecate() with more useful info
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-05 11:54:08 +01:00
Julien Danjou
2d753ba228
client: move to screen after checking hints
...
If we do the opposite, a window which is floating considering its EWMH
attribute may never get a move-resize request so its f_geometry will be
registered only.
Since we put it after with this patch, it screen_client_moveto() will
send correctly the move-resize request.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-05 10:24:23 +01:00
Julien Danjou
46dfccd95f
client: fullscreen do not care about padding
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-03 19:49:01 +01:00
Julien Danjou
42d7bd49ab
client: fix ontop wibox stacking
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-03 16:54:13 +01:00
Julien Danjou
9ce1f986d9
client: better handling of transient windows stacking
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-03 14:39:38 +01:00
Julien Danjou
85c7bf07c9
luaa: merge tostring() with DO_LUA_NEW
...
Also use the same format as standard Lua for tostring output.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-26 16:15:49 +01:00
Julien Danjou
737a70f60c
remove a bunch of useless #include-s
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-24 20:57:29 +02:00
Julien Danjou
c954c33261
cnode: move struct to cnode header
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-24 20:40:02 +02:00
Julien Danjou
d3ceff0282
structs: move some define out
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 17:37:14 +02:00
Julien Danjou
5ab2497b43
client, screen: use geometry rather coords as keyword
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 15:31:52 +02:00
Julien Danjou
2a36b021d1
client: icon_name is stored and watched
...
This permits to update tasklist on icon name changes.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 15:15:28 +02:00
Julien Danjou
862fe193ee
Rewrite {tag,task}list in Lua.
...
This removes the C implementation of taglist and tasklist widgets and
use a Lua one.
This works by letting .widgets property of wiboxes to be a table with
table, and setting a special metatable on them which notify awesome on
newindex events, updating wiboxes.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-20 20:06:09 +02:00
Julien Danjou
5c8a4dee4a
client: export skip_taskbar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-20 17:27:52 +02:00
Julien Danjou
ba66ae8035
hooks: add clients hook
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-20 15:04:56 +02:00
Julien Danjou
c9d9d45ab5
client: do not allow to modify name
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-19 18:51:21 +02:00
Julien Danjou
71f999eb7f
client: change isprotodel to hasproto()
...
That's more generic.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-11 09:38:48 +02:00
Julien Danjou
45f7029fb9
client: push splash and dialog on modal layer
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-02 12:34:22 +02:00
Julien Danjou
caa63d43d7
client: export size hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 11:45:41 +02:00
Julien Danjou
5709435392
wibox: rework, merge titlebar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:42 +02:00
Julien Danjou
2dfde8c181
util: remove off position
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:27 +02:00
Julien Danjou
08b0d71db3
wibox: add ontop attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:27 +02:00
Julien Danjou
f374210382
client: add property hook
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:27 +02:00
Julien Danjou
8a24f5c840
client: resize returns void
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:27 +02:00
Julien Danjou
0feb7de68e
wibox: merge statusbars and titlebars Lua objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 14:34:43 +02:00
Julien Danjou
34fe130307
wibox: merge statusbar and titlebar types
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
2e17f8a662
swindow: do not store phys_screen; store border color
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
44ef511aed
screen: store statusbars as array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
adf732dd9f
titlebar: remove old position attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
4193e81fa8
screen: merge with xscreen, remove screens_info
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
f57d28d894
client: client.get() supports screen as argument
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
6666060d87
client: introduce isvisible()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
ee113b2747
client: deprecate visible_get
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
8a7e522ba1
ewmh: update window hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
6ac0c4130c
image: merge draw_image_t and image_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
6c8d2d1e8e
client: open transient windows on the same screen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
2be620618b
property: use xcb property handler system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
856192fa99
client: merge icon_path and netwm icon
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
6a5ad6af9b
common: move draw, xscreen and swindow out
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
d439c5660e
client: add a DOCK layer
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
02c3e360a8
client: floating state is only for normal type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
e0d3da455b
client: split minimized out of hidden
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
bf451445c3
client: stop default tagging of sticky windows
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
126e2dc0ec
client: inline isvisible()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
b4d89eec6c
screen: move screen_getbycoord()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
3a45831242
client: manage take phys_screen as arg
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
fcde8d229b
ewmh: add support for _NET_WM_STRUT_PARTIAL
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
e0629272b5
client: honorsizehints is now default
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
506a4200c6
client: support input focus hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
b44a1fea35
titlebar: restack clients on titlebar add
...
This is mandatory since we do not know where the client is on stack.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
8b21d64df6
client: export window type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
427679b0fa
client: use a type attribute for NET WM window type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
34d49ac4ee
client: store size hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
eae8afdd7e
client: remove deprecated focus_{set,get}
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
63b5e65ebd
placement: deprecate in favor of awful.placement
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
93b39757d2
client: now support fullcoords, with border and titlebar included
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
7cf2b6615f
client: split X props; handle fullscreen status
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
5d841ee386
client: export fullscreen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
abb497fa56
client: rework all stacking stuff
...
- Stacking is now per attribute
- Fullscreen does not imply isfloating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
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
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
Michael Gehring
1c570feff7
client: add hassizehints
2008-06-18 18:48:38 +02:00
Julien Danjou
92f369e3aa
lua: userdata_new is now macro
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 18:31:35 +02:00
Julien Danjou
694f97e4d7
titlebar: set above client edge border
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 17:05:10 +02:00
Julien Danjou
7709b22261
titlebar: fix titlebar rendering in tiled mode
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 14:04:24 +02:00
Julien Danjou
32a73f9ae6
titlebar: add support for border, refactorize code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 11:22:54 +02:00
Julien Danjou
1cfc00f605
ewmh: fix various client list updates
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 23:20:03 +02:00
Arnaud Fontaine
b9e1ec69d0
Replace xcb_aux_get_screen() by a safer function
2008-06-17 17:14:00 +02:00
Julien Danjou
26738c4dab
xshape: remove, nothing prove it's really useful
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 15:06:05 +02:00
Julien Danjou
5bae1f0c37
window: rework root_grabbuttons()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 14:35:58 +02:00
Julien Danjou
16646c86ab
lua: __eq methods are not macros
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 11:37:55 +02:00
Julien Danjou
79eedb2f06
client: split out atom request on kill
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:37:34 +02:00
Julien Danjou
7707dd69c6
client: split out atom requests
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:34:15 +02:00
Julien Danjou
1142c382f7
mouse: make button bindings objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 15:35:47 +02:00
Julien Danjou
008cf2b340
ewmh: add modal windows support and a modal layout
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 14:41:42 +02:00
Julien Danjou
0fd1779b3a
[client] Restack clients on manage
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 13:12:38 +02:00
Julien Danjou
e6b14c1d39
[client] Fix border width setting
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 08:14:54 +02:00
Julien Danjou
11e93c2dbf
[client] Fix titlebar destruction
...
We need to unref AFTER...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:38:40 +02:00
Michael Gehring
276f5f8849
[doxygen] Add \lvalue and convert existing doc.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:36:34 +02:00
Julien Danjou
213b2190ed
[client] Fix typo
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:48:38 +02:00
Julien Danjou
f11c913bc4
[lua] Fix gettop() usages
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:32:26 +02:00
Julien Danjou
88c76cadf4
[titlebar] Allow nil to be arg of titlebar_set()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:35:38 +02:00
Julien Danjou
e9bfdcf681
[client] Documentation update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:29:53 +02:00
Julien Danjou
c5c75bf960
[client] Add ishidden() method
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:17:12 +02:00
Julien Danjou
4573147196
[hooks] Rename newclient to `manage', add unmanage hook
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 19:03:10 +02:00
Julien Danjou
df2770bb2f
[client] Loadprops use screen_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 15:15:13 +02:00
Julien Danjou
aa6bfc560a
[draw] Do inline UTF-8 conversion
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 07:32:35 +02:00
Julien Danjou
1049393840
Revert "Replace tags by workspaces"
...
This reverts commit 00f966ea04
.
Revert "[focus] Fix bogus arguments"
This reverts commit 816b5d16bc
.
Revert "[mouse] Fix bug with floating"
This reverts commit 89daa72790
.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 21:56:03 +02:00
Julien Danjou
ac1517bacb
[client] Add support for hide/unhide
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 18:24:12 +02:00
Julien Danjou
00f966ea04
Replace tags by workspaces
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +02:00
Michael Gehring
59c04890fc
[cleanup] random doxygen fixes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 17:13:09 +02:00
Julien Danjou
75cb6b81af
[screen] s/move_client_to_screen/screen_client_moveto/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 11:02:34 +02:00
Alex Cornejo
adedb9e397
Added get_class to client.
...
This is useful for writing rules in the awesomerc.lua, since
in the lua-less version it was possible to trigger rules based
on the class of the window (as opposed to the name).
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 14:53:57 +02:00
Julien Danjou
6ba90facb0
[client] Various documentation update and fixes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 09:27:16 +02:00
Julien Danjou
98119d5d3f
[lua] Check for object validity
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:27:10 +02:00
Julien Danjou
eb8378749b
[titlebar] Add titlebar_client_get()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 17:54:52 +02:00
Julien Danjou
5f2585d82e
[screen] s/get_display_area/display_area_get/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:34:11 +02:00
Julien Danjou
80ec848130
[client] Add titlebar_get()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 13:36:13 +02:00
Julien Danjou
aecc3c0e45
[titlebar] Store titlebar inside client
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 11:50:21 +02:00
Julien Danjou
1e08a992b8
[titlebar] Rewrote titlebar based on widgets
...
This is the new titlebar handling code, based on widgets.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 18:41:54 +02:00
Julien Danjou
930997898b
[client] Add unmanage function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 08:32:16 +02:00
Julien Danjou
c332971b21
[draw] Rename draw_color_new() to xcolor_new()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:34:38 +02:00
Julien Danjou
e39bb8eac6
[markup] Stop recomputing len, use slen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 07:52:29 +02:00
Julien Danjou
b24c0b286c
[client] Fix border_set documentation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 09:50:49 +02:00
Julien Danjou
3ab739553c
[client] Add and honor the noborder attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 14:33:45 +02:00
Julien Danjou
ebb56ce6b1
[client] Add a hook on urgent flag
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 11:08:48 +02:00
Julien Danjou
bc38b86c80
[client] Need arrange on focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 21:46:13 +02:00
Julien Danjou
e890297617
[client] Focus even if we think we already have focus
...
Because sometimes clients steal focus.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 21:34:52 +02:00
Julien Danjou
55b4c773d0
[client] Fix client_resize() comments
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 20:17:33 +02:00
Julien Danjou
0e3531d3a3
[client] Rework raise and mouse stuff
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 18:08:29 +02:00
Julien Danjou
93741f6b91
[client] Push client on stack list on manage
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 19:47:19 +02:00
Julien Danjou
c81dacf091
[client] Add proper stacking support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 19:32:30 +02:00
Julien Danjou
f6f74c4565
[client] Add client.name_set() function and hook on title update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:51:45 +02:00
Julien Danjou
d9dd1fba8e
Revert "[client] Remove ismax attribute."
...
This reverts commit fb822997b3
.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:42:20 +02:00
Julien Danjou
c9fde5a9f0
[client] Check that tag and client are on the same screen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 12:06:10 +02:00
Fabienne Ducroquet
1d8481fc9e
[client] Save geometry of windows when resizing in floating layout
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 08:26:39 +02:00
Julien Danjou
0bbd2d4b3e
Rename AwesomeConf to awesome_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:59:27 +02:00
Julien Danjou
67b2702b7d
[client] Remove newcomer attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 23:01:41 +02:00
Julien Danjou
db5430420d
[client] Create luaA_client_userdata_new() function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:56:03 +02:00
Julien Danjou
495b99f1c5
[focus] Rewrite focus handling on arrange.
...
Also add some documentation.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:48:27 +02:00
Julien Danjou
981b26cbc8
[lua] Add name_get() method and make mplayer floating by default
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou
a04417494b
[mouse] Rename Button to button_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou
0142f0efc9
[layout] Rename LayoutArrange to layout_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:11:59 +02:00
Julien Danjou
ccb2a2db77
[lua] Remove regex matching
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:17:02 +02:00
Julien Danjou
fb822997b3
[client] Remove ismax attribute.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:11:47 +02:00