Commit graph

236 commits

Author SHA1 Message Date
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
Dana Jansens
373a4584d6 make session management optional 2003-06-21 08:45:25 +00:00
Dana Jansens
b3e9fea103 add libSM *client* support, so we should work with gnome-session now! 2003-06-21 05:31:54 +00:00
Dana Jansens
7c13920066 this cnofigure is FINAL! 2003-06-08 01:18:51 +00:00
Dana Jansens
dc7a267af0 there's this case where we DONT want to ignore both events or we end up without anything we know of being focused, even tho something is. this case is now covered. ps i hate focus so much. 2003-05-24 08:38:37 +00:00
Dana Jansens
b1fe0dbbc2 dont refocus the focused window, that just causes so many problems (with alt-tab :) 2003-05-23 20:17:22 +00:00
Dana Jansens
493e7d4a6e ignore ancestor FocusIn events. i get them sometimes when hitting alt-tab and that totally fucks it up cuz it cancels teh alt-tab process. 2003-05-23 01:27:46 +00:00
Dana Jansens
d3980aa459 only button 1 can use menu items 2003-05-22 21:33:44 +00:00
Dana Jansens
3669da9cdd a missing break! 2003-05-22 05:23:41 +00:00
Scott Moynes
71d2605e1c Client menus
Add "client_menu" to pluginrc to use.
2003-05-21 23:58:40 +00:00
Dana Jansens
993fc6226d 2 in 1 deal :\
client.c stacking.c: fixing looping transient case for group transient windows. now a window which is transient for a group is *not* transient for any other transient windows in the group (perviously the other window had to be transient for the group to be excluded, now it can be transient for anything).

client.c/h event.c render.c/h: adjustnig icon handling a bit. will be converting the legacy pixmap icons into rgba data so they can be handled the same as netwm icons.
2003-05-18 17:09:55 +00:00
Dana Jansens
2b2beddc74 add (optional) support for showing a busy cursor via startup notification 2003-05-18 02:10:26 +00:00
Dana Jansens
f6b61bb60e disallow drag events on title buttons.
dont redraw title button when the wheel buttons are used on them.
2003-05-17 15:16:45 +00:00
Dana Jansens
2d6c9a7ba6 remove debug prints 2003-05-16 18:34:51 +00:00
Dana Jansens
a0691941e8 dockapps are ObWindows now.
set the type when creating new dockapps.
2003-05-16 18:34:29 +00:00
Dana Jansens
b77e40e1c7 rename "Slit" to "Dock".
add config options to the rc3 for the dock.
create a window_map, add DockApps to the ObWindow types, use the window_map for translating windows into objects for event handling (only one lookup now) and remove the old maps (client_map, menu_map).
2003-05-16 18:10:10 +00:00
Dana Jansens
8367ab14e8 movnig shit around 2003-05-16 15:15:30 +00:00
Scott Moynes
78a8680cd7 Added a menu to read from a pipe.
File descriptors added to the event loop.
2003-05-14 03:34:29 +00:00
Dana Jansens
7c7868f47d add internal popups n shit to the stacking list.
some cleanups for the stacking order hint.
add non-opaque move/resize. cant toggle it yet.
2003-05-11 23:31:43 +00:00
Dana Jansens
81cc0749f8 Menus put themselves into the stacking list.
Clicking on the menu (but not on an entry) will raise it.
2003-05-11 19:50:30 +00:00
Dana Jansens
58cfbb7f84 Clients Menus and Slits are all 'ObWindow's now.
Stacking is done with ObWindows.
Slits add themselves to the stacking order, as do clients of course.
Added some macros for adding/removing to the stacking order.
2003-05-11 19:44:33 +00:00