Commit Graph

896 Commits

Author SHA1 Message Date
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
Julien Danjou e25434fe25 [client/tasklist] Reactivate icon drawing with client.icon_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 22:37:08 +02:00
Julien Danjou ec21647c87 [client] Remove useless client_get_byname()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:59:58 +02:00
Julien Danjou dc431ec430 [scratch] Remove scratch client support.
This can be done in Lua now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:47:29 +02:00