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