Commit graph

1606 commits

Author SHA1 Message Date
Dana Jansens
fb0cd13254 dont persist the linear state, not sure why i did it and it breaks stuff. hope changing this doesnt break other stuff!!! closes #1025 2003-12-22 18:54:14 +00:00
Dana Jansens
745e851faa dont have glib reap children, we shall reap them instead to avoid zombies from processes tranferred to us 2003-12-22 18:37:12 +00:00
Dana Jansens
7ae62cc7ef dont make our frame windows override-redirect, so that configure requests are generated if apps try to configure our frame (eg. import -frame) 2003-12-22 18:16:47 +00:00
Dana Jansens
57ddb2751e whitespace 2003-12-22 18:16:02 +00:00
Dana Jansens
eb22848aeb s/guint/gboolean/ oops 2003-12-22 17:43:38 +00:00
Dana Jansens
b11a948442 don't use action_run_string in action.c, pass along the data so that the second action gets all the same flags 2003-12-22 17:38:05 +00:00
Dana Jansens
a6e4aba806 make all dialog typed windows transient for their group if they dont specify a WM_TRANSIENT_FOR hint. 2003-12-22 17:24:51 +00:00
Dana Jansens
b338e27b32 use g_snprintf instead of sprintf 2003-11-11 11:59:50 +00:00
Dana Jansens
064901801e dont go changing the session file all the time, and so then dont need to unlink so we dont end up stalling when the same session is asked for more than once. 2003-11-11 11:54:29 +00:00
Dana Jansens
def76092b5 disable the "Go there" menu entry when its the current desktop 2003-10-27 19:59:11 +00:00
Dana Jansens
7c80db2552 was setting NULL incorrectly to cancel actions and then not checking for NULL before using it 2003-10-27 19:52:49 +00:00
Dana Jansens
671a30187f g_strerror 2003-10-25 19:40:54 +00:00
Dana Jansens
5a1ad84c05 use gpointer for void* 2003-10-25 19:39:19 +00:00
Dana Jansens
16dc1c48c8 oops typo of doom 2003-10-25 19:30:48 +00:00
Dana Jansens
174de91c34 use g_[s]list_next/previous consistantly, and check for "it" instead of "it != NULL" consistantly. props to Logan again :) 2003-10-25 19:27:09 +00:00
Dana Jansens
4cb183401c show a message if chdir() fails 2003-10-25 19:16:57 +00:00
Dana Jansens
eaa3b3aaa7 capitalization consistency 2003-10-25 19:16:38 +00:00
Dana Jansens
938915b8e5 free the GErrror 2003-10-25 19:14:30 +00:00
Dana Jansens
91de569e69 free the GError 2003-10-25 19:14:10 +00:00
Dana Jansens
5cadc1bff5 much improved functions for maknig directories, props to Logan 2003-10-25 19:13:09 +00:00
Dana Jansens
de98f8153b skip taskbar windows dont appear in the client menu 2003-10-23 07:28:14 +00:00
Dana Jansens
9fae7e8b1e dont use the parent's title in the focus cycling dialog 2003-10-18 22:15:32 +00:00
Dana Jansens
7c827e16ba assert that add_new is not making a duplicate entry 2003-10-18 22:11:18 +00:00
Dana Jansens
5cac540f56 add to teh focus order before the call to change_state, since this can remove/add to the focus order, and then we're in there twice 2003-10-18 22:09:29 +00:00
Dana Jansens
2aa5cd3574 allow parents of transients to be focus cycled to 2003-10-18 22:08:37 +00:00
Dana Jansens
8226cd7026 make the all desktops thinger get disabled too 2003-10-17 06:27:14 +00:00
Dana Jansens
18ac56b9db add comment 2003-10-15 17:04:27 +00:00
Dana Jansens
4cd6194f75 add DOCK_NORMAL stacking layer 2003-10-15 16:17:33 +00:00
Dana Jansens
5749f109f9 both must be normal to inherit above/below 2003-10-15 16:14:29 +00:00
Dana Jansens
2e90dfbfec UGLY HACK
makes move/resize events not get queued, so to avoid a race
UGLY HACK
2003-10-15 07:31:24 +00:00
Dana Jansens
53a259f60d focus fallback when focus is on PointerRoot 2003-10-15 07:29:17 +00:00
Dana Jansens
c30df2e750 dont let clients be above and below 2003-10-15 05:50:56 +00:00
Dana Jansens
ae04366751 missing ; 2003-10-15 05:06:16 +00:00
Dana Jansens
415f2cce27 only inherit layer when both windows are the same normal status 2003-10-15 04:56:32 +00:00
Dana Jansens
9b0f5fcde7 delete old save file when changing the session save file 2003-10-15 04:02:38 +00:00
Dana Jansens
740c5b2a20 consistant glib type usage 2003-10-15 03:59:35 +00:00
Dana Jansens
e7e51c3ef7 print the signal handler messages only when debugging 2003-10-15 03:08:47 +00:00
Dana Jansens
fb1627ba90 va_start needs va_end 2003-10-15 03:08:20 +00:00
Dana Jansens
c9233ddb23 unmap and map the client window when the frame is hidden/shown 2003-10-15 03:01:34 +00:00
Dana Jansens
37c9f2d961 fix _NET_WM_STRUT oldschool support 2003-10-14 07:23:42 +00:00
Dana Jansens
e6c9efa71d unhilite windows correctly, forget how to break it without this :) what can i say? im high! 2003-10-14 07:21:54 +00:00
Dana Jansens
94901fab5a remove debug print 2003-10-13 08:04:48 +00:00
Dana Jansens
b051b3499d smarting picking for cycling to windows woth transients 2003-10-13 07:57:43 +00:00
Dana Jansens
f85c50bb4a indenting 2003-10-13 05:53:03 +00:00
Dana Jansens
1d2aa812c6 ignore fullscreen windows in placing 2003-10-13 04:55:00 +00:00
Dana Jansens
dc9c39d042 handle multiple focusin/out in one batch 2003-10-13 04:01:11 +00:00
Dana Jansens
7582194997 indenting 2003-10-13 03:48:52 +00:00
Dana Jansens
2bf58d8fb3 dont put windows below by default 2003-10-13 03:47:52 +00:00
Dana Jansens
420e6f87a6 inherit above/below more carefully 2003-10-13 02:52:59 +00:00
Dana Jansens
90abec9c30 avoid putting dialog windows under higher layered windows 2003-10-13 01:41:03 +00:00
Dana Jansens
b9b3123305 when getting the state, grab the above/below from the max amongst other members of the client's group 2003-10-13 01:10:03 +00:00
Dana Jansens
ef414287e5 fire the destroy fnuction for timers when they are removed 2003-10-13 00:28:25 +00:00
Dana Jansens
ba38a0c856 make em saveunder 2003-10-12 23:44:21 +00:00
Dana Jansens
a2543824e8 when not wrapping, still show the dialog when you reach an edge 2003-10-12 20:46:27 +00:00
Dana Jansens
568744d572 allow focus to be moved off top level managed windows, as long as its not None or the root. 2003-10-12 20:28:35 +00:00
Dana Jansens
ba46126706 indenting 2003-10-12 19:12:39 +00:00
Dana Jansens
380af80a13 woot sexy 2003-10-12 19:06:46 +00:00
Dana Jansens
a38b954a9d the menu's labels are allocated 2003-10-11 17:57:50 +00:00
Dana Jansens
055aa5cd74 gracefully handle grabs failing when doing interactive actions 2003-10-11 16:19:17 +00:00
Dana Jansens
7ca410e663 fix a crasher hopefully 2003-10-11 14:38:45 +00:00
Dana Jansens
cf397b0e60 smarter picking of heads for client windows 2003-10-11 08:24:49 +00:00
Dana Jansens
f5f59cea71 raise windows when they change modality 2003-10-11 08:21:51 +00:00
Dana Jansens
7fe92962cb remove XXX 2003-10-11 08:19:27 +00:00
Dana Jansens
f8f3b3ed13 screw that 2003-10-11 07:43:20 +00:00
Dana Jansens
c1d065243a make _NET_WM_ACTIVATE messages bring the client to the current desktop 2003-10-11 07:40:27 +00:00
Dana Jansens
5592351585 give clients being restored from a session a little more flexibility in lpacement so they will go back where they were when saved 2003-10-11 07:35:05 +00:00
Dana Jansens
c2b0272fde color_black was unused 2003-10-11 06:48:13 +00:00
Dana Jansens
377d20e7bf use RrColorPixel 2003-10-11 06:47:29 +00:00
Dana Jansens
b49b7c415c free menuframes when they fail to show themselves 2003-10-11 06:47:11 +00:00
Dana Jansens
7833271d14 switch to the desktop after activating the client. this means that for omnipresent windows, you still move to the desktop on which you selected it. 2003-10-11 04:11:29 +00:00
Dana Jansens
469b0c1ca9 handle case where session saves a 0 width/height (for maximized windows!) 2003-10-11 03:44:05 +00:00
Dana Jansens
34446063fa if the current SN_WM owner is our window (can this happen?) then ignore it 2003-10-11 03:43:18 +00:00
Dana Jansens
da9bda5e9b remove the --sm-disable from argv 2003-10-10 16:20:48 +00:00
Dana Jansens
c8678108eb indenting 2003-10-10 08:28:18 +00:00
Dana Jansens
1be38a0418 set the defaults for typed windows in client_get_all:
desktop types get put on all desktops
dock types get put in the ABOVE layer
2003-10-10 08:22:14 +00:00
Dana Jansens
e1eff99176 do client_raise after client_focus for new windows 2003-10-10 06:00:27 +00:00
Dana Jansens
423d70b418 dont leave the focus indicator hanging around when dialogs are disabled 2003-10-10 05:56:12 +00:00
Dana Jansens
6212a5ff9c same shit different pile 2003-10-10 05:39:59 +00:00
Dana Jansens
6a00a44b99 indenting 2003-10-10 05:36:02 +00:00
Dana Jansens
97ffa9e3e2 make a copy of the color 2003-10-10 05:33:31 +00:00
Dana Jansens
364bb1550a dont set ret unless you will be returning TRUE 2003-10-10 04:33:12 +00:00
Dana Jansens
6dddd86975 indenting 2003-10-10 04:18:19 +00:00
Dana Jansens
322fc41e49 only restack group windows on the same desktop 2003-10-10 03:45:01 +00:00
Dana Jansens
9eed0756a4 add the focus cycle indicator to directional focus cycling 2003-10-09 19:58:09 +00:00
Dana Jansens
e2389fab78 change the min width of the indicator to 3 and use the actual height of the handle 2003-10-09 19:44:02 +00:00
Dana Jansens
a95a364b9a for very small windows make sure you can resize them larger 2003-10-09 19:40:37 +00:00
Dana Jansens
da226cdeff raise grouped util windows with main windows 2003-10-09 19:29:51 +00:00
Dana Jansens
e5f8c683da smarter avoidance of windows in the focus cycling stuff, doesnt cycle to util windows 2003-10-09 19:29:42 +00:00
Dana Jansens
b84a934ab7 provide function to tell if a client has any group siblings 2003-10-09 19:29:10 +00:00
Dana Jansens
d38c835cef when the frame is adjusted while the focus_cycle_target is that frame's client, then redraw the indicator 2003-10-09 19:18:20 +00:00
Dana Jansens
ff08e38027 supply focus_cycle_draw_indicator which draws/moves/resizes the focus cycling indicator 2003-10-09 19:17:51 +00:00
Dana Jansens
e69da364cc make keyboard events work on the focus_cycle_target again 2003-10-09 19:08:07 +00:00
Dana Jansens
0ba8c17565 use focus_hilite to pick which window gets keyboard events 2003-10-09 18:54:08 +00:00
Dana Jansens
04ab35aa14 show an indicator similar to metacity's for focus cycling windows 2003-10-09 18:49:41 +00:00
Dana Jansens
bb52941999 cancel focus delays when the user runs a focus (or focus cycle) action, and when focusing new windows 2003-10-09 18:49:14 +00:00
Dana Jansens
8e34732b3a let stuff cancel any focus delays going on 2003-10-09 18:48:44 +00:00
Dana Jansens
df436132bd remove windows from the focus delay timer when the pointer leaves them 2003-10-09 17:32:37 +00:00
Dana Jansens
0843ff29b8 disable the decorate option for non-normal (undecorated) windows 2003-10-09 16:51:22 +00:00
Dana Jansens
5c390b9344 indenting 2003-10-09 16:46:54 +00:00
Dana Jansens
133ce865f7 change the labels in the client menu depending on the window's state 2003-10-09 16:45:14 +00:00
Dana Jansens
b7d2693742 dont give decorless windows a border when toggling decorations 2003-10-09 16:36:28 +00:00
Dana Jansens
b9d47c49d6 for dock windows, honor both the above and below states, keeping docks above and below *all* normal windows though (even 'above'/'below' ones). if the dock doesn't specify then it will stack along with normal windows. 2003-10-09 16:34:37 +00:00
Dana Jansens
00f6bbb1ab put dock in the dock_above/below layer 2003-10-09 16:33:30 +00:00
Dana Jansens
8401315466 add a dock below layer, and dock above layer 2003-10-09 16:33:20 +00:00
Dana Jansens
b0d892e975 seggie 2003-10-08 19:23:53 +00:00
Dana Jansens
723ecebc2f use focus_hilite to ensure that when a wnidow thats not focused is hilighted, the hilight is removed when focus gets assigned 2003-10-08 18:29:12 +00:00
Dana Jansens
735ee93689 set focus_hilite when switching desktops and hjilitin a window which isnt focused yet 2003-10-08 18:28:51 +00:00
Dana Jansens
fe3e73f190 add a focus_hilite variable 2003-10-08 18:28:31 +00:00
Dana Jansens
440b862204 indenting 2003-10-08 18:27:30 +00:00
Dana Jansens
b968a7ac19 indenting 2003-10-08 18:27:10 +00:00
Dana Jansens
fb8a9a6363 indenting 2003-10-08 18:23:48 +00:00
Dana Jansens
8852ee21b0 alt-drag resizing can resize in just vertical and horizontal directions now 2003-10-06 17:47:41 +00:00
Dana Jansens
f55766cc55 save premax values properly, individually for each direction 2003-10-06 17:33:23 +00:00
Dana Jansens
92c8e947c9 resist screen physical edges as well as strut edges 2003-10-06 09:30:20 +00:00
Dana Jansens
c4fcfc07e1 dont resize the window when restoring session state if the sizes are invalid 2003-10-03 07:33:27 +00:00
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
Dana Jansens
bdc10887cb provide a way to remove all bindings 2003-09-17 08:11:59 +00:00
Dana Jansens
ebe3091560 const 2003-09-17 08:01:37 +00:00
Dana Jansens
16f46c296d no tabs 2003-09-17 07:44:49 +00:00
Dana Jansens
c4e4760c41 add copyright headers, adjust --version output to include copyright, and --help output to not include version output. 2003-09-17 07:32:52 +00:00
Dana Jansens
88b8398342 add the MoveResize context, which is used while doing a move/resize on a window. Actions bound in this context can be executed with the mouse during a move/resize on a window. 2003-09-17 06:44:04 +00:00
Dana Jansens
96f9db0d0c api cleanups for render/theme.h 2003-09-17 06:21:35 +00:00
Dana Jansens
ad7fd99f1d use the theme padding for the menu title's size 2003-09-17 06:10:29 +00:00
Dana Jansens
f85a855417 make ob_exit() take an error code. don't exit with 0 for signals other than TERM and INT. 2003-09-17 02:50:20 +00:00
Dana Jansens
275c44c386 move where grabs are init'd since they use the screen_support_win now 2003-09-17 02:41:17 +00:00
Dana Jansens
ec4c9b0c1f remoev unneeded include 2003-09-17 02:39:59 +00:00
Dana Jansens
dbd3e9b6b2 allow the use of keycodes directly in key bindings 2003-09-17 02:37:52 +00:00
Dana Jansens
b288fdee41 dont assert if a moveresize is started while one is in progress. apps could do this with client messages, or the user can easily do it with actions. 2003-09-16 08:02:13 +00:00
Dana Jansens
3ce8f83674 grab the pointer on the screen_support_win, causing all mouse events during a grab to not be acted on as if they were on the root window/context 2003-09-16 07:48:55 +00:00
Dana Jansens
3c38171fde fallback when nothing is focused and we switch desktops! 2003-09-16 06:59:48 +00:00
Dana Jansens
e334f7b199 ifdef DEBUG_FOCUS focus output 2003-09-16 06:52:23 +00:00
Dana Jansens
c1b2fc5324 make openbox base-dir spec compliant, and change the theme dir structure, so that themes go in $XDG_DATA_DIRS/themes/ with gtk/metacity/whateverelse themes 2003-09-15 19:20:05 +00:00
Dana Jansens
3a607fad9d revert my commit of d3th, it fucked up focus badly 2003-09-15 11:29:17 +00:00
Dana Jansens
ebf24d5224 raise all the windows with the transient 2003-09-15 11:27:46 +00:00
Dana Jansens
db50fd3026 raise all parents with a transient 2003-09-15 11:15:00 +00:00
Dana Jansens
4ccc4c5ed7 break focus. or maybe make it better.
these changes make it work when you alt-tab off a fullscreen window, that it doesnt iconify, and that it is immediately restacked instead of waiting for a FocusIn event to arrive. The code now assumes that if the window says it can focus, that if we focus it, it is focused.
add the XDone handler to ObMainLoop, which is fired upon the occurance of there being no more X events to read.
2003-09-15 10:54:07 +00:00
Dana Jansens
1767616825 dont leave non-submenu items selected when the mouse isnt over them 2003-09-15 08:29:50 +00:00
Dana Jansens
92a6b897a0 remove focusLast and focusLastOnDesktop 2003-09-15 07:47:05 +00:00
Dana Jansens
e14a4eeee9 fix directional focus when nothing is focused 2003-09-15 07:21:10 +00:00
Dana Jansens
4ba5ce3ced use the sm_client_id in the client struct 2003-09-15 06:50:41 +00:00
Dana Jansens
3e9d050ffe save the sm_client_id just like saving other properties, dont query each time its needed 2003-09-15 06:50:25 +00:00
Dana Jansens
9e746b6439 propogate property changes on the group leader to the whole group 2003-09-15 06:50:13 +00:00
Dana Jansens
0242bc2ec8 remove debug prints 2003-09-15 06:37:32 +00:00
Dana Jansens
ada2eb8fe5 remove debug print 2003-09-15 06:37:13 +00:00
Dana Jansens
5e27544d07 sloppy focus fixes, ignore a few more enter events 2003-09-15 06:12:07 +00:00
Dana Jansens
0855269035 fix crashing when doing a directional focus with no windows on the desktop 2003-09-15 06:00:00 +00:00
Dana Jansens
52d751ecd6 best fit only one direction 2003-09-15 05:24:05 +00:00
Dana Jansens
eb7229603e no center in the first smart-place 2003-09-15 05:05:58 +00:00
Dana Jansens
52e7547433 sort smallest to largest area 2003-09-15 04:59:23 +00:00
Dana Jansens
e5703910d0 2 passes at smart placement 2003-09-15 04:32:06 +00:00
Dana Jansens
21c29cba10 smart placement only avoids the focused window, and centers in its area 2003-09-15 04:18:08 +00:00
Dana Jansens
617a98d432 whitespace 2003-09-15 03:36:15 +00:00
Dana Jansens
b0a476249a fallback to random when focus follows mouse is off 2003-09-15 03:27:45 +00:00
Dana Jansens
4bb7543de6 fix comment 2003-09-15 03:24:27 +00:00
Dana Jansens
1f451f5de0 oops backwarsd 2003-09-15 03:22:58 +00:00
Dana Jansens
4185168f9d dont use continue 2003-09-15 03:21:50 +00:00
Dana Jansens
e3e850b718 remove blank line 2003-09-15 03:21:00 +00:00
Dana Jansens
0d5d92426f allow more than one timer to work at a time 2003-09-15 03:02:26 +00:00
Dana Jansens
48d0d42685 allow more than one timer to process at a time 2003-09-15 02:56:41 +00:00
Dana Jansens
a9ae2f481a apply gravity to the chosen coords, bound the undermouse placement 2003-09-15 02:34:07 +00:00
Dana Jansens
e8c1967aa2 always use smart placement, add under-mouse placement for the fallback 2003-09-15 02:20:38 +00:00
Dana Jansens
9fe2ce3f85 dont count !normal clients for placement 2003-09-15 02:07:46 +00:00
Dana Jansens
9866570c7e added smart placement 2003-09-15 02:05:40 +00:00
Dana Jansens
ef7c210750 use the new RECT_LEFT/RIGHT/TOP/BOTTOM for clarity 2003-09-15 02:05:10 +00:00
Dana Jansens
d193fc4a3d add some interesection shit, and RECT_LEFT/RIGHT/TOP/BOTTOM 2003-09-15 02:03:58 +00:00
Dana Jansens
9decfe0d76 kill the padding in the menu title 2003-09-14 21:33:08 +00:00
Dana Jansens
1ce84062b4 dont raise parents of transients when the transient is raised 2003-09-14 21:13:50 +00:00
Dana Jansens
0a220fb6a1 adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end 2003-09-14 21:09:51 +00:00
Dana Jansens
13bbcdd86b dont redraw the frames when changing their theme 2003-09-14 21:08:21 +00:00
Dana Jansens
2877e9a248 remove the x event handler 2003-09-14 21:07:38 +00:00
Dana Jansens
c9ef2f0118 dont bother fucking everythign up when the desktops number hasnt changed 2003-09-14 21:07:06 +00:00
Dana Jansens
9a7db27b46 fix mem leak 2003-09-14 21:06:43 +00:00
Dana Jansens
11e28eaa5c update the menus before putting them in the visible list 2003-09-14 21:06:20 +00:00
Dana Jansens
abd2f914df fix a mem leak, and make suer the menus arent visible when they are modified 2003-09-14 21:04:30 +00:00
Dana Jansens
25e1e32f54 fix mem leak, remove teh ice watch handler 2003-09-14 20:57:14 +00:00
Dana Jansens
673383d047 fix mem leak 2003-09-14 20:56:48 +00:00
Dana Jansens
b317f01403 dont impose staying on-screen for non-normal windows like kicker 2003-09-14 18:35:21 +00:00
Dana Jansens
9054a91da3 move moveresize_startup/shutdown so its between its deps 2003-09-14 07:35:49 +00:00
Dana Jansens
b35682fbd0 only sopt moveresize when shutting down 2003-09-14 07:35:24 +00:00
Dana Jansens
be15e8c01c stop any moveresizes on shutdown 2003-09-14 07:18:41 +00:00
Dana Jansens
d89391ec94 dont waste a strdup which is never freed 2003-09-14 06:40:33 +00:00
Dana Jansens
861cfbdabe fix a memory leak in the mainloop timers correctly 2003-09-14 05:01:54 +00:00
Dana Jansens
70a31e8904 fix a memory leak in the mainloop timers 2003-09-14 04:40:09 +00:00
Dana Jansens
4be58bf137 new popups with subclasses, added an ObIconPopup for popups with icons, and ObPagerPopup, for a popup with a pager on it.
better logic also for the desktop layout code figuring out how many rows and columns there are.
2003-09-12 06:00:17 +00:00
Dana Jansens
5941c924e8 80 cols 2003-09-12 01:39:21 +00:00
Dana Jansens
988c096389 start the session shit, and grab the params before grabbing the rest of the parameters (and erroring on invalid ones) 2003-09-12 01:31:41 +00:00
Dana Jansens
49a73ce15c add support for a default icon, but no icon has been made yet. 2003-09-12 01:11:33 +00:00
Dana Jansens
9caa096ad9 frame context fallbacks when there is no binding on the context 2003-09-10 20:05:06 +00:00
Dana Jansens
0453a1dbed make menu hiding-on-release based on a timer rather than on where it is released (on the frame border) 2003-09-10 19:37:52 +00:00
Dana Jansens
8d68a400d4 s/milli/micro/ 2003-09-10 18:18:42 +00:00
Dana Jansens
36b78531e9 hide menus before showing a new menu root 2003-09-10 18:14:44 +00:00
Dana Jansens
00f6dea058 keep menus taller than the screen from jittering. also keep the half of the menu you're in visible. more precision would be nicer but meh for now (ever) i guess. 2003-09-10 18:00:08 +00:00
Dana Jansens
c6ad57fc73 save the new glist! 2003-09-10 17:39:30 +00:00
Dana Jansens
fe2f637e2b when the client for an interactive action is closed, kill the action 2003-09-10 17:21:27 +00:00
Dana Jansens
3541c60fcb use the current size not the start size for moving 2003-09-10 17:13:57 +00:00
Dana Jansens
7b7bf43fc9 use the focus client when the client is null for keyboard events 2003-09-10 17:12:26 +00:00
Dana Jansens
396eb330ac oops, copypaste 2003-09-10 17:11:46 +00:00
Dana Jansens
d4f192394f dont deref the client before checking for null 2003-09-10 17:10:11 +00:00
Dana Jansens
e1b6c6dd90 use theme.show_handle 2003-09-10 17:03:29 +00:00
Dana Jansens
3fcba81510 save teh client for interactive actions cuz after teh keyboard is grabbed there is no client 2003-09-09 08:05:06 +00:00
Dana Jansens
8fe0cb8989 no more interactive mouse actions, they are evil etc. actions now "feel" much more solid. if move/resizing a window while changing workspaces, it will follow. 2003-09-09 07:16:38 +00:00