Uli Schlachter
709619b466
Push the property requests down
...
Instead of calling each property handler with a property reply, it's now up to
the handlers to request the properties.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-09 13:04:08 +02:00
Gregor Best
5d0a81c8bf
fix some deprecated atom constants
...
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-08 21:43:23 +02:00
Uli Schlachter
da2a7aec0d
Fix an unbalanced lua stack operation
...
ewmh_process_state_atom() does a luaA_object_push() at its beginning, but it
doesn't pop that object again. Fix this by, well, popping the object at the end
of the function again.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-03 11:25:54 +02:00
Uli Schlachter
e291c03982
Handle _NET_WM_DESKTOP more intelligently
...
This makes sure that an invalid value for this property doesn't cause the client
to have no tag at all. This should be especially useful when one uses dynamic
tags and restarts awesome which causes less tags to exist than before.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-14 20:04:38 +02:00
Uli Schlachter
65dfdf01ce
Remove _NET_WM_DESKTOP when client got no tags
...
EWMH says that "Window Managers MUST keep this property updated on all windows",
but doesn't say anything about clients which got no desktop at all. Removing the
property seems to be the best we could do.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-14 20:04:38 +02:00
Julien Danjou
61430f860d
ewmh: use client signals to update NET_ACTIVE_WINDOW
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:36:35 +02:00
Julien Danjou
f4876b5275
ewmh: use signals to update client hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:29:34 +02:00
Julien Danjou
434a6e5275
ewmh: remove useless update_hints calls
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:29:22 +02:00
Julien Danjou
92717a0849
window: add strut support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:27:45 +02:00
Julien Danjou
9c020877dd
ewmh: remove _NET_WORKAREA support (FS#732)
...
This fixes problem with Qt 4.6.
Our implementation cannot be standard, and was not standard, so just
stop using this EWMH crap.
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-02-18 10:04:01 +01:00
Julien Danjou
8d36fefd15
image: remove bad usage of globalconf.L
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-11-10 10:48:23 +01:00
Julien Danjou
8e02306b7d
ewmh: fix toggle on maximized_horizontal
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-21 11:41:20 +02:00
Julien Danjou
e9ef51a521
wibox: move into objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:05 +02:00
Julien Danjou
6fa62a3029
widgets: move into objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:05 +02:00
Julien Danjou
e204473dfc
client: move into objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:05 +02:00
Julien Danjou
104e28778b
tag: move into objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:04 +02:00
Julien Danjou
4c178d5441
hooks: remove
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-20 20:42:04 +02:00
Brian Gianforcaro
c9ec34e61e
Fix doxygen generation warnings
...
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-26 09:15:57 +02:00
Julien Danjou
c57bef8332
ewmh: change ewmh_update_client_strut() to ewmh_update_strut()
...
It takes window + strut as argument rather than a client.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
efed142b97
client: emit property::struts on struts changes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
a02d026f77
client: port to new object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
a916f2cd55
image: port to new class system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
0eb0c49592
tag: make struct tag private
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
1cc50b8a29
luaobject: remove useless custom function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou
98953ed6f1
ewmh: fix bug with recent xcb-proto
...
The len is the real len is byte, not the number of elements.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-19 16:46:22 +02:00
Julien Danjou
2836c98ee5
ewmh, tag: simplify ewmh_update_net_current_desktop
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-30 11:30:54 +02:00
Brian Gianforcaro
404ec8eb24
Fix doxygen generation warnings.
...
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 11:18:43 +02:00
Uli Schlachter
bb6c309dfe
ewmh: remove setabove for some non-normal windows
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-14 15:12:31 +02:00
Julien Danjou
37d2b7f2a3
ewmh: do not call need_arrange on prop
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-08 12:07:06 +02:00
Julien Danjou
7cc0b13eae
wibox: move position handling to Lua
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:30 +02:00
Julien Danjou
e15aab73bf
screen: move padding in Lua
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:13 +02:00
Julien Danjou
f4e77bcab9
luaa: rename and change hooks_property macro()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:04 +02:00
Uli Schlachter
572622590a
Check that the property is as long as it should be
...
Before this, a _NET_WM_ICON could have been 5 bytes long but still claiming
that the image it describes is 100x100 pixel in size.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-19 08:40:58 +02:00
Uli Schlachter
3e64d05c3c
Restructure the code in ewmh_window_icon_from_reply() slightly
...
This is just a preparation for the following commit.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-19 08:39:45 +02:00
Julien Danjou
80e935455d
stack: remove client_node type and inverse order
...
We now use a client_array_t which is more efficient and we reverse the
array order compared to before.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 23:26:26 +02:00
Julien Danjou
f473a107b0
cleanup #includes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:52:25 +02:00
Julien Danjou
486ef71a7f
screen: replace screens pointer by a screen_t array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:14:09 +02:00
Julien Danjou
e4f7e99c3f
client: add support for _NET_STARTUP_ID
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-14 12:47:10 +02:00
Julien Danjou
4531a3a17c
tag: use new Lua object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Julien Danjou
541d4f565f
image: use new object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:32 +02:00
Julien Danjou
be752cc81c
client: change global linked list to an array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:32 +02:00
Uli Schlachter
95457c5ab7
Move the definition of globalconf into a header file
...
Pretty much every single source file needs this struct, so it makes sense to
define it in a common header instead of in every single .c file.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-10 16:32:42 +02:00
Mariusz Ceier
904502552f
Focus events handlers
...
- We are tracking focus, using FocusIn/FocusOut events handlers, so user
should never be confused about which client has focus
- window_setfocus function generates focus change requests to the X server
- client_focus uses window_setfocus to set input focus
- revert_to when setting input focus set to Parent, compliant with
ICCCM convention ([1])
- DEBUG flag for those who want to debug focus handlers
Most of the changes, are compliant with X11 handbook ([0]), but some
where obtained experimentally.
Kudos to Maarten Maathuis who helped a lot with this.
[0]
http://cgit.freedesktop.org/xorg/doc/xorg-docs/plain/hardcopy/X11/xlib.PS.gz
[1] http://tronche.com/gui/x/icccm/sec-4.html#s-4.2.7
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-07 15:42:25 +02:00
Maarten Maathuis
9aeda90738
client: add a "struts" property
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-28 14:40:06 +01:00
Maarten Maathuis
cf16379778
client: allow special non-transient windows to be !above
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-28 14:38:15 +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
ada983d08e
ewmh: add missing window types
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-13 11:25:38 +01:00
Julien Danjou
af95800df1
ewmh: add support for _NET_DESKTOP_GEOMETRY
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-13 10:57:42 +01:00
Mariusz Ceier
96ea073fc6
ewmh.c: Fix array size
...
If all state bits are set, ewmh_client_update_hints state buffer overflows.
Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-11 19:27:44 +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
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
34020c31f8
Update copyright years
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-02 11:58:52 +01:00
Julien Danjou
17928bc112
ewmh: add support for _NET_WM_DESKTOP update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-02 11:55:46 +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
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
Julien Danjou
12a327c10f
ewmh: fix buffer.h inclusion
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +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
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
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
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
eead324684
ewmh: order WINDOW_TYPE
...
Some windows might have several types, so takes the highest.
2008-10-02 14:07:42 +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
f374210382
client: add property hook
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:27 +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
44ef511aed
screen: store statusbars as array
...
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
8a7e522ba1
ewmh: update window hints
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
e18e83d291
ewmh: add support for _NET_WM_STATE_TOGGLE
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou
c8f58d7868
image: add function to create from argb32 data
...
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
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
2fad185fcf
ewmh: store netwm icon as draw_image_t
...
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
996e197ffb
ewmh: avoid useless p_new
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +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
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
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
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
11dfa832a8
factorize quit/exec elements, and reparent systray
...
That fixes FS#296.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-02 17:12:10 +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
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
Julien Danjou
1fbe4f0d5e
ewmh: store NET_WM icon
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 23:10:02 +02:00
Julien Danjou
be2bfdcfc5
screen: introduce screen objects
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 17:14:02 +02:00
Julien Danjou
a7c7ab2eb0
ewmh: check tags tab size
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-07 16:23:43 +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
bf209f87bb
ewmh: introduce and use netwm_icon_delete()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 16:44:57 +02:00
Kristof Provost
30aeb3f311
Reload awesome on SIGHUP
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-22 10:23:07 +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
b584b19104
atoms: add all used atoms
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:55:14 +02:00
Julien Danjou
5daa38ac2d
atom: new atom infra
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:25:01 +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
d9be65bb1b
ewmh: remove unused value
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 16:22:02 +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
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
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
Julien Danjou
b800cffd5b
ewmh: fix _NET_WORKAREA setting
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 13:05:19 +02:00