Commit Graph

920 Commits

Author SHA1 Message Date
Julien Danjou 6430738f17 client: stop using otable
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-14 13:47:50 +01:00
Julien Danjou 84ee8f1f92 event: implements Bob Marley version 2
Version 1 was supposed to store somehow the mouse coordinates to drop
spurious EnterNotify.

Now, we use a simpler way: we just tell the X server we do not want to
receive this events while we are arranging, since we would get spurious
ones.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 17e2d9e58f client: remove _AWESOME_TAGS property
We use EWMH hints.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou cc2b8f4e89 client: remove useless _AWESOME_FULLSCREEN
We use EWMH hints, it's enough.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 8745d691fe buttons: change grabbing method
We stop grabbing buttons on root windows. We select button press and
release events, and then we check that we have a bindings for them.
This allow to simply grab buttons on client once, and not redo such
things on arrange or mouse-over-window changes.

Most window managers do like this, anyway.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 5154cfc19f remove deprecated functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 9b654095ec client: add Globally Active Input Model (GAIM)
with small fixes, changes:
- client_focus handles case when c==NULL
- don't focus on already focused client

- added window_takefocus function, that sends WM_TAKE_FOCUS client
  message. It is needed by GAIM and Locally Active Input Model.
- moved invocation of lua focus hook from client_focus to
  client_focus_hook function.

