Commit graph

256 commits

Author SHA1 Message Date
Dana Jansens
e2f3c00224 remove debug prints 2003-10-03 04:20:23 +00:00
Dana Jansens
9bd60fd92b dont queue up interative end actions 2003-10-02 04:06:40 +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
474a40754b only do sloppy focus/raise if the client is not already focused 2003-09-29 08:02:16 +00:00
Dana Jansens
43dabc2b9b remove unused var 2003-09-29 03:37:12 +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
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
896098c961 use client_raise/lower instead of action_run_string 2003-09-26 18:18:15 +00:00
Dana Jansens
31b2dffbbe use action_run_string for raising/lowering 2003-09-26 18:02:08 +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
9f03493b0c ignore all NotifyInferior crossing events again 2003-09-24 03:07:10 +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
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
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
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
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
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
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
e334f7b199 ifdef DEBUG_FOCUS focus output 2003-09-16 06:52:23 +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
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
9e746b6439 propogate property changes on the group leader to the whole group 2003-09-15 06:50: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
25e1e32f54 fix mem leak, remove teh ice watch handler 2003-09-14 20:57:14 +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
7b7bf43fc9 use the focus client when the client is null for keyboard events 2003-09-10 17:12:26 +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
Dana Jansens
b8e4eecc9f act on the visibly focused window when that differs from the actual focused window 2003-09-08 18:19:04 +00:00
Dana Jansens
78282959f9 little bit of an actions overhaul, added action_run* so that duplicated code can all be in the same place now woot.
allow actions to specify when they can be used (ShowMenu cant in the OB_USER_ACTION_MENU_SELECTION case)
remove KeyboardMove ad KeyboardResize. Instead, just use Move and Resize and determine if it should be a keyboard move/resize in the code
2003-09-07 19:03:20 +00:00
Dana Jansens
09ada49a80 \n's at the end of strings passed to ob_debg 2003-09-06 09:26:32 +00:00
Dana Jansens
f78b849af2 use the ob_main_loop_timeout_remove_data to only remove one timer 2003-09-03 21:18:19 +00:00
Dana Jansens
889c5aab4f remove the startup notification code from event.c, it all lives in its own file now 2003-09-03 20:36:25 +00:00
Dana Jansens
806a8c411f add a reconfigure action, also reconfigure on SIGUSR2.
support reconfiguring throughout the entire codebase.
2003-09-03 18:11:39 +00:00
Dana Jansens
3f372aaebf make focusDelay check the destroying window properly before killing the timer 2003-09-03 15:39:27 +00:00
Dana Jansens
418095b48e add the focusDelay option 2003-09-03 08:12:07 +00:00
Dana Jansens
030fabad14 remove debug print 2003-08-31 19:58:39 +00:00
Dana Jansens
d298cfb786 compress events properly 2003-08-31 19:50:17 +00:00
Dana Jansens
6de84db80d compress motion events 2003-08-30 18:59:44 +00:00
Dana Jansens
de4f92ccc6 using the ObMainLoop, which rulz the planet 2003-08-30 07:20:16 +00:00
Dana Jansens
53134db127 properly select the first menu item in the child menu when using the 'right' keycode 2003-08-29 08:52:12 +00:00
Dana Jansens
7317d17c76 missing break would be bad in future if added more cases 2003-08-29 08:49:41 +00:00
Dana Jansens
dcdc325f5c ultra-keyboard-controlled-menus 2003-08-29 08:44:55 +00:00
Dana Jansens
3c5f6db04c remove the event dispatcher 2003-08-29 06:52:55 +00:00
Dana Jansens
ec9dd7fdd7 new method for loading menu files etc 2003-08-28 17:32:49 +00:00
Dana Jansens
f7eb47dba4 make client-list-menu work too
more menu cleanups
2003-08-28 07:34:03 +00:00
Dana Jansens
615cbd9607 change the menu plugin interface, no need for the create/destroy functions any more.
redo the client-menu plugin to work with the new menu api
2003-08-28 05:44:13 +00:00
Dana Jansens
c34ef4028e half way through the changes to new menu code/design. hot shit. static menus work, on to plugins next. 2003-08-28 02:10:23 +00:00
Dana Jansens
56cc3dc663 more typo :) 2003-08-27 18:53:25 +00:00
Dana Jansens
d075ca0993 typo :) 2003-08-27 18:52:15 +00:00
Dana Jansens
a32c2c125c dont be rude to non-normal windows with keeping them onscreen 2003-08-27 18:50:12 +00:00
Dana Jansens
8173509e90 double deref, props to 'mmj' for spotting this 2003-08-27 05:20:27 +00:00
Dana Jansens
a09984bbc0 add an obscured flag that tracks if the frame is at all obscured 2003-08-20 23:01:56 +00:00
Dana Jansens
888c3d1f6a make activate take a here parameter 2003-08-14 05:57:45 +00:00
Dana Jansens
c90da6da78 move the keyboard and mouse plugins into the kernel for mucho sexiness.
make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all.
this is some hot shit.
2003-08-12 07:26:16 +00:00
Dana Jansens
cb49f853c9 keep event_lasttime at the last time an event has come in so far, don't regress when events come out of order. props to shrimpx for this patch. 2003-08-12 04:06:30 +00:00
Scott Moynes
164a095375 Fix lock up when not using a session manager and doing fd management. 2003-08-07 17:06:12 +00:00
Dana Jansens
be7c0d426a use the frame size not the client size when figuring out if stuff fits on the screen 2003-08-02 18:09:46 +00:00
Dana Jansens
1aa0bc66eb improved ICCCM compliance!
a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
  b) send the corrent coords in the ConfigureNotify, including the border width
  c) remove the WM_STATE property when unmanaging a window
