Commit Graph

412 Commits

Author SHA1 Message Date
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
Kanru Chen cb1de2633d event: Ungrab root when mouse enters client window.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-03 19:56:19 +02:00
Julien Danjou e0abfac892 event: redraw titlebar right after config req
This allow more beautiful drawing effect.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:39:20 +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 3c32297e07 event: handle iconify request
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 17:13:30 +02:00
Julien Danjou e1fe38289b event: use ewmh restart
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-23 09:03:52 +02:00
Kanru Chen df57c34a06 event: remap on restart
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-22 10:27:01 +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 00e9af11b8 client: fix title update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 18:04:08 +02:00
Julien Danjou 1d64f8231c client: use atom name to update title
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 08:42:39 +02:00
Pierre Habouzit 3a7dd8c715 Hide keybindings away 1/2
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 08:12:22 +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 14061b4e7a systray: move KDE handling into client_manage()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 13:09:24 +02:00
Julien Danjou 207f06d720 systray: add KDE work around
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 13:06:23 +02:00
Julien Danjou ba63e7e784 systray: do not manage windows twice
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-29 13:38:39 +02:00
Julien Danjou e1e12f4c0a event: only map if the client is visible
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 11:47:29 +02:00
Julien Danjou dda116fea0 event: map window if they ask for
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:50:10 +02:00
Pierre Habouzit 585496b66a Make event handler setup private to the event module.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-26 22:47:56 +02:00
Julien Danjou 013b2afe62 remove useless #include
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 18:10:45 +02:00
Pierre Habouzit d45590fbcc 0 may be a valid function, LUA_REFNIL is what we want.
Also don't forget to unref the function on deletion.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 14:23:59 +02:00
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
Arnaud Fontaine dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +02:00
Jan Niehusmann 78dd0b8620 [event] Fix handling of keysym/keycode in event_handle_keypress.
Only compare the configured one of these two properties for any
given key.

Signed-off-by: Jan Niehusmann <jan@gondor.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-02 14:23:58 +02:00
Julien Danjou 6623668b6f [config] Store keysym or keycode (FS#64)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-02 11:12:53 +02:00
Julien Danjou bbb1b233ca [keys] Store KeySym, not KeyCode
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-18 14:57:52 +02:00
Julien Danjou a09e6180bb [mouse] Allow multiple bindings for mouse events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-09 18:03:25 +02:00
Julien Danjou 2f513459e2 [titlebar] Give focus when clicking with Button1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 16:11:13 +02:00
Julien Danjou 68c14355af [events] Stop handling LeaveNotify events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 13:17:33 +02:00
Julien Danjou 680555a317 [bobmarley] Stop grabbing Motion events
That fails in GTK+ apps anyway

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 11:39:11 +02:00
Julien Danjou 6ee23de391 [event] Only record mouse position on real button grabbing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 17:49:11 +01:00
Julien Danjou 553af0db03 [event] Add more comment about the Bob Marley algorithm
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 16:57:50 +01:00
Julien Danjou 3fa15dd272 [core] Fix ConfigureRequest handling for non-floating windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 09:52:54 +01:00
Julien Danjou 536700b674 If the window did not received focus, restack it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 11:28:56 +01:00
Julien Danjou c5afa7753b Split restack function out of focus, and fix click-to-raise
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 16:34:41 +01:00
Julien Danjou 7fae889888 Remove unused variable
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 15:26:13 +01:00
Julien Danjou 2045c811e2 Enhance configurerequest handling a bit
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 14:37:57 +01:00
Julien Danjou 8ba54194de Switch from uicb_exec(0, globalconf.argv) to uicb_restart()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 21:57:07 +01:00
Julien Danjou 904cd4e06a Normalize some window functions protos
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 0a6c6e017b Store physical screen id in statusbar and client, change get_phys_s() to screen_virttophys()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou c496df9fc6 Add support for mouse bindings on titlebars 2008-03-23 15:52:22 +01:00
Julien Danjou e22d57a0ca Change the way to do resize
Go back to old school

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou e5fbbcb612 Update titlebar on configure requests 2008-03-23 15:52:20 +01:00
Julien Danjou b2261160b4 Enable multiple keys bindings to be executed with the same key press event 2008-03-23 15:52:19 +01:00
Julien Danjou b51e352ed8 Fix errors with windows without titlebar 2008-03-23 15:52:19 +01:00
Julien Danjou 8b217359e9 Rename Auto to Maybe in Fuzzy; add Auto as Position; add support for titlebar as rule 2008-03-23 15:52:19 +01:00
Julien Danjou f29b0660fa Make sloppy focus work on titlebars 2008-03-23 15:52:19 +01:00
Julien Danjou 2c43fd6a69 Split titlebar properties into a struct with a SW and a Position 2008-03-23 15:52:18 +01:00
Julien Danjou 3c3015fd76 Remove resize_hints args to client_resize(), force usage of client_geometry_hints() 2008-03-23 15:52:18 +01:00
Julien Danjou ea88e324a0 First titlebar support 2008-03-23 15:52:18 +01:00
Julien Danjou c6eec955c8 Rename Area to area_t 2008-03-23 15:52:18 +01:00
Julien Danjou eee37d063c Use xinerama_is_active attribute and drop XineramaIsActive() usage 2008-03-23 15:52:17 +01:00