Commit Graph

614 Commits

Author SHA1 Message Date
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
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 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 856192fa99 client: merge icon_path and netwm icon
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 5198f0a7b0 event: unmanage or external reparenting (FS#41)
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 b4d89eec6c screen: move screen_getbycoord()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 3a45831242 client: manage take phys_screen as arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +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 63b5e65ebd placement: deprecate in favor of awful.placement
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 0dde158b5f hooks: rename mouseover to mouse_over and simplify config
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou e871bbfa18 widget: add support for mouse enter and leave events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou b92833274a event: simplify widget get by coords
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 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 3b895d84ed mouse: rework mouse buttons API, support release events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou be52f5b047 update to new xcb-event
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-16 15:36:44 +02:00
Arnaud Fontaine 00d8a0cddd Update to new xcb-util library.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-15 14:02:23 +02:00
Julien Danjou c79d9ef991 event: handle mapping notify events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-07 23:22:53 +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 da9f6bbceb xutil: remove XUTIL_ANY_MODIFIER
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 10:59:40 +02:00
Arnaud Fontaine cc367647e7 window: rename functions according to the rest of code 2008-08-13 19:06:20 +02:00
Arnaud Fontaine 73c4415a0a window: make window_getstate() asynchronous and rename this function
according to the rest of code.
2008-08-13 19:01:36 +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
Arnaud Fontaine b655f6348c xutil: rename xutil functions according to the rest of code. 2008-08-11 18:05:35 +02:00
Julien Danjou 24fbbd9939 event: mark arrange on map
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 12:30:18 +02:00
Julien Danjou 8d1f20c5ad client: implement maybevisible(), and use it for maprequest
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:57:57 +02:00
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
Julien Danjou 355b7d67b3 Change screen_get_bycoord() proto to take ScreensInfo as arg, and speed up things 2008-03-23 15:52:17 +01:00
Julien Danjou 0bde5c9e29 Move some screen functions from screen.c to new common/xscreen.c 2008-03-23 15:52:17 +01:00
Julien Danjou 867b2f0775 first version of awesome-menu 2008-03-23 15:52:15 +01:00
Julien Danjou bd2f4a212e Move grabkeys() out of event, and move it into window; clean and remove setup() function in awesome.c 2008-03-06 16:18:01 +01:00
Julien Danjou d10036a366 Remove useless call to get_phys_screen() in grabkeys()
screen is already a physical screen since we use ScreenCount()
2008-03-06 16:09:38 +01:00
Julien Danjou dd9a1b99c4 Rename events functions from handle_event... to event_handle 2008-03-06 09:09:59 +01:00
Julien Danjou edb865a070 Simplify grabkeys() function 2008-03-06 09:07:33 +01:00
Julien Danjou c1b503af1a Comment event.c functions 2008-03-06 09:05:15 +01:00
Julien Danjou de8dcbb724 replace drop_events arch by x,y pointer coordinates saving 2008-03-04 10:14:13 +01:00
Julien Danjou 960d870b0b fix screen_get_bycoord() 2008-02-25 13:40:30 +01:00
Julien Danjou 72d68b13a3 change focus raising 2008-02-09 23:12:40 +01:00
Julien Danjou a4d4fedfac fix wrong coords computing with left/right statusbar click 2008-02-08 15:35:09 +01:00
Nathan LaFreniere 1d57d7b327 switch KeySym to KeyCode 2008-02-08 14:35:32 +01:00
Julien Danjou 606d157e31 rename some screens function 2008-01-30 09:36:52 +01:00
Julien Danjou ab8d95f13d rework include 2008-01-29 11:27:14 +01:00
Julien Danjou ee1214846e rename some client functions 2008-01-29 08:21:05 +01:00
Julien Danjou 95d5fe299e rename focus() to client_focus() 2008-01-27 19:07:39 +01:00
Julien Danjou 37b4f62258 always grab Button1 2008-01-26 13:11:12 +01:00
Julien Danjou c22430a115 fix handling of window raisings 2008-01-25 23:43:16 +01:00
Julien Danjou a601553e3c unused var 2008-01-25 23:21:27 +01:00
Julien Danjou 34bc4e8191 replace bad code for configurenotify 2008-01-25 23:15:27 +01:00
Julien Danjou 485614f2df rewrite focus handling
- arrange() does not focus() anymore
- restore dropping events infra
- add client_unfocus()
- grabbuttons() where we should and add root_grabbuttons() for root window
2008-01-25 22:37:49 +01:00
Julien Danjou 3855ced402 remove selscreen arg 2008-01-24 23:48:35 +01:00
Julien Danjou ce41ed1eeb return if no widget match 2008-01-24 20:28:45 +01:00
Julien Danjou 30256b3be3 cosmetic 2008-01-24 20:24:16 +01:00
Julien Danjou 82d9cec79d don't regive focus to already focused window 2008-01-24 18:31:44 +01:00
Julien Danjou 240ee786d1 rename nscreens to nscreen 2008-01-24 13:48:49 +01:00
Julien Danjou c1569eedf4 store simple window geometry 2008-01-23 16:05:52 +01:00
Julien Danjou 5fa25b23f6 add some code for creating SimpleWindow-s and use it for statusbar 2008-01-23 15:54:30 +01:00
Nikos Ntarmos fa0ac03f5b set need_arrange on client_resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-22 21:27:34 +01:00
Julien Danjou 668702b777 move list.h and util.[ch] to common/ 2008-01-21 18:14:59 +01:00
Julien Danjou 97f08901d6 call restack() only when focus()ing 2008-01-21 16:31:15 +01:00
Julien Danjou 83a0a4daf8 add a common infra to drop events 2008-01-21 16:31:15 +01:00
Julien Danjou bfc7f3ce5d clean out some need_arrange uneeded 2008-01-21 16:31:15 +01:00
Julien Danjou 6e4d13c9dc add a new cache system for arrange()ing 2008-01-21 16:31:15 +01:00
Julien Danjou bda97fa36d drop EnterWindow events after a keypress 2008-01-21 16:31:15 +01:00
Julien Danjou 47ee745425 rewrite client_manage() 2008-01-21 16:31:14 +01:00
Nikos Ntarmos c36ef2797b check for subwindow
Fix FS#31

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-11 19:18:43 +01:00
Julien Danjou a28c052af2 drop EnterWindow events to keep focus 2008-01-11 16:48:11 +01:00
Julien Danjou 542df6a3ab do not try to guess where we should XSync(), XSync after bunch of XEvents 2008-01-11 16:17:15 +01:00
Nikos Ntarmos a245b2c033 restart on XRandR event
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-11 13:41:29 +01:00
Nikos Ntarmos 956ce4ab8e add nscreen var to store screen count
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-11 13:39:48 +01:00
Julien Danjou d09d3ccafd use ev->same_screen var 2008-01-11 12:01:59 +01:00
Julien Danjou 876377880d cosmetic 2008-01-11 12:01:51 +01:00
Julien Danjou df121e7c03 cache is already invalidated 2008-01-07 19:00:45 +01:00
Julien Danjou 6483b36389 only invalidate cache if client is urgent 2008-01-07 19:00:17 +01:00
Julien Danjou 5c9291ff0b use a cache system for status bar 2008-01-07 18:12:38 +01:00
Nikos Ntarmos db0be0ac57 partial support for mouse bindings on root window when window displayed 2008-01-07 10:06:04 +01:00
Julien Danjou 7fe4468254 last fix did not work as expected 2008-01-07 00:31:19 +01:00
Julien Danjou 81afe81b4e force windows to tile mode 2008-01-07 00:28:27 +01:00
Julien Danjou 7dd8e9dd5f try to fix SDL/OpenGL apps 2008-01-07 00:17:07 +01:00
Julien Danjou 7ad579898f simplify unmanage code 2008-01-06 21:57:53 +01:00
Julien Danjou 3badaee8c7 remove unused variable 2008-01-06 21:50:03 +01:00
Julien Danjou d99660e0b8 apply rules after configurerequest 2008-01-06 21:28:49 +01:00
Julien Danjou af708d2fbc Rewrite everything about client geoemtry, resize, etc. 2008-01-06 20:36:39 +01:00
Julien Danjou 7983a3196d simplify window_configure() args 2008-01-05 20:25:55 +01:00
Julien Danjou 4d756f84c3 send window_configure on configrequest for floating 2008-01-05 20:23:30 +01:00
Julien Danjou 163acc8624 use Area to store window geoms 2008-01-05 19:38:50 +01:00
Julien Danjou e833ab06d6 Revert "honor configrequest"
This reverts commit 1eebcd74cd.
2008-01-05 18:31:01 +01:00
Julien Danjou 1eebcd74cd honor configrequest 2008-01-05 18:05:27 +01:00
Julien Danjou bfab98d1d4 add support for y coords in clics 2008-01-05 12:51:40 +01:00
Julien Danjou a34d1bc583 fix comparisons 2008-01-05 12:01:09 +01:00
Julien Danjou 3018282169 use switch instead of if/elseif/else 2008-01-05 11:57:24 +01:00
Julien Danjou 6ca7d7b2db use Area in Widget 2008-01-04 21:46:25 +01:00
Julien Danjou af6ff367eb typedef enum Position 2008-01-04 19:12:07 +01:00
Julien Danjou d25d5b921f add sloppy_focus option to allow click-to-focus 2008-01-04 14:40:26 +01:00
Julien Danjou e3de02d2ce optimize if statements 2008-01-04 13:04:15 +01:00
Julien Danjou 10c257d57a get rid of Client phys_screen 2008-01-02 19:26:55 +01:00
Julien Danjou 437bc5c22c add 2008 copyright notice 2008-01-02 16:59:43 +01:00
Julien Danjou 4f65aa8f51 rework headers inclusion 2008-01-01 18:02:36 +01:00
Julien Danjou 909f92d500 replace UICB_PROTO macro by a typedef 2008-01-01 17:25:48 +01:00
Julien Danjou f7f6951957 allow to have several statusbar 2007-12-30 21:00:34 +01:00
Julien Danjou 6f4dec78ff remove Display as arg from window_*() fcts 2007-12-30 15:24:51 +01:00
Julien Danjou 0df27e0f6a split the display part of statusbar_draw(), move it to new statusbar_display(), and call it for expose events 2007-12-30 13:17:26 +01:00
Julien Danjou 1021f86e24 rework draw stuff
- remove display from DrawCtx
- add Drawable in statusbar
2007-12-30 12:26:11 +01:00
Julien Danjou 8c36b49f7f add support for _NET_WM_WINDOW_TYPE_DOCK 2007-12-28 21:26:02 +01:00
Julien Danjou 169e658a18 handle configure request for windows we don't handle 2007-12-28 20:27:56 +01:00
Julien Danjou f37c71c162 add support for _NET_WM_STATE_FULLSCREEN
This commit also drop the handle_event_configurerequest() because it seems
totally unuseful now. This can cause problem, and if so, report it.
2007-12-28 18:31:31 +01:00
Julien Danjou f93a441da7 remove Display from Client struct 2007-12-27 23:10:43 +01:00
Julien Danjou 87fce96644 add support for NET_CLOSE_WINDOW 2007-12-27 20:49:38 +01:00
Julien Danjou c900e37843 add mouse bindings to status bar 2007-12-27 15:49:00 +01:00
Julien Danjou 0d75586ed5 fix p_delete 2007-12-27 14:21:26 +01:00
Julien Danjou 7099794c64 switch to get_current_tags() in event.c 2007-12-27 13:14:20 +01:00
Julien Danjou d5d9439777 add support for Urgency hint 2007-12-23 15:16:10 +01:00
Aldo Cortesi 5f079ef73e Clean get_screen_info and get_display_info.
Besides making these functions much nicer to use, this fixes a number of
things:

- Clients now don't have to free the returned structures.

- The ScreenInfo allocated by XineramaQueryScreens should be freed with XFree,
  not p_delete.

This patch also introduces an abstract Area type that will be very useful.
2007-12-23 09:53:50 +01:00
Aldo Cortesi 51379e065b Clean interface of statusbar_update_position. 2007-12-23 09:51:44 +01:00
Aldo Cortesi 7190e4fa48 Change awesome_config -> AwesomeConf.
All other struct definitions in the project follow this naming convention.
2007-12-19 10:43:02 +01:00
Aldo Cortesi ce556ec743 The preferred line length is 80 characters. 2007-12-18 11:27:26 +01:00
Aldo Cortesi 965cbb7e0b Continue to simplify interfaces that require arguments in globalconf.
Today I focus on screen.c.
2007-12-18 11:26:39 +01:00
Aldo Cortesi 205f2c55ca Make "Statusbar statusbar" the in VirtScreen "Statusbar *statusbar". This is
more consistent with the rest of the interface, and will make our life easier
when we have mulitiple statusbars per screen.
2007-12-18 11:26:18 +01:00
Nikos Ntarmos 395c0ba6d7 mouse button press on the statusbar causes segfault
The tags member of screen is no longer an array but a linked list, thus
tags[0] (used in config.c) is ok since tags points to the first tag
struct, but tags[i], i>0 is wrong. There is one such use in
handle_event_buttonpress, causing awesome to segfault when pressing with
the mouse on the statusbar. The attached patch fixes this.
2007-12-17 07:35:08 +01:00
Aldo Cortesi 2f74c079aa Massive, massive interface refactoring.
The big change here is that we now keep our configuration structure in a global
variable called globalconf. This radically simplifies many interfaces, since
passing awesomeconf everywhere is no longer necessary. There are also more
subtle interface effects - now we can reliably identify a screen from just a
screen ID, rather than an awesomeconf, screenid tuple.

Overall, this patch makes most of the interfaces in awesome much nicer to use -
enjoy!

Yes, this is a huge patch, but since a lot of the refactoring was done
systematically using vim macros, splitting this up would have been very hard.
2007-12-16 12:12:48 +01:00
Aldo Cortesi f36a56cdcc Refactor draw.c
This is a big patch that does not change any behaviour. We abstract the data
needed by the draw.c functions into a context object, and pass that around
instead of passing each argument every time. This results in a much cleaner API
- most functions lose 3-4 arguments.

This is a preparatory patch for further work on statusbar.
2007-12-15 09:30:29 +01:00
Julien Danjou df2a8e1b1d add a focus history 2007-12-14 21:51:54 +01:00
Julien Danjou aacb020564 rename statusbar functions 2007-12-14 20:10:52 +01:00
Julien Danjou bb1381abc2 make tags a linked list instead of array 2007-12-14 19:05:30 +01:00
Julien Danjou 213c839597 prefix some client functions with client 2007-12-14 16:05:10 +01:00
Aldo Cortesi 2b5ba1f16f Improve the call signature of get_current_tag and get_current_layout. 2007-12-14 09:29:42 +01:00