Julien Danjou
9c40168f02
widget: emit signals on mouse enter and leave
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
5dbae0e34f
luaobject: remove prefix##_push_item()
...
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
27fd05320e
button: use new object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou
4871dbb1aa
button, key: emit events
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou
04e55739fe
key: port to new object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou
e104bae294
Revert "button, key: grab all keys by default, and check for match."
...
This reverts commit f6d2aa3064
.
Conflicts:
key.c
2009-08-14 17:52:49 +02:00
Julien Danjou
073e0377dd
Revert "key, button: use as simple table"
...
This reverts commit d7454f4307
.
Conflicts:
button.h
key.h
lib/awful/titlebar.lua.in
lib/naughty.lua.in
wibox.c
wibox.h
widget.c
2009-08-14 16:48:52 +02:00
Julien Danjou
13efd8a199
wibox: get rid of simple window
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 16:11:41 +02:00
Julien Danjou
d7454f4307
key, button: use as simple table
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:44:54 +02:00
Julien Danjou
f6d2aa3064
button, key: grab all keys by default, and check for match.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:42:31 +02:00
Julien Danjou
fb3c5d90c7
event: push event/key objects and then call functions
...
This avoid the problem we can had while modifying globalconf.keys in a
callback function from a key or button event. Now we push all matching
objects on the stack, and call each callback function. If something
modify globalconf.keys, we do not care.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:30:06 +02:00
Julien Danjou
339fb53d56
luaobject: add and use item system
...
Now, each object can store items.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-28 10:29:30 +02:00
Uli Schlachter
d088b819f9
Remove globalconf.have_randr
...
This variable didn't really have any effect on anything. It was only ever
checked in a function that would never be called if this flag was false.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-17 15:53:08 +02:00
Julien Danjou
e4acb74a5a
luaa: split dofunction()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:44:29 +02:00
Julien Danjou
90bc90fde4
client, wibox: go back to unmap style banning
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:44:11 +02:00
Julien Danjou
dfc01b2599
event: remove need_arrange on resize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:42:04 +02:00
Julien Danjou
3f6ab274c0
wibox: all wiboxes go into one and only one array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:51:35 +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
0ca7a0fd71
widget: use orientation rather than position
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-10 16:17:39 +02:00
Julien Danjou
63a7b50531
event: push button state correctly to mouse grabber
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 17:20:12 +02:00
Julien Danjou
7d20e63bc0
event: also push the wibox on widget button events
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 15:00:01 +02:00
Julien Danjou
d3e3c0c922
event: mouse grabbing blocks other events
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-29 13:59:13 +02:00
Mariusz Ceier
ee77fce1ce
Fix focus hooks calls
...
This patch fixes focus hooks calls - for every call to focus hook, there
should be call to unfocus hook.
Focus related info:
In this shape, awesome doesn't support multiple focused clients, that
means it follows the rule "there is only a single focus", which is not
true for MPX. To change this, I think it will need some magic with
FocusOut events handling and changes to some structures
(e.g. globalconf.screen_focus, screen_t.client_focus should be arrays) :p
Now we don't need to handle FocusOut events.
Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 19:44:38 +02:00
Julien Danjou
600299a19f
key: restore proper support of keysym resolution
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 18:17:16 +02:00
Julien Danjou
ca7af35f8a
event: get keysym ignoring all modifiers
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-28 17:26:15 +02:00
Julien Danjou
efad1b9843
event: matching function can get data
...
This allows us to not request keysym computation upon each match test.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-27 17:56:06 +02:00
Julien Danjou
e2b4fae3e2
key: replace key_find() by generic callback
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-27 17:52:36 +02:00
Julien Danjou
d80c6e9c33
event: modularize Lua callback handling
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-27 17:46:15 +02:00
Julien Danjou
503283ac28
event: add support for AnyModifier in grabbed button
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-26 12:47:17 +02:00
Julien Danjou
21e8c0c89e
button: add support for AnyButton
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-26 12:34:30 +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
1a18088da5
key: stop ignoring arbitrary modifier
...
Before, we used to ignore Mod2 and Lock.
This is now configurable.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 12:01:55 +02:00
Julien Danjou
cda33ca3e6
key: cleanup modifiers system
...
We stop retrieving useless key, since we have constant.
We also grab correctly all keycode for a keysym.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-15 12:01:54 +02:00
Julien Danjou
f4221a1fdf
spawn: add support for startup-notification
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-14 14:23:38 +02:00
Julien Danjou
5931bf752d
wibox: use new Lua object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Julien Danjou
81033d391b
client: use new object system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Julien Danjou
b1a59aca07
widget: widget are now full Lua object
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +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
Julien Danjou
6178417b61
event: leave_notify: handle titlebar correctly
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 14:32:36 +02:00
Julien Danjou
9f34d20f08
event: titlebar are parts of client
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 14:29:53 +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
Julien Danjou
4d6bf949a8
Revert "event: add FocusOut handler"
...
This reverts commit 31ba962065
.
2009-04-06 13:27:53 +02:00
Maarten Maathuis
97fb463e76
event: also filter leave notify events
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-04 16:32:54 +02:00
Maarten Maathuis
31ba962065
event: add FocusOut handler
...
- I don't see why we should guess about what we recieved and whatnot.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-04 16:32:46 +02:00
Mariusz Ceier
c40609642b
Fix for FocusIn event handler
...
10.7.1 chapter of X11 ([0]) describes many cases when FocusIn event is
generated. We are interested only in one FocusIn event type - the one
that is sent to window that gains focus.
Previous 'if' failed in some cases ([1]), this one should be better.
[0]
http://cgit.freedesktop.org/xorg/doc/xorg-docs/plain/hardcopy/X11/xlib.PS.gz
page 211
[1] http://www.mail-archive.com/awesome-devel@naquadah.org/msg01958.html
Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-03 13:10:02 +02:00
Alex Cornejo
106e6ed5ab
Styling inconsistencies
...
Cheers,
Alex
From b5816ec55073507d4527ad3a77eae1878adb30d3 Mon Sep 17 00:00:00 2001
From: Alex Cornejo <acornejo@gmail.com>
Date: Sun, 29 Mar 2009 14:24:27 -0400
Subject: [PATCH] Fixed some styling issues.
Noticed in the latest pull that a commit introduced a lot of styling
inconsistencies, decided to remove those and others found by a simple
grep.
Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-30 12:53:12 +02: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
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
Mariusz Ceier
926f458331
event: FocusIn and FocusOut events handlers
...
We need to handle FocusIn event to update focused client, when client
with GAIM sends SetInputFocus message (that is FocusIn event for WM).
Signed-off-by: Mariusz Ceier <mceier@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-03 17:24:50 +01:00
Maarten Maathuis
3d0a7e205a
event: small code harmonisation.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-16 10:30:55 +01:00
Maarten Maathuis
e11bc9e553
event: block stacking related changes in configurerequest.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-16 10:30:42 +01:00
Maarten Maathuis
04df061aa0
event: handle border size changes in configurerequest
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-16 10:30:23 +01:00
Maarten Maathuis
71bd32bcb1
event: Actually modify ev->x and ev->y for banned clients.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-16 10:29:56 +01:00
Gregor Best
10bfb36d4b
wibox: add mouse_enter and mouse_leave for wibox
...
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-13 22:54:36 +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
88713851ab
event: Prevent seeing banned clients on the visible screen.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-03 10:30:23 +01:00
Julien Danjou
f45cdee4eb
event: do not store resize events of banned clients
...
This should fix the problem seen with Firefox. When clicking on a
file that will launch a "Save as" dialog, and switching tag quickly,
the client is banned and move off of the viewport.
Then FF send a ConfigureRequest to re-move it to this negative
coordinates, which we did handle and set as its geometries.
Now we just honor the (bad and useless) move but we do not use
client_resize()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-30 15:29:33 +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
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
Julien Danjou
53f58aa1a6
keybinding: move to key
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-18 11:33:52 +01:00
Julien Danjou
8193a9cf0c
keygrabber: identify release events
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-16 15:02:54 +01:00
Julien Danjou
67a9f0d302
keybinding: add support for release event
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-16 12:00:51 +01:00
Julien Danjou
59c04ce3dc
wibox: add mouse bindings
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:24 +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
Gregor Best
0235d995c2
mouse: add object_under_pointer
...
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Julien Danjou
8b88541f0a
xembed: store windows in an array
...
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
Julien Danjou
0e972d4845
mousegrabber: import
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou
ccc6452d49
widget: change widget initialization code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou
e7abdd5cc0
event: simplify widget_getbycoords() proto
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:40 +01:00
Julien Danjou
e3f722f024
event: simplify event_handle_widget_motionnotify() proto
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:40 +01:00
Julien Danjou
a5de5ab48c
widget: remove button property
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:40 +01:00
Julien Danjou
0716ecb4fd
widget: remove old cache system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:40 +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
ce99ab2a3a
keygrabber: add stop() method
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 17:31:18 +01:00
Julien Danjou
cfac43ecdf
event: regrab keys on keyboard mapping change (FS#365)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-31 19:22:24 +01:00
Julien Danjou
4f61841f0e
event: save mouse position in wibox events
...
This allow focus to work correctly if wibox disapears.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-25 15:35:14 +02:00
Julien Danjou
25bf12868a
widgets: use a geometry callback
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-22 17:32:17 +02:00
Julien Danjou
248bfb0e95
event: reset wibox widget mouse_over on leave
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 17:57:10 +02:00
Julien Danjou
1ddbfaaaf0
event: handle enter widget on window enter
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 17:50:35 +02:00
Julien Danjou
569ea75409
wibox: handle widget_node_t as array rather than list
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 17:21:59 +02:00
Julien Danjou
0e3ff0bc8f
event: get coordinates of visible widgets only
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-20 19:49:24 +02:00
Julien Danjou
ede5a54355
event: handle background changes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-10 18:27:43 +02:00
Julien Danjou
0359bb4e4e
event: only grab root if mouse is on root
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 17:45:52 +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
305af484f5
wibox: add full geometry
...
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
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
24d6341c39
event: add partial redraw
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou
669c023ca9
event: fix left/right events
...
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