Commit graph

268 commits

Author SHA1 Message Date
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
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
ff08e38027 supply focus_cycle_draw_indicator which draws/moves/resizes the focus cycling indicator 2003-10-09 19:17:51 +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
fe3e73f190 add a focus_hilite variable 2003-10-08 18:28:31 +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
825426373c remoce debug print 2003-09-29 17:10:28 +00:00
Dana Jansens
9bac22eb40 indenting, focus fallback to None not PointerRoot 2003-09-29 10:03:28 +00:00
Dana Jansens
fa962c1604 removing focusLast again.. 2003-09-28 08:45:43 +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
26852af7a1 better focus fallbacking n shit 2003-09-27 06:42:34 +00:00
Dana Jansens
4ae6be577d some smarter focus fallback for sloppy focus 2003-09-27 05:31:40 +00:00
Dana Jansens
ad29434250 remove the dialog options 2003-09-26 20:03:57 +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
4e8eff328c add <dialog><focus/><desktop/> to allow disabling popups 2003-09-26 08:22:49 +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
f595277f1c add back focusLast 2003-09-22 04:17:43 +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
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
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
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
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
0855269035 fix crashing when doing a directional focus with no windows on the desktop 2003-09-15 06:00:00 +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
c6ad57fc73 save the new glist! 2003-09-10 17:39:30 +00:00
Dana Jansens
e68e6c6a53 expose focus_cycle_client 2003-09-08 18:20:09 +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
0745e2ee0a make focus cycling work when not interactive
add focus_directional_cycle
2003-08-31 18:52:23 +00:00
Dana Jansens
2c6c0757fa make interactive actions a type and not special cases.
add the <interactive> option to them to turn off interactivity
2003-08-30 16:58:30 +00:00
Dana Jansens
3c5f6db04c remove the event dispatcher 2003-08-29 06:52:55 +00:00
Dana Jansens
dcb5a38fdb dont force fallbacks within groups 2003-08-25 08:57:09 +00:00
Dana Jansens
5c0f10b6b6 skip windows in the alt-tabbing which have the SKIP_TASKBAR hint set on them 2003-08-14 08:21:33 +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
79e189dbac changes to the timer api, pass the timer to the callback function.
add a desktop-switch popup with the desktop's name
2003-08-09 04:56:12 +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
112629400b simply startup/shutdown 2003-07-10 21:13:35 +00:00
Dana Jansens
1ffc7fa9ec move ob_pointer_pos to screen_pointer_pos 2003-07-10 19:07:58 +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
d1d84711a2 replace the focus_backup with the screen_support_win, we dont need 2 offscreen windows. 2003-07-10 18:44:27 +00:00
Dana Jansens
59f318e897 prefix and capitalize the ObFocusFallbackType enum 2003-07-10 16:42:42 +00:00
Dana Jansens
e4be1f860b prefix TRAN_GROUP to OB_TRAN_GROUP 2003-07-10 07:01:13 +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
Dana Jansens
bd15aab855 put the transient's title before the parent's in the focus popup 2003-07-10 04:36:42 +00:00
Dana Jansens
1cacfa85d0 add some comments and asserts to make sure I don't ever add this bug again 2003-06-29 17:29:10 +00:00
Dana Jansens
34e819738b xinerama support 2003-06-27 04:20:30 +00:00
Dana Jansens
8a8f2c831f remove an extra useless call to focus_set_client(NULL) 2003-06-08 23:25:21 +00:00
Dana Jansens
8a1fa6d3ac allow cycling to iconic windows 2003-06-04 19:30:35 +00:00
Dana Jansens
4cb48bebb5 reverting the transient focus cycle change, its just not.. right. add the parent's title to the transient's for the popup instead of just relpacing it 2003-06-04 18:22:19 +00:00
Dana Jansens
1139d96e7f better focus cycling for transients. use the parent instead of the transients in the list in case it has more than one, then after choosing it try focus a transient instead 2003-06-04 17:33:20 +00:00
Dana Jansens
0ce054c2b5 dont try change focus while looping thru the focus list 2003-06-04 17:17:55 +00:00
Dana Jansens
e0fa57d21c allow focus_fallback to query if a client can be focused without changing the focus order on it 2003-06-04 17:16:50 +00:00
Dana Jansens
d1e355de2c this is a big one! im putting stats in here just cuz!
59 files changed, 1691 insertions(+), 607 deletions(-)
Adding the beginings of ObConf. Adding a resistance-config plugin for ObConf.
Creating an obparser library that obrender can use, the kernel can use, plugins can use, and ObConf and its plugins can use. (its just code for using libXml2)
2003-05-24 21:47:06 +00:00
Dana Jansens
26ebe251a9 add a DEBUG_FOCUS print 2003-05-24 08:39:14 +00:00
Dana Jansens
cd54e31a59 clarify comment 2003-05-24 08:10:28 +00:00
Dana Jansens
a83b590ff6 remove a todo item that seems to be.. done! 2003-05-23 02:03:40 +00:00
Dana Jansens
b69473054b missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now. 2003-05-23 02:00:54 +00:00
Dana Jansens
f41d06f583 include grab.h 2003-05-18 23:05:06 +00:00
Dana Jansens
ac779e65ac grab the mouse during focus cycling. this removes the bug of focusing following the mouse when the popup disappears and fuck up your cycling. 2003-05-18 03:32:34 +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
Dana Jansens
d5eacc5642 add a client_activate function, use it for net_wm_active mesgs and for focus cycling. 2003-05-09 22:53:11 +00:00
Dana Jansens
380ddd2b9c unshade windows when you cycle focus to them 2003-05-09 22:37:19 +00:00
Dana Jansens
f26f23de50 all my changes while i was offline.
better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
2003-05-09 16:57:17 +00:00
Dana Jansens
92d3f2342d add helper functions for manipulating the focus_order list.
move the focus popup into focus.c, out of action.c
allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
2003-04-25 21:27:16 +00:00
Dana Jansens
16a9ac018e let the frame hold a focus state so that it can lie.
dont focus windows while cycling, just highlight them as if they are focused
2003-04-25 19:55:41 +00:00
Dana Jansens
c2b3a49e69 just formatting 2003-04-18 08:46:19 +00:00
Dana Jansens
a5f5b42455 check for client_normal before focusing 2003-04-18 06:55:51 +00:00
Dana Jansens
06663c245a when unfocusing a window (e.g. unmanaging) try fallback to transient relations, if that fails, try group relations, then fallback to other window. 2003-04-18 06:55:28 +00:00
Dana Jansens
9d16ced24e try focus other transients of the parent window when a transient falls back before focusing the parent 2003-04-18 06:32:54 +00:00
Dana Jansens
25ffe6b566 add support for interactive/keyboard move/resize 2003-04-17 06:17:06 +00:00
Dana Jansens
8d3829d160 that was dumb, it was metacity's fault 2003-04-17 01:25:29 +00:00
Dana Jansens
3505a866fe only cycle to visible windows 2003-04-17 01:24:53 +00:00
Dana Jansens
79a352a40b raise menus above clients.
hilight menu entries as the cursor passes over them.
2003-04-16 05:36:51 +00:00
Dana Jansens
5cf61ee023 move the openbox engine into librender and the kernel. the theme is loaded and stored inside librender. the frame is decorated and managed inside the kernel. 2003-04-13 07:18:28 +00:00
Dana Jansens
71badb0790 move config option loading for the kernel into config.c/h
add options for the number of desktops and the names of the desktops
2003-04-08 07:31:26 +00:00
Dana Jansens
c99bb4a049 add more options for focus fallback, use an enum for all the types of fallbacks. 2003-04-08 06:14:53 +00:00
Dana Jansens
40bfb2b6e5 only cycle focus to normal windows 2003-04-08 04:48:39 +00:00
Dana Jansens
f278ec41e4 fallback to transients' parents when possible.
return the Client* which was focused from focus_cycle
2003-04-08 01:03:26 +00:00
Dana Jansens
083f2f5d5d add focusLast and focusLastOnDesktop options in the [focus] section of the rc3. allows more customizaton of the focus model. default to click-focus style. add handling for focus cycling when nothing on the desktop is focused. 2003-04-07 22:29:40 +00:00
Dana Jansens
79ddf91839 remove debug print 2003-04-07 07:28:06 +00:00
Dana Jansens
db086ef336 put focus_cycle into focus.c, use it there in the action. improved it as well to handle odd cases like modal windows. added functions to client.c which are needed by the focus cycling routine. 2003-04-07 03:46:41 +00:00
Dana Jansens
d6f9bc953a allow specifying that some focus events should be ignored for the focus order list 2003-04-05 22:56:10 +00:00
Dana Jansens
bd12517c61 add focus options to the new rc file 2003-04-05 20:47:16 +00:00
Dana Jansens
cbbf90a718 change how rc parsing will work. a=b will be parsed in any [section] and given to a separate parsing callback. no more general config infrastructure needed/ 2003-04-05 20:27:03 +00:00
Dana Jansens
695520283d rm a no-longer-valid comment 2003-03-31 06:46:19 +00:00
Dana Jansens
a6d9be4f66 yet more focus fixings. RevertToPointerRoot could mess things up focusing a client and us ignoring the FocusIn of Pointer type. this is all handled now. 2003-03-30 22:58:04 +00:00
Dana Jansens
4bd182605c killa debug print 2003-03-28 08:22:46 +00:00
Dana Jansens
96a81e8837 handle better the case of choosing the window to focus but it is already focused when switching desktops 2003-03-28 08:21:38 +00:00
Dana Jansens
ad4062833d sync after focusing 2003-03-28 04:12:23 +00:00
Dana Jansens
045c4f035c rm a bunch of prints. make switching to an empty desktop not kill focus 2003-03-28 01:14:22 +00:00
Dana Jansens
6778db7392 better var naming 2003-03-28 00:17:10 +00:00
Dana Jansens
b23c66afd1 dont rm focus when i actually found something to fall back to with the pointer 2003-03-28 00:16:36 +00:00
Dana Jansens
eee483bb47 add code to fallback focus 2003-03-27 23:07:47 +00:00
Dana Jansens
f29dd7e0cd not using CurrentTime anywhere 2003-03-26 15:02:08 +00:00
Dana Jansens
106d5630bf use the last event timestamp when focusing the focus_backup 2003-03-26 14:06:55 +00:00
Dana Jansens
3b14b587ef more focus improvements. everything seems to work! 2003-03-24 04:56:46 +00:00
Dana Jansens
b2c508d97e set focus_order back to null on shutdown so g_renew would work 2003-03-23 18:11:46 +00:00
Dana Jansens
a3c9271ca2 init the focus_client ptr in startup 2003-03-21 10:23:57 +00:00
Dana Jansens
16787d0a17 oops 2003-03-19 09:33:52 +00:00
Dana Jansens
152c638ef1 destroy the focus_backup 2003-03-19 09:32:51 +00:00
Dana Jansens
8428becfde the focus_order shit is init'd by the screen_startup setting the number of desktops 2003-03-19 08:05:58 +00:00
Dana Jansens
648c55b829 move the focus_order lists into the kernel 2003-03-19 07:08:15 +00:00
Dana Jansens
a91a6f97da kill some whitespace 2003-03-18 09:10:48 +00:00
Dana Jansens
77a46782db kill a comment 2003-03-18 09:10:35 +00:00
Dana Jansens
6e29605d41 send the right client for unfocus events 2003-03-18 08:48:14 +00:00
Dana Jansens
002bf5e7e6 send unfocus events after focus events 2003-03-18 08:41:50 +00:00
Dana Jansens
bfea000a74 add a keyboard plugin 2003-03-18 05:29:01 +00:00
Dana Jansens
75b07a2bb3 all events are dispatched 2003-03-17 20:16:32 +00:00
Dana Jansens
9b33f7ded6 stop using python internally. add an event dispatcher 2003-03-17 19:54:37 +00:00
Dana Jansens
f8a47de5ec merge the C branch into HEAD 2003-03-16 21:11:39 +00:00