Pierre Habouzit
5a07ee4946
Put keybindings in binary searchable arrays.
...
This patch sorts keybindings in arrays by keycode or keysym to speed up look
up using binary searches. This is a preliminary work to enable more powerful
keybindings stuff, where keybindings can be cascaded or why not, attached to
specific clients.
Interstingly enough, this patch saves 100ko of initial memory (Heap) usage here.
The underlying idea is that we should be able to define keybindings_t as
trees of keybindings_t which would then define key sequences.
The OO approach kind of make sense in fact, since you create a base
keybinding (e.g. reacting on Mod4-w) and then you will probably (with
appropriate apis) be able to populate new submaps from that point more or
less dynamically.
And if you have two keybindings on Mod4-w, then adding them will replace the
previous one. This means that you can fake per-client bindings with e.g.:
k_default = keybindings.new({"Mod4"}, "w", something);
k_mplayer = keybindings.new({"Mod4"}, "w", something_else);
k_default:add()
and in your focus hook:
if /* code for testing if it's mplayer */ then
k_mplayer:add()
else
k_default:add()
end
This would not work before, it does now.
It will take way more sense with submaps of course.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-25 11:04:56 +02:00
Pierre Habouzit
8c717622fd
Put keybindings in arrays.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-25 11:04:56 +02:00
Julien Danjou
678c9e3334
event: spurious printf removal
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 19:58:24 +02:00
Julien Danjou
ec414ae39b
systray: set orientation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 19:56:10 +02:00
Arnaud Fontaine
452b89d6ec
Always use unchecked xcb functions
2008-06-21 19:56:51 +09: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
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
e5e379656a
systray: import widget
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 18:12:16 +02:00
Michael Gehring
e8e87c5a85
update event handler documentation.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 20:33:44 +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
7d79509df9
[keygrabber] Fix key mapping
...
- Use Mod5 to enter group 2 and 3
- Do not call the function is key not recognized
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 22:37:45 +02:00
Julien Danjou
13a96b6edd
[keygrab] Add keygrabbing infrastructure
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 17:22:36 +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
00f966ea04
Replace tags by workspaces
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +02:00
Julien Danjou
2b4ffb4b74
[event] Simplify event_handle_maprequest()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 18:13:11 +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
4c41361d6c
[lua] Add object as argument to mouse click function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 19:21:21 +02:00
Julien Danjou
2742318f16
[common] Use pixmap instead of drawable type
...
It's just more clear.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 16:13:41 +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
34cd5504a7
[widget] Make button press event statusbar indep
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 11:40:50 +02:00
Julien Danjou
05bb1d3833
[statusbar] Fix potential error if statusbar is Off on start
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 15:21:27 +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
083a4f13f7
[statusbar] Fix event handling on child window
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 14:01:09 +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
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
a04417494b
[mouse] Rename Button to button_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Arnaud Fontaine
d662c66526
[event] Optimize xcb pointer and geometry queries.
2008-05-20 19:44:08 +01:00
Julien Danjou
1f046b3c9f
[everything] Switch from libconfuse to Lua
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:01:15 +02:00
Julien Danjou
4966c46d60
[event] Remove useless arguments to event_handle_mouse_button_press()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-11 16:56:18 +02:00
Arnaud Fontaine
162b8a690c
[all] Implement an atom cache in xutil as an ordered linked-list
2008-05-11 01:10:37 +02:00
Julien Danjou
effaa99b91
[awesome] Remove useless includes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou
fb5b227214
[config] Rename Key to keybinding_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Arnaud Fontaine
6d1cb32837
[client] Fix regression (closed windows still mapped on the screen)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou
d1635db59f
[client] Rename Client type to client_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou
a73b07f5d3
[statusbar] Rename Statusbar type to statusbar_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou
0cd46ab6b1
[widgets] Rename Widget type to widget_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine
20442adfa0
Cosmetic
2008-05-03 12:01:03 +02:00
Julien Danjou
f31517817c
[statusbar] Remove statusbar_display
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou
a04395ddc9
[swindow] Store gc
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou
8f069ceb9b
[event] Cosmetic and manage enhancement
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Arnaud Fontaine
2f9409ba74
Desallocate replies and events properly
2008-05-03 12:01:01 +02:00
Arnaud Fontaine
1309287ead
Cleanup of TODO messages
2008-05-03 12:01:01 +02:00
Arnaud Fontaine
71e9100927
Remove useless xutil_root_window()
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
02c99fccb8
Prefix xutil functions properly
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
1eab0e44e7
* Make key symbols table, NumLock, ShiftLock and CapsLock global variables.
...
* Get CapsLock and ShiftLock masks properly and fix XLookupString() XCB equivalent.
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
970d2e7bd9
When handling a ConfigureRequest, send a ConfigureWindow according to
...
the event value mask.
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
163c1240d8
Fix incorrect call of xcb_configure_window()
2008-05-03 12:01:00 +02:00