Commit graph

1291 commits

Author SHA1 Message Date
Dana Jansens
2a2008e837 always set focus_out, since a focusin can come first and mess up the old logic 2003-10-03 07:24:33 +00:00
Dana Jansens
2572f111e0 indenting 2003-10-03 07:07:57 +00:00
Dana Jansens
aa6bedd78b remove debug prints 2003-10-03 07:05:36 +00:00
Dana Jansens
783f5aed00 run the event done stuff before firing queued actions 2003-10-03 06:56:54 +00:00
Dana Jansens
51780c10ea hilight the fallback target before it actually gets focused to avoid flickering 2003-10-03 04:43:18 +00:00
Dana Jansens
6611c30854 let functions get which window would be selected on a focus fallback 2003-10-03 04:37:16 +00:00
Dana Jansens
242dc35a36 indenting 2003-10-03 04:27:44 +00:00
Dana Jansens
e2f3c00224 remove debug prints 2003-10-03 04:20:23 +00:00
Dana Jansens
4a14e50ae7 indenting 2003-10-02 04:21:37 +00:00
Dana Jansens
9bd60fd92b dont queue up interative end actions 2003-10-02 04:06:40 +00:00
Dana Jansens
c88e66b8ff use frame->visible instead of the desktop number 2003-10-01 17:51:20 +00:00
Dana Jansens
6f5292c87e define DEBUG, NDEBUG, and G_DISABLE_ASSERTS 2003-10-01 17:28:12 +00:00
Dana Jansens
825426373c remoce debug print 2003-09-29 17:10:28 +00:00
Dana Jansens
97e854b07d use a client destructor to watch for focus_in/out becoming invalid 2003-09-29 16:32:53 +00:00
Dana Jansens
58977733d0 completely rework focus tracking. i hope this is sane... it seems to be working much better in every way thus far. 2003-09-29 10:06:19 +00:00
Dana Jansens
f81f352f4e dont use the X done callback 2003-09-29 10:05:51 +00:00
Dana Jansens
c8565d21d4 provide a callback for when there are no more X events to process 2003-09-29 10:05:43 +00:00
Dana Jansens
c22a6b32ab only fallback when nothing is focused, provide comment explaining why 2003-09-29 10:05:18 +00:00
Dana Jansens
9bac22eb40 indenting, focus fallback to None not PointerRoot 2003-09-29 10:03:28 +00:00
Dana Jansens
474a40754b only do sloppy focus/raise if the client is not already focused 2003-09-29 08:02:16 +00:00
Dana Jansens
638fc4b70b dont start a move/resize on clients that cant do it 2003-09-29 07:41:11 +00:00
Dana Jansens
8feba8518b when a window is lowered, move it to the bottom of the focus order list 2003-09-29 07:25:00 +00:00
Dana Jansens
d50cf297e7 dialog options are no longer used 2003-09-29 06:59:46 +00:00
Dana Jansens
2c99038a0a make the Desktop action default to non-interactive 2003-09-29 06:33:17 +00:00
Dana Jansens
43dabc2b9b remove unused var 2003-09-29 03:37:12 +00:00
Dana Jansens
b7b187693e start menus with the cursor inside it, not over the border, a little closer to the items.. 2003-09-28 09:48:58 +00:00
Dana Jansens
a1be19e627 when nothing in a menu is selected, still let keybindings work 2003-09-28 09:47:17 +00:00
Dana Jansens
7101e30ed8 make the timeout apply to releases on menu items too 2003-09-28 09:31:23 +00:00
Dana Jansens
b8ba1cff1f perhaps fix problems of being left in menus without being able to control openbox 2003-09-28 09:24:22 +00:00
Dana Jansens
8e63ffdabd add option for under-mouse placement 2003-09-28 09:01:04 +00:00
Dana Jansens
fa962c1604 removing focusLast again.. 2003-09-28 08:45:43 +00:00
Dana Jansens
f9c659c12c fix resizing to 0 from aspect ratios 2003-09-28 07:38:55 +00:00
Dana Jansens
a434669d17 remove debug prints 2003-09-28 06:48:35 +00:00
Dana Jansens
dee3d68c22 try grab an icon even when there are none 2003-09-28 06:34:31 +00:00
Dana Jansens
f6ba1f27b9 halfway through client changes but...
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
2003-09-28 06:31:00 +00:00
Dana Jansens
e30ae5696f remove from parents when changing groups 2003-09-27 17:57:02 +00:00
Dana Jansens
0dfff40a30 formatting, add an assert 2003-09-27 17:50:28 +00:00
Dana Jansens
51cc41e4db indenting 2003-09-27 17:39:44 +00:00
Dana Jansens
ac3a588266 properly show/hide the dialog for the Desktop action 2003-09-27 17:24:45 +00:00
Dana Jansens
26852af7a1 better focus fallbacking n shit 2003-09-27 06:42:34 +00:00
Dana Jansens
fbed66cc81 ok unfocus before removing transient shit, but remove focus related flags so we don't get focused in the fallback. 2003-09-27 06:41:00 +00:00
Dana Jansens
af7278b6e5 that was a really bad idea, i didnt mean it, i swear 2003-09-27 06:30:51 +00:00
Dana Jansens
bc1148f0b3 fix cancelling desktordir actions 2003-09-27 05:57:08 +00:00
Dana Jansens
4ae6be577d some smarter focus fallback for sloppy focus 2003-09-27 05:31:40 +00:00
Dana Jansens
8aee387193 unfocus before unlinking the client from the transient tree 2003-09-27 05:19:15 +00:00
Dana Jansens
598bf575c8 allow focus and desktop actions to specify a <dialog>yesorno</dialog> value 2003-09-26 20:04:29 +00:00
Dana Jansens
ad29434250 remove the dialog options 2003-09-26 20:03:57 +00:00
Dana Jansens
90445487e1 dont use undermouse at all if focusNew is off 2003-09-26 19:39:33 +00:00
Dana Jansens
9e000dc6fd use under-mouse placement *instead* of smart placement when using focus-follows-mouse AND focus-new-windows 2003-09-26 19:31:54 +00:00
Dana Jansens
0908816132 when looking for the focus target, search for modal children in the entire transient tree, not just children of the client on which focus is requested 2003-09-26 19:05:06 +00:00
Dana Jansens
49b848a2bb smarter picking valid focus cycle targets 2003-09-26 19:04:18 +00:00
Dana Jansens
d5a1b96802 allow focus fallbacks to fullscreen windows 2003-09-26 18:19:35 +00:00
Dana Jansens
896098c961 use client_raise/lower instead of action_run_string 2003-09-26 18:18:15 +00:00
Dana Jansens
dfd524926e add client_raise and client_lower which just fire off actions 2003-09-26 18:15:58 +00:00
Dana Jansens
411cc1d1d9 use actions for raising 2003-09-26 18:03:58 +00:00
Dana Jansens
54b8eb3bf3 bring back action_run_string,
use action_run_string for running actions from other actions
2003-09-26 18:02:39 +00:00
Dana Jansens
31b2dffbbe use action_run_string for raising/lowering 2003-09-26 18:02:08 +00:00
Dana Jansens
bb541d850a bring back action_run_string 2003-09-26 18:01:44 +00:00
Dana Jansens
fb341869b1 use an action only for Raise 2003-09-26 17:46:49 +00:00
Dana Jansens
1241a0cf0d remove action_run_string, as this is not going to be a common thing I think 2003-09-26 17:46:27 +00:00
Dana Jansens
a51d2082bd add a NONE user action, for internal stuff, ie running actions without direct user interaction (from anotehr action etc) 2003-09-26 17:30:32 +00:00
Dana Jansens
224927a7ae dont iconify fullscreen windows, just recalc stacking orders when focus changes 2003-09-26 17:30:08 +00:00
Dana Jansens
a2849a728d use actions to focus and raise the wnidow ni client_activate. this means the focus shit gets processed before the raise 2003-09-26 17:29:55 +00:00
Dana Jansens
eb51015bc3 dont run actions immediately. put them in the queue. add action_run_string for niternal use 2003-09-26 17:29:33 +00:00
Dana Jansens
87430acf34 queue up ObActions and run them when idle 2003-09-26 17:29:12 +00:00
Dana Jansens
adb9bb700f give actions a ref count 2003-09-26 16:47:12 +00:00
Dana Jansens
9ed3baf9db indenting 2003-09-26 15:33:11 +00:00
Dana Jansens
360d1659a1 checked the wrong var for unmaxing 2003-09-26 15:08:03 +00:00
Dana Jansens
4e8eff328c add <dialog><focus/><desktop/> to allow disabling popups 2003-09-26 08:22:49 +00:00
Dana Jansens
b192784070 add <dock><moveButton> which can change which button combo is used to move dock apps around in the dock. The new default is A-Left instead of Middle, since soem dock apps use middle, assuming they can! 2003-09-26 07:59:06 +00:00
Dana Jansens
11615ac2c4 make the Desktop action an interactive one 2003-09-26 07:41:32 +00:00
Dana Jansens
07c3a31cf5 make the desktop popup a public function 2003-09-26 07:41:16 +00:00
Dana Jansens
2de2678e91 dont end moveresizes for interactive actions 2003-09-26 07:23:56 +00:00
Dana Jansens
365940477b add some more client tree searching functions. make transients always get focused when a parent has focus, not just direct parents. 2003-09-26 07:08:07 +00:00
Dana Jansens
0a1b9352ca comment the client_search_transient function 2003-09-26 06:49:45 +00:00
Dana Jansens
9933885493 dont include transients in raise/lower interactions 2003-09-26 06:47:02 +00:00
Dana Jansens
35dd3065a9 add ob_wm_state_undecorated to the net_supported hint 2003-09-26 05:11:49 +00:00
Dana Jansens
7dc01bbee7 remove debug print 2003-09-26 04:10:17 +00:00
Dana Jansens
40d58a1e34 use partial struts to determine struts properly for different xinerama heads 2003-09-26 01:40:13 +00:00
Dana Jansens
b4fa843575 add client_set_undecorated().
add support for the _OB_WM_STATE_UNDECORATED state hint.
2003-09-25 23:07:15 +00:00
Dana Jansens
b2dd343095 remove openbox_premax, add ob_wm_state_undecorated 2003-09-25 23:02:32 +00:00
Dana Jansens
caca123b90 dont use the _OPENBOX_PREMAX window property anymore, save max and fullscreen pre-areas in the client struct 2003-09-25 22:47:48 +00:00
Dana Jansens
62b3b8c57e typo 2003-09-25 22:00:36 +00:00
Dana Jansens
1ee19207fb fix a variable used without being initialized case 2003-09-25 22:00:07 +00:00
Dana Jansens
54ccb6a542 focus new children if their direct parent is focused 2003-09-25 19:01:45 +00:00
Dana Jansens
710f41e622 focus nwe transients when another window in their transient tree is focused 2003-09-25 06:41:17 +00:00
Dana Jansens
417bcd67ac indenting 2003-09-25 05:23:08 +00:00
Dana Jansens
a3710c9601 ft was uninitialized 2003-09-25 04:34:47 +00:00
Dana Jansens
2d1b5d6e0a handle the focus_cycle_target being destroyed during cycling 2003-09-25 03:00:30 +00:00
Dana Jansens
e4911d91c8 dont kill interactive actions when the client dies, just remove teh client pointer. 2003-09-24 18:32:05 +00:00
Dana Jansens
1213b079bb add the ObClientActionReq to ObAction which says if an action needs a client for it or not 2003-09-24 18:20:49 +00:00
Dana Jansens
f68cf94d35 support the _KDE_NET_WM_FRAME_STRUT hint 2003-09-24 17:17:59 +00:00
Dana Jansens
624033c32d support the _KDE_WM_CHANGE_STATE hint 2003-09-24 17:17:51 +00:00
Dana Jansens
847a3ef09a remove the kde systray hints, add _kde_wm_change_state and _kde_net_wm_frame_strut 2003-09-24 17:17:34 +00:00
Dana Jansens
00d74f3d61 add PARTIAL_SRUT_EQUAL 2003-09-24 17:16:16 +00:00
Dana Jansens
89d964d9fe hide the dock when reconfiguring otherwise the user has to move the mouse over it to make it hide the first time 2003-09-24 17:16:01 +00:00
Dana Jansens
4cf0d783f7 insert timers in the correct order 2003-09-24 16:56:46 +00:00
Dana Jansens
89286cbe83 fix problems with conflicing interactive desktop switching and send-to-ing 2003-09-24 06:29:09 +00:00
Dana Jansens
9f03493b0c ignore all NotifyInferior crossing events again 2003-09-24 03:07:10 +00:00
Dana Jansens
6d1570210b missing a \n 2003-09-22 17:50:05 +00:00
Dana Jansens
d10c538373 visible is in the frame struct 2003-09-22 05:41:16 +00:00
Dana Jansens
27eb1a7736 ignore non-visible windows too 2003-09-22 05:38:44 +00:00
Dana Jansens
74f36c587c simplify the default bindings 2003-09-22 05:32:56 +00:00
Dana Jansens
87541ea377 s/Activate/Go there/ 2003-09-22 05:04:34 +00:00
Dana Jansens
fe7eefc131 whitespace 2003-09-22 04:56:13 +00:00
Dana Jansens
33d4cd8bfd gettextize the empty desktop string 2003-09-22 04:52:54 +00:00
Dana Jansens
4f3cffb847 change Switch To... to Activate... 2003-09-22 04:52:21 +00:00
Dana Jansens
a43303bdcb dont need to swallow enter events on ungrab cuz we just ignore them all now 2003-09-22 04:23:00 +00:00
Dana Jansens
d5f9df0845 provide a means to properly ignore enter events for focus changes 2003-09-22 04:18:54 +00:00
Dana Jansens
f595277f1c add back focusLast 2003-09-22 04:17:43 +00:00
Dana Jansens
f791f9a35e eat enter events on desktop switch so that our own policy can be applied 2003-09-22 04:16:02 +00:00
Dana Jansens
f68066aa63 we always want to start with something focused, moving this to openbox.c 2003-09-22 04:14:32 +00:00
Dana Jansens
8b5619d0ad add comment 2003-09-22 04:13:34 +00:00
Dana Jansens
2612dbf050 indenting 2003-09-22 03:37:22 +00:00
Dana Jansens
d9e08487df when ending actions which can move windows, and we were using the mouse, instead of doing a focus fallback, which instantly focuses, and doesn't raise, we do an event_enter_client which simulates the act of entering the window with the pointer 2003-09-21 21:26:07 +00:00
Dana Jansens
6538a5ccb2 move the code to find the window under the pointer out of focus.c to client.c 2003-09-21 21:25:23 +00:00
Dana Jansens
6675b28ded place so to avoid windows in layers above the window being placed! 2003-09-21 20:42:38 +00:00
Dana Jansens
1ad1e91e88 add glib.h include 2003-09-21 20:17:58 +00:00
Dana Jansens
b07194a7ae add raiseOnFocus option 2003-09-21 20:17:50 +00:00
Dana Jansens
fe3fbbf210 fix race condition in focus delay 2003-09-21 20:17:23 +00:00
Dana Jansens
eaf9c36c2e ignore ungrab enter notifies for focus 2003-09-21 19:42:01 +00:00
Dana Jansens
227d8b8511 pass the context to action_run_mouse 2003-09-21 19:39:06 +00:00
Dana Jansens
904327a0c8 grab the pointer before doing client actions more intelligently, i.e. only when using sloppy focus.
fallback focus after the action if the action was fired via a mouse binding, otherwise do not. this makes keyboard bindings not fuck with sloppy focus.
2003-09-21 19:38:57 +00:00
Dana Jansens
22bf54526c rename dock/himeTimeout to dock/hideDelay in the config file 2003-09-21 19:31:45 +00:00
Dana Jansens
38370b2e82 dont assert, just ignore client_unfocus() when the client isnt already focused 2003-09-21 18:43:11 +00:00
Dana Jansens
be79af11f6 dont save the appearance when reconfiguring!! that was a crash waiting to happen!!
also reset the border stuff on reconfigure
2003-09-21 18:19:11 +00:00
Dana Jansens
6c4126ec61 allow a number of enter events to be ignored. Don't just skip any enter/leave events as these are used for highlighting hover buttons and ignoring these makes the hover state out of sync sometimes 2003-09-21 18:10:39 +00:00
Dana Jansens
1b75005e0d count the EnterNotify events and tell openbox to ignore them when ungrabbing the pointer 2003-09-21 18:09:48 +00:00
Dana Jansens
a260db31a9 if the keyboard is grabbed then dont ungrab it! 2003-09-21 17:17:34 +00:00
Dana Jansens
32047fd66c export if the keyboard and pointer are currently grabbed or not 2003-09-21 17:17:19 +00:00
Dana Jansens
087ea0e5cb remove that shti 2003-09-21 17:17:00 +00:00
Dana Jansens
34bff2d255 whitespace 2003-09-21 17:12:59 +00:00
Dana Jansens
0aa7f70d91 export if an interactive grab is in progress 2003-09-21 17:12:22 +00:00
Dana Jansens
5f5160b40c dont drop out of dirfocus when there is no new target to be found 2003-09-21 17:03:17 +00:00
Dana Jansens
9960ef2ff9 use the new action_run symantics 2003-09-21 16:58:56 +00:00
Dana Jansens
0cceca2303 dont add null actions to the list 2003-09-21 16:42:15 +00:00
Dana Jansens
617bd951d6 smart xinerama placement for groups 2003-09-19 19:55:21 +00:00
Dana Jansens
b731e0e282 smart placement has a fallback for just groups now too 2003-09-19 19:34:42 +00:00
Dana Jansens
ba05275408 comment 2003-09-19 17:45:33 +00:00
Dana Jansens
e5908c3f89 use the new action ru system which always runs lists of actions instead of individual ones 2003-09-19 17:41:05 +00:00
Dana Jansens
77d8347234 const 2003-09-19 17:40:35 +00:00
Dana Jansens
44fd94ff51 only allow running lists of actions at a time, policy is to always allow multiple action bindings, so this enforces it, and at the same time, UngrabKeyboard() before firing actions if there are no interactive ones. This is needed for some execute's, namely gnome-panel-control --main-menu. 2003-09-19 17:40:26 +00:00
Dana Jansens
19e4820073 properly send resize events for when the app has requested the resize 2003-09-19 16:58:23 +00:00
Dana Jansens
9e60c45cda dont allow 0 desktops 2003-09-19 07:30:07 +00:00
Dana Jansens
abde4bc153 dont split client requested resizes into 2 events, thanks to manmower for this idea 2003-09-18 20:09:16 +00:00
Dana Jansens
2bd406a0a5 make a warning into a debug message 2003-09-18 08:02:05 +00:00
Dana Jansens
fdd1c3c8a7 add a 'Switch to...' entry to empty desktops in the client-list-menu 2003-09-18 06:17:51 +00:00
Dana Jansens
3b1e518dbc while doing a moveresize, the client actions act on will be the client being moveresized 2003-09-18 06:09:44 +00:00
Dana Jansens
5da2b67298 off by one error 2003-09-18 05:23:13 +00:00
Dana Jansens
186824fc13 provide some default bindings, not a complete list from the rc.xml.. yet. 2003-09-17 08:12:23 +00:00