Commit graph

268 commits

Author SHA1 Message Date
Dana Jansens
939fbcfd31 add a comparitor to timers. use this in event.c to let you remove timers from the queue selectively for delayed focus 2007-04-22 04:16:00 +00:00
Dana Jansens
73b490f614 stop delayed focusing when falling back 2007-04-22 03:02:13 +00:00
Dana Jansens
3f2d342de8 hide focus debugging messages 2007-04-21 21:04:35 +00:00
Dana Jansens
33cc572402 drop some wasted client_validates. 2007-03-28 02:00:10 +00:00
Dana Jansens
fb3d2033ba not passing timestamps sometimes and not others. set event_curtime when client messages provide a timestamp. 2007-03-19 17:59:16 +00:00
Dana Jansens
6772ec19fc only refocus the omnipresent window if its allowed 2007-03-15 01:11:52 +00:00
Dana Jansens
34f5bbe4f6 clearer engrish 2007-03-15 01:09:10 +00:00
Dana Jansens
091e296a3d when an omnipresent window has focus and you switch desktops, keep it focused 2007-03-15 01:02:48 +00:00
Dana Jansens
83d987d9ab don't fall back focus to omnipresent windows 2007-03-14 21:15:58 +00:00
Dana Jansens
c80b496bf4 make focus_order into one long list instead of having one per desktop. this actually fixes bugs with omnipresent windows and adding desktops. it is just overall a little nicer i think.
also this is not tested. sorry if it breaks everything.
2007-03-14 21:07:30 +00:00
Dana Jansens
a9175a8a32 save the focus_client when falling back, so we don't actually refocus it when we don't want to. 2007-03-14 15:56:59 +00:00
Dana Jansens
adc5675823 oh, 2 things in this commit..
1) THIS ONE IS IMPORTANT: don't set client->iconfied if the window is not actually going to be allowed to iconify. heh!

2) changes to focus fallback to avoid crashing and to avoid losing focus all at the same time.
2007-03-14 15:51:21 +00:00
Dana Jansens
6b7cc88c9d validate clients before trying to focus them in fallback
also validate before trying to set the focus on a window

this should fix those crashes, and should just be better over all
2007-03-12 05:57:30 +00:00
Dana Jansens
c018e21220 i rewrote handling of focus events. this is pretty much based on blackbox's current form, as well as reading the xlib programming manual at:
http://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html

this may break for people. that'd be nice to hear about, so it can be fixed. but hopefully this is more robust. it sure is a lot more simple.
2007-03-12 05:25:34 +00:00
Dana Jansens
52176d1485 roll back focus fallback change, so it behaves well with new stacking 2007-03-12 02:41:34 +00:00
Dana Jansens
d113b9f33f ok this is from prevous changes but has a bunch of debug stuff in it 2007-03-12 02:34:34 +00:00
Dana Jansens
fe31716486 fallback to transient parents properly 2007-03-11 17:05:07 +00:00
Dana Jansens
62a39c4c70 stacking has been made more reliable with groups and group transients.
this was a pretty invasive change in client.c though, so it may break things?

it did expose some bugginess in client_calc_layer, which is now better than ever, hopefully there isn't more to be found.
2007-03-11 16:58:19 +00:00
Dana Jansens
19b480058e wow... this is a big commit...
all related to _NET_WM_USER_TIME and focus stealing prevention

a) add launcher startup notification. this means when you run something from
   the openbox menu or a key/mouse binding, that startup notification will go
   on in openbox and other applications like your panel or something
b) add the _NET_WM_USER_TIME property for windows
c) use the _NET_WM_USER_TIME data and startup notification to prevent focus
   stealing.
d) cookie party !! ! all are invited.
e) oh yeah, and pass around timestamps for a lot more things. like, when you
   run an action, send the timestamp for the event that is running the action.
   this is important for startup notification. this also affects menus.
f) yes.. cookies..

would it be a good idea to disable focus stealing prevention if a window takes
too long to load? i mean.. maybe after a certain length of time, a user can't be
expected to not do anything in any other windows, but would they still want the
new application to focus then? HMM. open question i guess..
2007-03-11 04:44:15 +00:00
Dana Jansens
8c9b2e8f17 >:| I put old code back somehow.. thanks mika. hooray peer review :) 2007-03-11 00:00:05 +00:00
Dana Jansens
f6265e82e6 1) Remove support for the Urgent hint. This will no longer do anything within Openbox
2) Add support for _NET_WM_STATE_DEMANDS_ATTENTION. Yay!
2007-03-10 23:57:33 +00:00
Dana Jansens
ccebe3c441 skip windows in alt-tab that have SKIP_PAGER set. perhaps this is a better metric.. also this is for mikachu <3 2007-03-10 23:09:27 +00:00
Dana Jansens
42c6cdd0c8 people have started using SKIP_TASKBAR, and it's not for stuff you don't want to be able to alt-tab to. so don't put that in here anymore. 2007-03-10 23:03:08 +00:00
Dana Jansens
56307d6077 a) remove the top_grip_height business from the theme
b) make the focus indicator based on border width and padding, not the handle height
c) add 2 more windows for the top corners for resizing, much easier to find them now. also base their width on padding, not the handle height or other weird things
2007-03-08 01:26:03 +00:00
Dana Jansens
88204502a8 don't use handle_height for focus indicators, use top_grip_height. is this better? 2007-03-05 16:10:32 +00:00
Dana Jansens
ec304c9e43 scary commit..but here goes.
YOUR THEMES ARE NOW OFFICIALLY BROKEN.

