Commit graph

2208 commits

Author SHA1 Message Date
Dana Jansens
b26635fe99 add Left and Right contexts for resizing 2007-05-19 21:39:40 +00:00
Dana Jansens
2f541b6ef3 make either key work for people who have super_l and super_r (or whatever ones) bound to different mod masks 2007-05-19 21:17:01 +00:00
Dana Jansens
ecdb7d5807 let you resize on the bottom of the frame when handle height is 0 in the theme 2007-05-19 21:03:51 +00:00
Dana Jansens
83da4ec939 fix escape's behavior in menus. make static stuff that shouldnt be used by others 2007-05-19 20:58:10 +00:00
Dana Jansens
ea272a93ef show the old single-window popup for directional focus.
fix multirow icons for the new popup.
2007-05-19 20:52:31 +00:00
Dana Jansens
2ed4552f8b round up rather than down for figuring out the width of the popup, so it will fit the text when possible 2007-05-19 20:37:33 +00:00
Dana Jansens
0de1fd496f center the icons when there is only 1 row 2007-05-19 20:34:34 +00:00
Dana Jansens
2253b5e341 fix the popup for directional focusing, only show what is going to be a valid target. change directional focus to use the same criteria as normal cycling. 2007-05-19 20:31:08 +00:00
Dana Jansens
50ba7e2d4c fix positioning of stuff in the cycling popup. oh my god. the image texture is drawn inside the margins of the outer appearance 2007-05-19 20:14:08 +00:00
Dana Jansens
2c4fef2995 fix flashy menus 2007-05-19 19:18:52 +00:00
Dana Jansens
4305448a62 better positioning and some spacing 2007-05-19 19:05:47 +00:00
Dana Jansens
7dd7c9973b better coloring for the cycling hilite 2007-05-19 18:58:38 +00:00
Dana Jansens
53066b1808 new focus cycle popup of doom 2007-05-19 18:40:37 +00:00
Dana Jansens
83eb922012 move focus_cycle_popup into its own file 2007-05-19 14:49:00 +00:00
Dana Jansens
eb09b1873d move focus_cycle_indicator into its own file 2007-05-19 14:36:19 +00:00
Dana Jansens
40f789e641 2007-05-19 14:22:20 +00:00
Dana Jansens
d307a36893 add missing include for new header 2007-05-19 14:16:23 +00:00
Dana Jansens
718adbae65 move focus cycling into its own file 2007-05-19 14:15:28 +00:00
Dana Jansens
3d7c2f45ec 80 cols 2007-05-19 13:45:16 +00:00
Dana Jansens
9752670920 remove a function that is no longer used. and backwards boolean algebra was causing us to not ignore the right enter events 2007-05-19 00:38:06 +00:00
Dana Jansens
7ee54ff106 get rid of the serials for ignoring enters.. 2007-05-18 23:40:13 +00:00
Dana Jansens
6142eb3a48 when done iconify animating, send a configure notify (this fixes kde's pager showing the window in the wrong place) 2007-05-18 15:20:03 +00:00
Dana Jansens
6d26502631 super correct enter event ignoring that will only ignore what it has to, yay? 2007-05-18 00:11:01 +00:00
Dana Jansens
9451205cf1 but don't count the same enter events more than once still 2007-05-17 23:21:52 +00:00
Dana Jansens
ae269d77ca fix a comment 2007-05-17 23:21:09 +00:00
Dana Jansens
bba37f0cd1 ignore enter events without disrupting the event queue 2007-05-17 23:20:50 +00:00
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
Mikael Magnusson
c8b4710755 static makes more sense than inline i think 2007-05-17 09:20:16 +00:00
Dana Jansens
9d004f517b name of the action_undecorate atom was wrong 2007-05-17 04:16:20 +00:00
Dana Jansens
382d37553d add an atom ob_wm_action_undecorate to match with ob_wm_state_undecorated, so stuff could know if the window can be undecorated 2007-05-17 04:15:34 +00:00
Dana Jansens
f9a79e6062 a little check that catches firefox and other buggy apps, which set the same wmcommand across sessions on different window types. type is a pretty obvious check its hard for it to be a false alarm 2007-05-17 03:31:20 +00:00
Dana Jansens
c6dac85397 don't let the user toggle decorations on widnows that don't have any decorations to toggle 2007-05-17 02:29:13 +00:00
Dana Jansens
3c590a5851 kill enter events without using pointer grabs 2007-05-17 02:23: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
619eeaa962 grab the pointer accross actions run by the applications, the same as for
actions run by the user
2007-05-17 00:56:29 +00:00
Dana Jansens
4fdf8a4315 "fullscreen" windows that are undecorated by the user do not count as legacy fullscreen windows 2007-05-17 00:50:09 +00:00
Dana Jansens
b69bf80982 fullscreen only if no decorations 2007-05-16 17:01:47 +00:00
Dana Jansens
5a1a3c2b12 comment what i did 2007-05-16 03:08:49 +00:00
Dana Jansens
3addcd8bb9 don't queue showmenu events, and set button to 0 when a grab is in place after the buttonpress event is run 2007-05-16 03:07:17 +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
d3e524420f revert r6485, for backwards compatibility 2007-05-15 16:07:16 +00:00
Dana Jansens
3ddc053ccd that broke flashing 2007-05-15 04:44:15 +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
f5597c060e try draw the decorations sooner 2007-05-15 03:47:56 +00:00
Dana Jansens
9c5e87069e don't do this stuff when it's already done. save bandwidth. 2007-05-15 03:47:39 +00:00
Dana Jansens
6194c9796c save some rendering 2007-05-15 03:46:51 +00:00
Dana Jansens
9aa5ca29ae updates for the build system. always set Openbox on the support window 2007-05-15 02:32:49 +00:00
Dana Jansens
5d85502e3b also if you hide the focused window, then kill the interactive action so focus isnt all confused for the app 2007-05-14 23:34:05 +00:00
Dana Jansens
47c8d40729 don't assert, users can bind stuff however they like. but if they do something that moves focus during an interactive action, kill the grab 2007-05-14 23:32:50 +00:00
Dana Jansens
b7827484ef ungrab the keyboard for passive grabs. kill interactive actions for exec actions. don't ungrab the keyboard during interactive actions though. 2007-05-14 23:31:41 +00:00
Dana Jansens
8f2291a7b6 excep the assert was backwards. heh 2007-05-14 23:22:06 +00:00
Dana Jansens
f5d7952a94 big scary g_assert(). interactive actions should never move focus until they're done. 2007-05-14 23:21:53 +00:00
Dana Jansens
f9fe78d970 get rid of the fullscreen below layer. its the same as maximized windows.. 2007-05-14 23:00:36 +00:00
Dana Jansens
66db9aef34 use the right cursor for moveresize 2007-05-14 22:59:43 +00:00
Dana Jansens
ec21f8c9ec yay for simplifying code. if we check for errors we dont need the "focus_tried" stuff 2007-05-14 22:58:08 +00:00
Dana Jansens
1b2c6f609d always ungrab keyboard before doing a noninteractive action (which will ungrab before doing its real action business).
too bad we cant ungrab the mouse too.
2007-05-14 22:53:32 +00:00
Dana Jansens
415ce6e5de watch for errors while setting focus on windows, return false if there was an error, so fallback and keep looking 2007-05-14 22:52:40 +00:00
Dana Jansens
2e7359a2fd fix fullscreen windows being stuck in the wrong layer when they come out of
fullscreen.
add a new layer where fullscreen windows go when are aren't focused, below
all normal windows, so you can alt-tab to a below layer window and it will
show itself.
2007-05-14 22:20:48 +00:00
Dana Jansens
f58ece6095 remove config namespaces 2007-05-14 21:32:12 +00:00
Dana Jansens
b906db3e11 remove the dialog option for Desktop action for now. can't change desktop during a grab. the dialog for desktop changing will need to change, and then we can add it back 2007-05-14 20:55:36 +00:00
Dana Jansens
ff7eb1ea3d some debug prints 2007-05-14 13:47:03 +00:00
Dana Jansens
9011eb27e0 remove this check, it didnt guarantee anything anyways 2007-05-14 13:44:49 +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
26ff0cbaa8 the configurenotify needs to come after adjusting the frame's size. otherwise it gets messed up somehow. 2007-05-14 02:27:43 +00:00
Dana Jansens
1a5139f283 send a configurenotify on mapping after the window is shown 2007-05-14 02:20:59 +00:00
Dana Jansens
4ff717355a don't listen to focus events in the dock, unless you're going to do it properly 2007-05-14 02:06:34 +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
53e75c5be4 we don't need to save the config type in the session because if they dont run their DE with the openbox-*-session command, openbox won't be loaded anyhow. and if they do, they the var will be set and doesn't need to come from the session. 2007-05-14 00:41:30 +00:00
Dana Jansens
5a3154df08 add --debug-xinerama 2007-05-14 00:28:16 +00:00
Dana Jansens
1eff22b1ef remove some old checking because we're not using window properties to store the premax/fullscreen areas. they are always set when the state is turned on.
fullscreen to the correct monitor.
2007-05-14 00:07:38 +00:00
Dana Jansens
83bd9e1d5a change now the keyboard is ungrabbed before executing actions. instead, ungrab it just before calling exec. other actions don't need it ungrabbed, and this way the release doesn't get sent through to programs for our keybindings. except for exec i suppose. 2007-05-13 23:51:55 +00:00
Dana Jansens
9fcb2aa1d2 add grab/ungrab macros so dont need to pass in 10 arguments to ungrab stuff.
add a confine option to grab_pointer to confine the pointer to the screen, and use that for moveresize
2007-05-13 23:30:52 +00:00
Dana Jansens
627125a6c6 set the cursor before using it 2007-05-13 23:19:56 +00:00
Dana Jansens
03136a081a only do moveresize when grab is successful 2007-05-13 23:18:44 +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
334f9df7aa don't unset the config namespace so that if you rerun it, it uses the same one. this is for dev work, really.
also, recompiled man pages
2007-05-13 23:01:04 +00:00
Dana Jansens
5c96972bff save the config type in the session command line arguments 2007-05-13 22:57:42 +00:00
Dana Jansens
6171dbf970 when using openbox-gnome/kde-session, use a separate config file (rc-gnome/kde.xml) 2007-05-13 22:49:20 +00:00
Dana Jansens
0ef82a1bda but rename ob_pid back to openbox_pid for backwards compatibility. this will go away entirely soon. 2007-05-13 22:33:04 +00:00
Dana Jansens
99e23015cf rename the openbox_* atoms back to ob_* 2007-05-13 22:31:36 +00:00
Dana Jansens
2676b61b0f missing a header 2007-05-13 22:30:58 +00:00
Dana Jansens
49b6e6ac0a let unfocus action go back to the same window. you should be doing some other action above it that will change where focus can end up 2007-05-13 22:12:11 +00:00
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
3acd5ff0c5 fix for wrapping in desktop cycling 2007-05-13 21:17:32 +00:00
Mikael Magnusson
73e7b2925a fix error in client_directional_edge_search that ignored all windows in the same layer 2007-05-13 21:13:29 +00:00
Dana Jansens
eb7a3a0638 im just leaving the dock alone.. 2007-05-13 21:08:50 +00:00
Dana Jansens
7a39cb3e8d no strut for docks that autohide 2007-05-13 21:06:23 +00:00
Dana Jansens
3adadb955e resist all layers 2007-05-13 20:38:19 +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
Mikael Magnusson
2b2245851d restore code that keeps popups on screen 2007-05-13 20:04:30 +00:00
Dana Jansens
ecde8e8f73 reorganize --help. dont error if they use a --sm stuff and sm isn't enabled 2007-05-13 19:23:37 +00:00
Dana Jansens
e28cbd61c1 kill grabs before xsetinputfocus 2007-05-13 18:27:58 +00:00
Dana Jansens
b67e98842c reset the pager popup's size after reconfigure 2007-05-13 17:28:52 +00:00
Dana Jansens
0ec49ac781 comment 2007-05-13 17:22:48 +00:00
Dana Jansens
94d9d069b5 add a debug line 2007-05-13 17:17:23 +00:00
Dana Jansens
11df262d7e add support for _NET_WM_ACTION_ABOVE and _NET_WM_ACTION_BELOW which aren't in the NETWM spec yet, but will be shortly. 2007-05-13 17:15:15 +00:00
Dana Jansens
0ee1581824 fix drawcontents=no 2007-05-13 16:45:58 +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
fd9b6a43cf always send configure notify when windows map 2007-05-13 16:04:40 +00:00
Dana Jansens
c23741290c fix directional focus 2007-05-13 15:40:16 +00:00
Dana Jansens
56d7bc50f0 don't allow focus to move during an interactive grab. if users set up actions
such that this would happen, then kill the interactive grab before moving
focus.
this is to avoid NotifyWhileGrabbed FocusOut's
2007-05-13 15:29:49 +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
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
bfe974dbd0 revert part of r6074. i don't think it needs to be removed anymore and then everything will "just work" better 2007-05-13 03:03:48 +00:00
Dana Jansens
59183ac234 dont make mouse bindings focus windows that dont take focus from clicks 2007-05-13 02:39:19 +00:00
Dana Jansens
18c2737a2f add a comment 2007-05-13 02:35:42 +00:00
Dana Jansens
d59f0d67b0 interactive actions cancel other interactive actions 2007-05-13 02:19:51 +00:00
Dana Jansens
d00096dedb dont skip desktop windows that set skip_taskbar 2007-05-13 02:10:36 +00:00
Dana Jansens
ca88a21a39 where did those come from ? 2007-05-13 00:52:05 +00:00
Dana Jansens
b4f9328bff debug print 2007-05-12 19:50:52 +00:00
Dana Jansens
c2e4d42e6d ignore enter events on top menu and submenu popup 2007-05-12 19:50:32 +00:00
Dana Jansens
ab75dd8672 missing a break statement 2007-05-12 19:50:21 +00:00
Dana Jansens
e40624b5c1 don't use it actually. it's confusing. 2007-05-12 19:32:12 +00:00
Dana Jansens
cea602d734 put the shade icon in the right place 2007-05-12 19:31:11 +00:00
Dana Jansens
fce33883f4 fix for running actions that end up wanting to grab the keyboard. make a nicer comment about what is going on. 2007-05-12 19:26:48 +00:00
Dana Jansens
811fa21940 remove the edges_hit_layers_below option. don't use windows in other layers for resistance 2007-05-12 18:56:56 +00:00
Dana Jansens
5eba6007e7 change the "handle" context to "bottom". add a "top" context. make the top
and bottom contexts resize vertically in the default config file.
2007-05-12 17:54:55 +00:00
Dana Jansens
06181f9cc4 make the handle resize by default, and give the handle the resize south cursor 2007-05-12 17:32:10 +00:00
Dana Jansens
18c0714c51 split the move and resize functions.
let you specify the edge to resize in the action binding
2007-05-12 17:31:13 +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
4320bf5fc0 fix for fullscreen things getting lowered when switching desktops 2007-05-12 16:20:17 +00:00
Dana Jansens
ecfd93b186 change client menu back to "Roll up/down". update strings, also some fixes. 2007-05-12 16:09:26 +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
b63ad92cca give different border colors to active and inactive windows. adjust the xml theme format a little to make it BETTER. rawr. add some metadata standards too. 2007-05-11 22:18:43 +00:00
Dana Jansens
b2006b8b45 don't show handles on windows that cannot resize 2007-05-11 21:31:19 +00:00
Dana Jansens
b23476ed58 fix for circular transiency 2007-05-11 20:45:26 +00:00
Dana Jansens
2baad3abee oops, debug prints 2007-05-11 05:55:45 +00:00
Dana Jansens
8432416d4e pick the closest icon instead of always a smaller one 2007-05-11 05:54:57 +00:00
Dana Jansens
0fedacf700 separate roll up and roll down.
new strings in the po's, which are actually old strings.
fix a couple menus shortcuts besides.
2007-05-11 04:51:29 +00:00
Dana Jansens
ba6754ac88 fix focus cycling. checking the wrong client. 2007-05-11 04:10:45 +00:00
Dana Jansens
06b918cc21 remove the last param from configure_full, it's not needed. 2007-05-11 02:47:14 +00:00
Dana Jansens
75372cd4a7 set the default window gravity to NorthWest.
only put the bare minimum inside the server grab.
adjust the frame decorations in client_manage instead of frame_grab_client
remove the last parameter from client_configure_full and just determine it from the other state available.
send configurenotifies at all the right times.
make windows get restored to their position properly when they have a border
2007-05-11 02:46:59 +00:00
Dana Jansens
caba57b694 don't adjust the decorations while the server is grabbed, move it to client.c 2007-05-11 02:44:50 +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
775d5da7ad this fixes pypanel.. heh.
don't activate iconic windows when they raise themselves just raise them. firefox still works so i am happy.
2007-05-11 00:01:55 +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
3537e50141 why didn't that commit 2007-05-10 21:33:22 +00:00