Commit graph

211 commits

Author SHA1 Message Date
Dana Jansens
65a176330a dont set focus_client to NULL when sending focus to nothing, let that happen from the FocusOut events 2007-05-13 21:57:00 +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
e28cbd61c1 kill grabs before xsetinputfocus 2007-05-13 18:27:58 +00:00
Dana Jansens
c23741290c fix directional focus 2007-05-13 15:40:16 +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
9f22554b6a when i said it handled both cases, i was mistaken, so use a callback for each case. 2007-05-13 07:40:02 +00:00
Dana Jansens
685dca1c5f likewise if a window is unmanaged and we were trying to give it focus, we want to know about it - also if the window gets hidden for some other reason, we also want to know about it.
add a notifier for windows being hidden, and use that instead - it handles both cases.
2007-05-13 07:38:35 +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
d00096dedb dont skip desktop windows that set skip_taskbar 2007-05-13 02:10:36 +00:00
Dana Jansens
1d1aef75a0 add <desktop>yes</desktop> option for Next/Previous window and directional focus actions 2007-05-12 17:16:01 +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
ba6754ac88 fix focus cycling. checking the wrong client. 2007-05-11 04:10:45 +00:00
Dana Jansens
1e4215c5c6 merge r6176-6182 from 3.4-working 2007-05-08 21:57:36 +00:00
Mikael Magnusson
cc2ad0a823 double space in debug output 2007-05-08 02:22:07 +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
38b12c6cba ! 2007-05-08 00:18:15 +00:00
Dana Jansens
e1081644c1 show the right icon 2007-05-07 16:57:02 +00:00
Dana Jansens
82b2f0aa7a popups fixes. if the text for the popup is empty now, there wont be extra padding for it. desktop name fixes. 2007-05-07 06:33:43 +00:00
Dana Jansens
5e0fa1b5c1 a variable sized alt-tab box. is this nice or slower to read? we'll see. 2007-05-07 03:54:39 +00:00
Dana Jansens
277db2822d a bunch of thigns got squashed into this commit.. sorry..
1. soem bug fixes for window stacking
2. clarify some functions behavior with their names
3. add (untested) support for legacy fullscreen apps. i have no idea what they do on a multihead xinerama setup though and if this would help there or need some changes.
2007-05-06 08:32:03 +00:00
Dana Jansens
2b658f3d9b show the desktop in the focus popup if its not on the current desktop 2007-05-06 06:01:52 +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
857245960e give the focus indicator a fixed width 2007-05-06 05:37:45 +00:00
Dana Jansens
1bf9de3809 refactor all the session stuff. yay, it works properly now.
make sessions save the desktop being displayed. can we get rid of config_firstdesk now?
refactor startup a bit. focus the window that was focused when we were restarted.
have clients properly restore their session state.
add undecorated to the saved session state for clients.
2007-05-06 05:19:19 +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
a56d3a12ab missing parentheses 2007-05-05 02:12:39 +00:00
Dana Jansens
03f861b0ac let you alt-tab to utility windows when focus is already in the group 2007-05-05 01:37:51 +00:00
Dana Jansens
5784f11132 add the notion of "application windows" meaning normal or dialog type windows.
let you alt-tab to non-application windows when they dont have an application window in their group
2007-05-03 20:57:40 +00:00
Dana Jansens
f2890f35b7 remove delay for focus/desktop popups. its fast anyway any not showing it is annoying 2007-05-02 23:43:36 +00:00
Dana Jansens
1d9c0e8b87 skip windows which skip the taskbar.
don't skip them for cycling dock windows.
2007-05-02 21:53:27 +00:00
Dana Jansens
0da9aa2660 add a slight delay to the focus/desktop switch dialogs. so if you hit the key really fast there is no flicker. of course if you hit it fast but not fast enough there is still flicker. is this cool or does this make it feel bad? i dunno. we'll see..
make the keychain popup use the new delay popup facilities
2007-05-02 00:59:07 +00:00
Dana Jansens
66d6e1120e small change to the render API. RrMinsize became RrMinSize. added RrMinWidth and RrMinHeight.
make focus/desktop popups wider based on the screen size with the old size as a minimum.
left-align the desktop dialog.. i think better dialogs would be nice. and to make them hide or something when you switch desktops while switching windows etc.
2007-05-02 00:35:22 +00:00
Dana Jansens
6e83a82e5b the focus_client = NULL got moved by mistake. 2007-04-24 06:41:59 +00:00
Dana Jansens
c6fe4f8d8f focus_order_remove is called in a few places. move the check for unsetting focus_client into client_unmanage. 2007-04-24 06:41:04 +00:00
Dana Jansens
b4eecc51b5 focus_client was becoming invalid if the focused client was unmanaged. 2007-04-23 23:11:33 +00:00
Dana Jansens
9f11e2af6b cycling between dock windows now possible with the <panels>yes</panels> option 2007-04-23 22:40:33 +00:00
Dana Jansens
ea088eb88d remove an unused variable 2007-04-23 17:55:26 +00:00
Dana Jansens
eb18f502b5 fallback to desktops properly 2007-04-23 02:43:14 +00:00
Dana Jansens
86b7f4e543 use event_ignore_queued_enters 2007-04-22 22:21:32 +00:00
Dana Jansens
3265ea9ac1 when focusing nothing, make sure focus_client knows that nothing is focused 2007-04-22 20:33:12 +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
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
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
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
73b490f614 stop delayed focusing when falling back 2007-04-22 03:02:13 +00:00
Dana Jansens
3f2d342de8 hide focus debugging messages 2007-04-21 21:04:35 +00:00
Dana Jansens
33cc572402 drop some wasted client_validates. 2007-03-28 02:00:10 +00:00
Dana Jansens
fb3d2033ba not passing timestamps sometimes and not others. set event_curtime when client messages provide a timestamp. 2007-03-19 17:59:16 +00:00
Dana Jansens
6772ec19fc only refocus the omnipresent window if its allowed 2007-03-15 01:11:52 +00:00
Dana Jansens
34f5bbe4f6 clearer engrish 2007-03-15 01:09:10 +00:00