2003-07-30 06:19:15 +00:00
Dana Jansens
64884e4390 i am the king of copy/paste errors 2003-07-29 11:19:57 +00:00
Scott Moynes
df0f00848a more menu fixes.
I hate menus.
2003-07-29 01:29:12 +00:00
Scott Moynes
dd33644de4 Close menu properly on unbound keys. 2003-07-29 01:04:22 +00:00
Dana Jansens
b799cfd9a3 base rudeness on if they have a strut even smarter! 2003-07-28 19:59:37 +00:00
Dana Jansens
067776e783 base rudeness on if they have a strut or not 2003-07-28 19:56:52 +00:00
Dana Jansens
4d82dd3017 make the new placement restrictions not affect !normal windows like panels 2003-07-28 19:53:54 +00:00
Dana Jansens
742106511f hover theme elements for window titlebar buttons 2003-07-28 19:21:45 +00:00
Dana Jansens
950516124f make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java. 2003-07-28 18:06:55 +00:00
Dana Jansens
d8d2fd7148 make things compile again. hover does not work yet. 2003-07-28 16:24:20 +00:00
Dana Jansens
eb1fb5580e keep apps from moving/maping their titlebar underneath left/top panels 2003-07-28 07:19:47 +00:00
Scott Moynes
f37a919095 Menu stuff.
Testing may begin.
2003-07-28 02:52:56 +00:00
Scott Moynes
b8715ba309 Close menu on click if outside the menu.
I think, haven't tested.
2003-07-26 19:58:22 +00:00
Scott Moynes
3c92311b3c Some menu updates.
Don't talk to me about menus.
2003-07-26 06:02:58 +00:00
Scott Moynes
d51702affa I had a commit message but my commit got stepped on so fuck it.
No one cares what I think anyway.
If the menu navigation isn't EXACTLY FUCKING RIGHT I WILL REMOVE IT
AND SOME OTHER POOR FUCK CAN PUT UP WITH ALL THE FUCKING BULLSHIT.
2003-07-24 06:10:55 +00:00
Dana Jansens
5be0a82a35 use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it 2003-07-24 06:02:38 +00:00
Dana Jansens
845833226b add the --replace command line option, and support for the WM_Sn selection 2003-07-22 18:09:41 +00:00
Scott Moynes
ea53850762 Keyboard navigatable menus 2003-07-21 23:19:03 +00:00
Dana Jansens
a95dc346fe prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
make the ObMenuEntryRenderType a standard enum instead bitflags
2003-07-10 19:27:12 +00:00
Dana Jansens
bddbe94328 make ob_state a function so it cant be changed outside of openbox.c 2003-07-10 19:06:00 +00:00
Dana Jansens
35418ca0fc remove the ob_root var, its redundant of what Xlib already provides 2003-07-10 19:01:41 +00:00
Dana Jansens
eea43e6488 make the ob_restart/shutdown stuff static vars and expose them only through functions ob_restart_other(), ob_restart() and ob_exit() 2003-07-10 18:50:47 +00:00
Dana Jansens
122d55fbad prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
less includes in headers for less rebuilding on changes
2003-07-10 17:03:05 +00:00
Dana Jansens
59f318e897 prefix and capitalize the ObFocusFallbackType enum 2003-07-10 16:42:42 +00:00
Dana Jansens
d206303a9f prefixing for the dock. use ObDirection instead of dupliacting it in another enum for the dock's placement 2003-07-10 16:29:40 +00:00
Dana Jansens
7d943a950e prefixing and capitalization for the Frame->ObFrame struct and the Context->ObFrameContext enum and its constants. 2003-07-10 07:16:19 +00:00
Dana Jansens
2477a38d2f rename the Client struct to ObClient 2003-07-10 06:38:42 +00:00
Dana Jansens
276b2be581 add misc.h with some standard enumerations with proper prefixing and capitalizations.
use the new enums throughout.

provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
2003-07-10 06:18:47 +00:00
Dana Jansens
6357583c39 rename 'xinerama' stuff to 'monitors' to be more generic and descriptive. 2003-07-10 05:44:23 +00:00
Scott Moynes
19df0324a6 Makes a simple click not so accidently annoying by making it not
execute a menu action if nothing is highlighted.
2003-06-30 23:06:50 +00:00
Dana Jansens
e846063fa8 4 space indents 2003-06-27 00:03:43 +00:00
Dana Jansens
0423b057ed clear the over item in the menu when executing shit 2003-06-26 07:22:29 +00:00
Dana Jansens
549627402c only render if there was an over existing 2003-06-25 18:46:51 +00:00
Dana Jansens
7af1c6a9c3 menus grab the keyboard and pointer, thus making only one menu visible at a time, and making them act like gtk menus and * menus do, where you can click and drag and release to select something as well as click-release to elave it open while you search around the menu 2003-06-25 18:43:42 +00:00
Dana Jansens
77062863f3 moveresize messages are not user-requests 2003-06-21 18:10:04 +00:00