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
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
8753a54c65
ewmh: s/NetWMIcon/netwm_icon_t/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 09:29:57 +02:00
Julien Danjou
24860ac3cb
ewmh: add support for _NET_WM_PID
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 08:55:31 +02:00
Julien Danjou
93d4031a69
ewmh: add support for _NET_WM_DESKTOP
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 00:08:04 +02:00
Julien Danjou
e0905b2183
ewmh: fix stacking change property
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 23:00:48 +02:00
Julien Danjou
f13f09b4da
ewmh: add support for _NET_WM_STATE_DEMANDS_ATTENTION
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:57:54 +02:00
Julien Danjou
f99e069a65
ewmh: add fake _NET_WM_VISIBLE_ICON_NAME support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:49:28 +02:00
Julien Danjou
77140598d7
ewmh: add fake _NET_WM_VISIBLE_NAME support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:48:34 +02:00
Julien Danjou
54190db14f
ewmh: set _NET_WM_NAME
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:47:31 +02:00
Julien Danjou
baa82ac867
ewmh: cosmetic
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:14:14 +02:00
Julien Danjou
9490c0c3fd
ewmh: add support for _NET_WORKAREA
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:12:30 +02:00
Julien Danjou
63ab310585
ewmh: add support for _NET_CLIENT_LIST_STACKING
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 21:47:57 +02:00
Julien Danjou
b3d969f4e1
ewmh: add _NET_SUPPORTING_WM_CHECK support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 21:25:23 +02:00
Arnaud Fontaine
b9e1ec69d0
Replace xcb_aux_get_screen() by a safer function
2008-06-17 17:14:00 +02:00