Commit graph

421 commits

Author SHA1 Message Date
Dana Jansens
18ef3dce1c re-staticify this function 2007-05-17 23:14:59 +00:00
Dana Jansens
e47499a07c don't ignore the same enter events more than once 2007-05-17 23:11:14 +00:00
Dana Jansens
a71c91abe5 old comment 2007-05-17 13:35:35 +00:00
Dana Jansens
281c1edb42 kill enter events without using pointer grabs 2007-05-17 02:21:22 +00:00
Dana Jansens
b1076c9333 rename client_configure_full to client_configure 2007-05-17 01:45:00 +00:00
Dana Jansens
cfce6b8f4d simpler code yay 2007-05-17 01:43:29 +00:00
Dana Jansens
2ca83f6713 grab the pointer when windows move them selves so no enter events happen. i wonder if this will cause but reports. it still does for restacking though..
little cleanup in client.c, and remove client_configure macro which was now
redundant
2007-05-17 01:38:01 +00:00
Dana Jansens
d30809e5fa always ignore errors for client_focus like we used to. 2007-05-15 17:38:52 +00:00
Dana Jansens
2a203eb5dc fix a comment 2007-05-15 04:34:11 +00:00
Dana Jansens
361bf6af5c simplify focus handling a bit. no need to listen to focus going to the frame because if it ever does that, the window is unmapping and the frame will just unmap and send it to root.
make focus fallback a lil more robust, it checks for errors when it sets focus on the window, and if an error occured it will focus the next option.
2007-05-15 04:32:59 +00:00
Dana Jansens
a019ee1028 add a debug action.. change focus debug output a lil, no grab events 2007-05-14 03:40:03 +00:00
Dana Jansens
7af7ee05aa fix a comment 2007-05-14 01:07:26 +00:00
Dana Jansens
9d7608789c another little focus cleanup/rearrangement, for focus going to windows that
are no longer there.
2007-05-14 01:06:42 +00:00
Dana Jansens
66af88b27c only set focus_client to null if the window losing focus was the focus_client 2007-05-13 23:13:15 +00:00
Dana Jansens
0c173e1577 set focus_client when focus leaves a window 2007-05-13 23:11:16 +00:00
Dana Jansens
99e23015cf rename the openbox_* atoms back to ob_* 2007-05-13 22:31:36 +00:00
Dana Jansens
7fddf2abc2 some focus fixes. always set the new focus when we fallback or else weird states appear. better handling of focusin's on clients that don't exist? 2007-05-13 20:35:44 +00:00
Dana Jansens
2fdad9a0ff no more losing focus from wm_torture -t map_response
when a focusin comes for an invalid target, set that focus has wandered off, so
that when the focusout comes in afterwards we can react accordingly
2007-05-13 16:39:04 +00:00
Dana Jansens
acfa2af3c2 use the right list in client_add_hide_notify, rename destructor to destroy_notify which is really what it is, and is more consistant now that there are 2 notifies 2007-05-13 07:45:15 +00:00
Dana Jansens
1e957a1688 some changes to focus handling.
most interesting is the change in focus_fallback, which means that it won't
call xsetinput focus in some cases, potentially reducing flicker and stuff.
also potentially producing bugs? heh.

the screen.c focus fallback code doesn't seem to need special cases anymore,
which is really good, if that is really the case.

move the focus_tried stuff out of event.c into focus.c, where it seems to
belong.
2007-05-13 07:09:34 +00:00
Dana Jansens
f694c650c8 dont count focusin on the support window to be a focusin on a client 2007-05-13 05:51:08 +00:00
Dana Jansens
41da12cc5e maybe better logic for looking for focus in's on clients 2007-05-13 05:50:15 +00:00
Dana Jansens
b4f9328bff debug print 2007-05-12 19:50:52 +00:00
Dana Jansens
ab75dd8672 missing a break statement 2007-05-12 19:50:21 +00:00
Dana Jansens
c5865c51ed do it better, prevent creating new races 2007-05-12 01:01:49 +00:00
Dana Jansens
1d6c07c24b try catch weird racey corner case where we try fallback to a window but it unmaps as we do so, so focus ends up going to nowhere 2007-05-12 00:54:44 +00:00
Dana Jansens
58788b9c16 change when configurerequests create configurenotifies.
make _NET_RESTACK_WINDOW create a configurenotify, because it is supposed to be like configurerequest. so why not?
2007-05-11 02:44:29 +00:00
Dana Jansens
65d50861ad when un-showing the desktop if a window is getting shown, iconify the others so just the one is shown 2007-05-10 23:22:54 +00:00
Dana Jansens
083a7565c7 set the session stuff before trying to apply per-app settings.
set the decor/functions after restoring all the stuff from session/per-app too
2007-05-10 05:21:05 +00:00
Mikael Magnusson
933a689b41 fix typo in a comment, at least i do'nt think config5Aure is a word 2007-05-10 05:08:24 +00:00
Dana Jansens
220015e56e make configurerequest activate but net_restack_windows just restack.
fix bottomif, topif, opposite.
fix debug output in event printing when there was no problem
2007-05-10 04:39:06 +00:00
Dana Jansens
c2c84c3f5e add support for _NET_RESTACK_WINDOW 2007-05-10 04:06:50 +00:00
Dana Jansens
9830440643 make restacking much better, yay
no more cludge using actions to raise windows. when a window changes layer it
uses add_nonintrusive now so it won't cover the focused window. this way
fullscreen windows when they drop down, don't cover up the new focus target.

