Commit Graph

419 Commits

Author SHA1 Message Date
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