- client_focus has one additional paremeter, sendmessage.
  It is used in FocusIn event handler, to disable sending SetInputFocus
  and WM_TAKE_FOCUS messages ( to avoid infinite loop )

Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-03 17:24:40 +01:00
Julien Danjou 9db9abd02a client: remove _AWESOME_FLOATING
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-26 12:35:46 +01:00
Maarten Maathuis c675bf64ec client: fix client_setborder
- Don't know why I didn't do this correctly in the first place :-|

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-20 09:48:34 +01:00
Julien Danjou f711503d7b client: call unfocus hook when we changed focused client (FS#454)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-19 16:27:06 +01:00
Julien Danjou a95fc407b5 client: add .id field
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-18 16:53:42 +01:00
Maarten Maathuis 4f447bcbdc Revert "client: remove a few useless client_need_arrange()."
This reverts commit c9caf05c2d.

- They were not so useless after all, the reason is that before or after setting the new state client_need_arrange() is a no-op.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-17 10:39:43 +01:00
Maarten Maathuis c9caf05c2d client: remove a few useless client_need_arrange().
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-16 10:34:53 +01:00
Julien Danjou ada983d08e ewmh: add missing window types
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-13 11:25:38 +01:00
Gregor Best 050a6bbb61 client: add client_seturgent() and remove urgent hint on focus
According to EWMH, the window manager is responsible for removing the
urgent state of a client. Also, this commit adds a new
client_seturgent(client_t *, bool) function to set the urgent state if
needed.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-11 19:04:09 +01:00
Mariusz Ceier 01eff69bf4 client: fix focus subsystem
We don't need to unfocus currently selected client.
Added WM_TAKE_FOCUS atom, so we can implement correct ICCCM,
focus behavior, in relation to Input Models ( sections 4.1.7 [1],
4.2.7 [2] ).
Currently correctly implemented are, "No Input", and "Passive"
models, and additionally works "Locally Active".
To test focus-in and focus-out events I used program from [3].

[1] http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7
[2] http://tronche.com/gui/x/icccm/sec-4.html#s-4.2.7
[3] http://mail.gnome.org/archives/gtk-devel-list/2001-November/msg00334.html

Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-11 18:54:02 +01:00
Maarten Maathuis fdee06fe31 client: fix titlebar stacking
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-11 01:56:57 +01:00
Maarten Maathuis 8e58460109 client: add above and below to capi + related fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-09 12:30:19 +01:00
Maarten Maathuis bd6e568083 event: fix configurerequest
- We have to be careful with geometry around protocol code.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-08 14:10:17 +01:00
Maarten Maathuis 0626d42396 client: change border handling slightly + remove some old cruft
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-08 14:07:18 +01:00
Julien Danjou 21e6db0049 client: reset transient_for on unmanage
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-08 14:00:30 +01:00
Maarten Maathuis 41b892291d client: implement client struts in the capi.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-08 13:21:20 +01:00
Julien Danjou 2c6dc1048d titlebar: correctly ban/unban (FS#443)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-05 17:55:59 +01:00
Julien Danjou a13f3fe553 client: handle tags assignment in awful (FS#441)
This also deactivate group management. This can be done in Lua now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-03 12:20:17 +01:00
Maarten Maathuis b8a371864b client, titlebar: fix some issues involving titlbars and dialogs.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-03 10:32:00 +01:00
Julien Danjou 6c963a6eed client: check tags even after transient/group tag copy (FS#434)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-03 10:24:04 +01:00
Julien Danjou 2a2ce6e83e client: switch to xcb-icccm 0.3.3
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-31 16:03:06 +01:00
Julien Danjou b878e1491f client: reset height and width on unbanning
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-30 15:07:49 +01:00
Julien Danjou 9e89753018 client: change stacking order
We had:
ontop clients -> ontop wiboxes -> fs clients
Now:
fs clients -> ontop clients -> ontop wiboxes

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-30 12:46:37 +01:00
Julien Danjou f82ac1972f client: make `ontop' windows under fullscreen
`ontop' wiboxes will also be on top of `ontop' clients.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-30 10:47:54 +01:00
Julien Danjou d08b04ce9d client: move client to screen correctly if belonging to a group
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-23 15:34:00 +01:00
Julien Danjou 33d3aeb7d0 client: do not honor groups if physical screen are different
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-23 11:11:26 +01:00
Julien Danjou 1d759531c4 client: add explicit braces
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-18 11:01:48 +01:00
Gregor Best 51d6df2483 client.c: fix deprecation of honorsizehints
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-11 19:11:48 +01:00
Julien Danjou d02403e6b9 event: fix ConfigureRequest handling (FS#424)
ConfigureRequest are sent with real X windows size, not fake size with
border and titlebar.
So we need to re-add size of borders and titlebar before calling
client_resize(), otherwise we set a X size the client can considers wrong
and then we start loopin forever since we do not handle its request to
be sized correctly.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-10 10:03:41 +01:00
Julien Danjou d9c868b627 client: implements per-client key bindings
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-05 16:59:20 +01:00
Mariusz Ceier 2e345fbcda client: allow selection of nofocus windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-02 11:24:48 +01:00
Julien Danjou d6dbb00f10 client: add support for input faking
This is done using XTest extension.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 17:03:17 +01:00
Julien Danjou 9f47cb4d01 client: document content property
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 15:28:24 +01:00
Julien Danjou bdbcd9352d client: add content property
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 15:21:00 +01:00
Julien Danjou d779aa6c40 client: client screen change at manage is done in Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 12:26:01 +01:00
Julien Danjou cd667802db hooks: manage gets an extra startup arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-29 12:23:37 +01:00
Arnaud VALLAT ba6f5e42bb ewmh: add suport for _NET_ACTIVE_WINDOW message
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-15 10:47:07 +01:00
Maarten Maathuis 6e199bbd76 client, swindow: switch to a more convient definition of geometry
- In many places i see people correcting for border width and titlebars.
- This new definition is the equivilant of what used to be fullgeometry.
- The internal geometry is now contained to a few functions that few people ever touch.
- This should avoid confusion and make code easier.
- Also protect against several unsigned overflows.

Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:24 +01:00
Julien Danjou 7fb4d40e43 client: export size hints completely
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:24 +01:00
Julien Danjou 9d175377b8 client: stop duplicating size hints data
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:24 +01:00
Julien Danjou f6917a2288 client: rename oldborder and stop reseting on unmanage
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:24 +01:00
Gregor Best bc246c8b84 screen.c: fix movetoscreen for different sized screens
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Maarten Maathuis dbbe48898a client: Also check for struts on client_{ban,unban}
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Maarten Maathuis 0aba4013e9 client: Improve handling of transient windows.
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Julien Danjou 26da80f90a draw: remove custom markup support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Maarten Maathuis 8442bb10ca client: Use window groups to improve initial tag placement.
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Maarten Maathuis 81f460ed76 client: Remove a line of incorrect comment.
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Maarten Maathuis fbf28cc80d client: Expose leader_id.
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Maarten Maathuis 40c208a422 client: Expose group windows.
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Julien Danjou c3c20c4f8e client: move floating state handling to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Julien Danjou 26de388c4c client: add mouse_leave hook
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:22 +01:00
Julien Danjou 2037a053a9 layout: move layout code to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:21 +01:00
Maarten Maathuis d7f92fdf9f ewmh: Support all known non-override redirect window types.
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 19:19:29 +01:00
Julien Danjou e0de3b153e client: deprecate minimize in favor of minimized
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 19:19:29 +01:00
Julien Danjou 576a1e85fc client: maximize belongs to client internal
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 19:19:29 +01:00
Julien Danjou dc6583c3e0 client: rename geometries
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 19:19:29 +01:00
Maarten Maathuis f9c2ee62a3 client: reimplement client_{ban,unban} for more performance
- From now on clients shall remain mapped for their entire lifetime.
- This should seriously boost tag switching speed with composite active.
- A lesser improvement may be noticed in non-composite situations.
- Titlebars that are set to invisble are still unmapped.
  Since it would clutter the implementation and titlebars are cheap to render.
  Not to mention that invisible titlebars are pretty rare.
- It's safe to attach titlebars while the client is banned.
- Titlebars are explicitly removed at exit.

Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 19:19:28 +01:00
Julien Danjou 53a830aea1 mouse: move resize code to awful.mouse
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou 49bb7e87b4 mouse: remove client_move, move it to awful
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou d7784697cb client: check clients are different when swapping
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou 506e453a2f remove deprecated functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:40 +01:00
Julien Danjou e8186e687e client: fix returned value for non transient windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-07 11:08:00 +01:00
Julien Danjou c63657049f client: check KDE dock app before
Otherwise we leak the NETWM_ICON retrieval.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-07 11:05:21 +01:00
Julien Danjou b0090950a0 Revert "lua: do not use otable where table are enough"
This reverts commit a220d46850.
2008-12-04 16:55:40 +01:00
Julien Danjou a220d46850 lua: do not use otable where table are enough
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-04 13:29:00 +01:00
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