fix add_nonintrusive so that if the window is focused it gets added to the top

add back support for ConfigureRequest restacking, this time properly though,
using all the detail and sibling modes. but when windows use this to raise they
are using some old business and we're going to assume they actually want to
activate instead. this means firefox works nicely. yay.

ubuntu's firefox has been made to just stop raising entirely though. !
2007-05-10 00:57:35 +00:00
Dana Jansens
e44ec05078 less redrawing 2007-05-09 23:45:44 +00:00
Dana Jansens
da22958786 fix hovering for corner buttons during full-max 2007-05-09 23:38:16 +00:00
Dana Jansens
66afa1dceb when a window is fully maxed, make clicking on the titlebar past the edge buttons count as clicking on the buttons 2007-05-09 22:21:28 +00:00
Dana Jansens
7f262bc2a0 add support for _NET_REQUEST_FRAME_EXTENTS 2007-05-09 20:13:20 +00:00
Dana Jansens
851555348e support for _NET_WM_USER_TIME_WINDOW round 2 ! yay abstraction 2007-05-09 17:58:58 +00:00
Dana Jansens
cdb108c76d add support for _NET_WM_USER_TIME_WINDOW. round 1 ! ding. 2007-05-09 17:01:30 +00:00
Dana Jansens
b0f43a1159 don't focus splash screens and toolbars and menus when you click on them. or enter them. 2007-05-08 22:29:39 +00:00
Dana Jansens
9782122339 try again. merge r6177-6182 from 3.4-working 2007-05-08 22:03:56 +00:00
Dana Jansens
1e4215c5c6 merge r6176-6182 from 3.4-working 2007-05-08 21:57:36 +00:00
Dana Jansens
f2e88d2491 only show the debug message when relevent 2007-05-08 02:31:46 +00:00
Dana Jansens
de82c4a5df i dont like this "application window" concept. swap it with "helper" windows instead which are the inverse. helper windows are utility/menu/toolbar windows. 2007-05-08 01:31:51 +00:00
Dana Jansens
ebabf3943c make helper windows share desktops with all their application top level windows 2007-05-08 01:25:30 +00:00
Dana Jansens
5945d2e9c8 ok, so, back out the last commit. owner events are passed thru so we get enter/leave notify events.
dont change frame decor from button presses during an interactive grab or
while a menu is open
2007-05-08 00:40:01 +00:00
Dana Jansens
f506cbceae the session properties are not set on the group leader, they are set on the "client leader" which is in the WM_CLIENT_LEADER property. also they are all set when the window maps, and not to be changed thereafter. 2007-05-07 00:10:15 +00:00
Dana Jansens
f289adf653 a focus fix? konquerer would end up losign focus on close sometimes. this is the only thing i can think of tht would cause it. we will see.. 2007-05-06 23:22:54 +00:00
Dana Jansens
3c4d73c484 save session state for old clients that dont use XSMP. more session improvements. with ksmserver we can save a few things before the clients go messing with stuff during the interactive phase. 2007-05-06 11:14:20 +00:00
Dana Jansens
a7f65a818c add an allDesktops option to Next/PreviousWindow to alt-tab across all desktops. 2007-05-06 05:51:08 +00:00
Dana Jansens
37875f091d extranous ) 2007-05-05 23:45:49 +00:00
Dana Jansens
c1a5ad45a8 fix stupid apps focusing. yah. 2007-05-05 23:34:48 +00:00
Dana Jansens
526560b8a0 changes to the client menu, which entries are there, and reorganizing, and renaming.
let you highlight disabled menu entries, they just aren't runable of course, and add the activedisabled theme element for these entries.
add the all desktops button picture to "All desktops" in the client menu
update the themes for the new element, and some changes to make things more readable-better contrast.