Openbox has just moved it's theme format to an XML based one. The details of
this format can be found in data/themerc.xsd (and http://openbox.org/themerc.xsd

ALSO! This is very good and important and stuff! In the tools directory you
will find THEMETOXML ! This tool takes a themerc on stdin, and spits out
the same theme in theme.xml format. So this is all you need to do to update
your themes.

PLEASE NOTE: This themetoxml does _not_ install itself anywhere. It simply
builds and then lives out in its tools/themetoxml directory, and that's it. So
if you want to use it, that is where to find it.

In moving to the new XML format, a number of additions/changes to the theme
engine have been made. Themetoxml takes these into account and will set all
the new things appropriately to make your theme look the same as it always has.

New additions include..
* padding now has an horizontal and vertical component, instead of being one number
* menus can have different borders than windows (color and size)
* menu offset can now be negative. it's a little weird, but someone will want it no doubt
* fonts are no longer controled by the theme at all, however font shadowing is, and on that note..
* font shadows are now any color you want, not just black and white
* you can now set the shadow anywhere you can set the text's color, so you have more control, i.e. you can set shadow on active menu items but not inactive, or disabled, etc.
* every color now has an alpha channel. at the moment they don't do anything, besides the font shadow one, but it leaves room for future explorations. it is REALLY HIGHLY RECOMMENDED that you set the alpha to 255 all the time, until such time as it could be useful. otherwise one day your theme may turn awful for people.
* font colors are in the range 0-255, in case you were wondering, and they have to be specified in decimal
* if you'd like to change you font's you can do so in your configuration file. this is how it is going to stay. changing the font in the theme assumes too much about peoples eye sight and locality and stuff. it doesn't belong there, sorry. the system-wide default rc.xml includes the new font settings for your viewing pleasure, and ill drop an example of it below.
* shadows can now be positioned in any direction, they have both an x and a y offset which can be negative and positive. and offset of 0,0 will disable the shadow

This isn't a release or anything. If someone had some good ideas about the xml theme format, I'd like to hear them. But I don't think it will be changing much right now beyond where it is. I don't even know how the new functionality will play out for themers, so we'll see.

Whew.. I guess that's it. I'm not sure if I mentioned every little change or not, but oh well. Mileage may vary.. Please send any feedback.

Here's the font configuration example. Hopefully ObConf will let you set this real soon.

<theme>
...
  <font place="ActiveWindow">
    <name>arial,sans</name>
    <size>7</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
  <font place="InactiveWindow">
    <name>arial,sans</name>
    <size>7</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
  <font place="MenuTitle">
    <name>arial,sans</name>
    <size>8</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
  <font place="MenuItem">
    <name>arial,sans</name>
    <size>8</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
</theme>
2007-03-05 15:44:17 +00:00
Dana Jansens
de383f35f7 no more using SaveUnder for our openbox-specific windows. it makes things actually slow down, believe it or not! 2007-03-02 22:06:13 +00:00
Dana Jansens
78af5d15e9 this includes a number of things since my magnificent return....
1. some random compiling/style cleanups
2. some bigfixes
 - mislogic in per-window-settings and focusing new windows
 - use client_can_focus rather than checking variables for directional focus
 - MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen.
3. um.. i forget
4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*
2007-03-02 02:23:00 +00:00
Mikael Magnusson
4d50b21835 update copyright step 1 2006-08-22 16:37:35 +00:00
Mikael Magnusson
dce6247e69 really fix focus_last? 2006-08-04 19:56:42 +00:00
Mikael Magnusson
be8bc711b2 make the Unfocus action do something when config_focus_follow is set 2006-08-02 04:45:52 +00:00
Mikael Magnusson
48e3f64bc0 must assign return of g_list_insert_before to list, the start address may have changed 2006-06-11 10:36:31 +00:00
Mikael Magnusson
1ed2670b89 revert patch, doesnt work 2004-08-22 00:23:44 +00:00
Mikael Magnusson
6ec5ccdf63 fix the unfocus action when focuslast is set, patch by faugn 2004-08-22 00:01:45 +00:00
Mikael Magnusson
3afbf3d597 forgot these 2004-06-23 14:06:08 +00:00
Mikael Magnusson
0993012776 try to fix focus switching with mouse actions up a bit 2004-06-23 13:50:26 +00:00
Mikael Magnusson
269fbc0fe0 show parents title in alt-tab popup for titleless transients 2004-03-31 09:56:01 +00:00
Mikael Magnusson
b2b8ad92bf update copyright notices 2004-03-21 11:57:31 +00:00
Mikael Magnusson
dd7c6ad734 add back the focusLast option for the "i lost count"th time 2004-02-24 20:26:08 +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
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
2aa5cd3574 allow parents of transients to be focus cycled to 2003-10-18 22:08:37 +00:00
Dana Jansens
740c5b2a20 consistant glib type usage 2003-10-15 03:59:35 +00:00
Dana Jansens
b051b3499d smarting picking for cycling to windows woth transients 2003-10-13 07:57:43 +00:00
Dana Jansens
ba38a0c856 make em saveunder 2003-10-12 23:44:21 +00:00
Dana Jansens
c2b0272fde color_black was unused 2003-10-11 06:48:13 +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
97ffa9e3e2 make a copy of the color 2003-10-10 05:33:31 +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
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