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
Julien Danjou
5fa67c23df
split awesomeconf and screen config
...
a.k.a the big post-2.0 blind commit
2007-12-11 20:56:51 +01:00
Nikos Ntarmos
3931061646
GTK+ combo box goes lower
2007-12-03 10:00:31 +01:00
Nathan Hüsken
9524f15478
Adding padding
2007-11-28 11:00:48 +01:00
Nikos Ntarmos
355dc7d556
fix rules handling in configurequest events
2007-11-27 16:48:06 +01:00
Nikos Ntarmos
3a6cd243e4
fix reloadconfig segmentation fault
...
needed because keys arrays is freed so we can't access it again
2007-11-15 17:20:22 +01:00
Julien Danjou
f3102efc39
retag window on configurerequest
2007-11-15 15:43:58 +01:00
Julien Danjou
e50041ab10
also update rcoords on configure request
2007-11-15 15:14:40 +01:00
Julien Danjou
dd2c511181
move_client_to_screen() implies tag_client_with_current_selected()
2007-11-15 14:49:08 +01:00
Julien Danjou
d2e297bfa6
fix bug with configure request windows
...
I KILLED TEH MPLAYER BUG 11!11
2007-11-14 21:30:08 +01:00
Julien Danjou
7a919a76fb
mouse button clicks on windows are now configurable
2007-11-14 17:18:16 +01:00
Julien Danjou
cfa31c399d
introduce mouse.[ch] files and move uicb_mouse*() to them
2007-11-13 22:57:57 +01:00
Julien Danjou
0c5c5ce426
remove nkeys: keys is now a linked list
2007-11-12 17:22:40 +01:00
Julien Danjou
f3d0ada5df
fix awesomeconf struct handling in resizemouse() and movemouse(), fix bug on Xinerama
2007-11-12 14:51:51 +01:00
Julien Danjou
38e6a309cb
use CLEANMASK() where we should
2007-11-12 14:22:44 +01:00
Julien Danjou
69c235280d
resizemouse() is now an uicb function
2007-11-12 14:06:59 +01:00
Julien Danjou
f72c1bb54c
movemouse() is now an uicb function
2007-11-12 14:02:52 +01:00
Julien Danjou
ef7034b0b8
use linked list instead of tabs for mouse bindings
2007-11-12 13:21:28 +01:00
Julien Danjou
05e102a49a
mouse clicks on root window are now configurable
2007-11-12 10:55:21 +01:00
Julien Danjou
939d9eb149
fix indentation
2007-11-12 09:59:54 +01:00