CLEARLOOKS-OLIVE is now DIFFERENT FROM THE 3.4 BRANCH SO DON'T RE-RUN THEMETOXML ON IT :( :(
yeah.. i think that is everything?
2007-05-05 22:26:59 +00:00
Dana Jansens
68a9a4c4fc some changes to ConfigureRequest, based on what I found in FVWM.
fix those stupid applications from moving accross the screen by the size of their decorations.
2007-05-05 19:17:46 +00:00
Dana Jansens
97ffe20f7e make focus fallback when it is given to the frame (this happens if you unmap the client but not the frame for eg in iconify animation) 2007-05-05 18:28:40 +00:00
Dana Jansens
3409148047 fixes to the properties and net_supported. a bunch weren't supported. better checking at runtime to make sure everything is in the atom. 2007-05-05 18:19:26 +00:00
Dana Jansens
b114ec7181 dont let you do mouse events on any animating window. also fix root window mouse events.. 2007-05-05 17:04:22 +00:00
Dana Jansens
378adaa94f yay. way way cleaner code for iconify animations. let people show/hide the frame logically and it will do everything except during animations the frame will show what it needs to for visual display. 2007-05-05 16:53:48 +00:00
Dana Jansens
b5e597f1b3 lots of fixes for the iconify animation. i think it should all work perfectly now ?
one change in action.c may affect bindings... THIS COULD BREAK CURRENT CONFIG FILES. ya.
so, if you used a press binding and it moved the window, no enter event will be generated for that anymore because you are holding down the button when the window moves. if you don't like that then use a click binding instead.

1
2007-05-05 16:16:26 +00:00
Dana Jansens
08e42acaad animate iconify/reestore. yeah. 2007-05-05 05:58:35 +00:00
Dana Jansens
fde5ca09e9 when restoring from show-desktop mode because a window is going to be focused, then don't restore focus how it was before showing the desktop. 2007-05-05 02:48:39 +00:00
Dana Jansens
9a9e3f6bf6 woa.. let you do mouse actions while in an interactive keyboard action, and let you do keyboard actions while move/resizing. yay. also you can click in windows at the same time.. 2007-05-05 00:50:53 +00:00
Dana Jansens
7c17296a20 handle more focus events. keep track when focus goes to another screen and don't handle focus fallbacks in that case until we know focus came back to our screen. 2007-05-04 02:46:47 +00:00
Dana Jansens
7e946f68d9 make the modifier key code a lot better...
1) it can handle more user cases.
2) it can handle binding more modifier keys with their keysym names like Hyper and Super. W is a shortcut for Super, cuz the windows key is generally bound to it.
3) if you change your keymap bindings and reconfigure openbox it will learn your changes.
and i dunno.. its just nice and stuff now.. you can actually read it I think..
2007-05-04 01:10:03 +00:00
Dana Jansens
88ac9ee76f debug messages 2007-05-03 03:18:34 +00:00
Mikael Magnusson
1019e34012 only ignore vertical scrolls 2007-05-02 20:19:18 +00:00
Mikael Magnusson
0fee4e91a8 only ignore horizontal and vertical scroll events when outside a menu frame, not all buttons above 3 2007-05-02 20:10:37 +00:00
Dana Jansens
a6f52b9055 better menu keyboard handling.
also, when you hit a keybinding while menus are open, it will close the menus and run the binding.
2007-05-02 03:10:25 +00:00
Dana Jansens
97cbacd9e4 make keeping windows on screen much more clever 2007-05-02 02:03:06 +00:00
Dana Jansens
a223fa2057 don't accept non-letter keys for shortcuts, they can't be shortcuts anyways and it was mis-matching 2007-05-02 00:02:02 +00:00
Dana Jansens
55d2916c1e a whole lot of changes to the moving/resizing code. it was broken for non-northwest gravities. now it is not. at least, that is the idea. 2007-05-01 04:46:29 +00:00
Dana Jansens
b5dbe857db dont go to disabled menu entries with keyboard shortcuts
fix some rendering of shortcuts
2007-04-25 18:26:02 +00:00
Dana Jansens
9aa42c2ae7 cleanups for keyboard menu shotcuts. dont let & set a shortcut from stuff like menu titles and what not, they are only for strigns oenbox provides. 2007-04-25 02:50:59 +00:00
Dana Jansens
5d5be2ba2a add keyboard shortcuts to the menus. you can specify the shortcut key with & even in root menu and stuff 2007-04-25 01:33:20 +00:00
Mikael Magnusson
fb2493115f only grab keybinds on the root window, not every client window 2007-04-24 21:45:43 +00:00
Dana Jansens
79cd7b4b2c dont cause focus change with enter events when youre already in the window 2007-04-24 20:39:59 +00:00
Dana Jansens
ad852b6b56 add support for _NET_WM_SYNC_REQUEST 2007-04-24 06:30:16 +00:00
Dana Jansens
7ae95e4660 save windows' colormaps rather than querying them from the server every time you focus it 2007-04-24 01:29:53 +00:00
Dana Jansens
5316bc6c3e 1. remove some old event handling that was not used at all. yay less bandwidth.
2. make the client padding color show during resizes with drawContents off
2007-04-24 00:00:11 +00:00
Dana Jansens
f999797f01 leavenotify events messing up delayed focus 2007-04-23 22:05:03 +00:00
Dana Jansens
2442cdfd85 1) translate all of openbox's output
2) update copyrights.
3) make release. ok that part not quite yet.
2007-04-23 17:56:35 +00:00
Dana Jansens
4543c1761a when windows reverttoparent, we will get a notifynonlinear when the frame closes 2007-04-22 21:29:02 +00:00
Dana Jansens
56d42ce66a use focusouts from unmanaged windows (windows which have just closed) 2007-04-22 21:14:04 +00:00
Dana Jansens
6d666b0aa5 add a debug message 2007-04-22 20:41:26 +00:00
Dana Jansens
afd88015b5 focusin to the root window happens on both monitors when a focused window unmaps... boo... 2007-04-22 20:27:13 +00:00
Dana Jansens
eb1cd9cc49 ignore some focus events that shouldnt be reacted to 2007-04-22 20:10:17 +00:00
Dana Jansens
dc43b74abd 2007-04-22 19:52:37 +00:00
Dana Jansens
911ad76372 a) set the focus client before calculating its layer
b) cleanup in focus.c
2007-04-22 19:35:50 +00:00
Dana Jansens
55b5b828e9 FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window 2007-04-22 19:24:51 +00:00
Dana Jansens
bfb800c032 a) remove focus_hilite, it is not needed and complicated things
b) set focus_client to null when nothing is actually focused, but still allow
   focus to go to black holes
c) allow the focus action to be performed without a client, this will focus
   the openbox instance (i.e. the screen in multihead setups)

big thanks to syscrash for the ideas on how to go about this
2007-04-22 19:13:38 +00:00
Mikael Magnusson
7c1fb96bd3 don't compare client pointers with random numbers 2007-04-22 18:26:05 +00:00
Dana Jansens
d6e49acf0f dont need to ignore mouse events during a keyboard grab, they go to the grab-window anyways
use our built in grab_keyboard
2007-04-22 15:58:09 +00:00
Dana Jansens
27773e1cb7 don't grab the pointer during interactive events. this allows you to alt-tab during a dnd. 2007-04-22 15:22:25 +00:00
Dana Jansens
ff43372da7 only pass thru events when the menu is open, don't for other stuff 2007-04-22 14:07:29 +00:00
Dana Jansens
a70633d42a eat enter events after unmanaging a window
change how focus falls back for windows being unmanaged, don't fall back immediately, instead wait for the focus out event and use it (break stuff maybe! yay)
2007-04-22 13:53:28 +00:00
Dana Jansens
939fbcfd31 add a comparitor to timers. use this in event.c to let you remove timers from the queue selectively for delayed focus 2007-04-22 04:16:00 +00:00
Dana Jansens
5a3a7668d9 highlight for motion events in the menu too, this is useful when the enter gets ignored cuz the mouse was already inside it 2007-04-22 03:18:55 +00:00
Dana Jansens
57ffea1123 fix segfaults 2007-04-22 02:49:52 +00:00
Dana Jansens
98b021ff0c properly handle clients disappearing during delayed focus on them 2007-04-22 02:35:22 +00:00
Dana Jansens
5009498d59 use the timestamp from the original enter when delay-focusing a window 2007-04-22 02:34:05 +00:00