Dana Jansens
12bbc0cc43
use focus_cycle_stop to cancel focus cycling
2007-05-26 20:52:21 +00:00
Dana Jansens
508ce538c0
when canceling focus cycling, cancel both normal and directional
2007-05-26 20:48:52 +00:00
Dana Jansens
a76ac8205c
don't crash when a window adds itself to the focus order while cycling
2007-05-26 20:43:08 +00:00
Dana Jansens
959fff5e1c
drop the startup notify timeout from 30 to 20 seconds
2007-05-26 19:58:20 +00:00
Dana Jansens
23f9ae2768
add a comment about the last revision
2007-05-26 19:48:55 +00:00
Dana Jansens
47a4c3324a
don't map the client window when grabbing the frame. we need to set up the client and send configurenotifies and stuff *before* sending the map notify
2007-05-26 19:46:28 +00:00
Dana Jansens
16ae58681e
remove a debug print
2007-05-26 17:36:05 +00:00
Dana Jansens
09f4483ce0
fix titleleft and titleright for fullmax windows without decorations
2007-05-26 15:53:05 +00:00
Dana Jansens
a8fe821fdd
use the PSize and USSize hints to decide to resize windows on map or not
2007-05-26 15:38:54 +00:00
Dana Jansens
e9ccc6a82e
fix a debug print
2007-05-26 15:25:57 +00:00
Dana Jansens
fd2fe67592
+1 in the wrong place meant bad decorations
2007-05-26 15:22:18 +00:00
Dana Jansens
7d164842e0
give focus to new windows when *any* relative already has focus..
...
don't give it when it will not go to the window anyway tho, like if there is already a modal child for it
2007-05-26 14:56:53 +00:00
Dana Jansens
5a1fa9210d
add a debug print
2007-05-26 03:09:45 +00:00
Dana Jansens
b60cf73900
only auto-activate normal windows when they raise themselves (not splash screens or panels or desktops - what desktop would raise itself heh)
2007-05-26 03:08:07 +00:00
Dana Jansens
de76611e8a
only preserve focus for normal omnipresent windows
2007-05-25 23:42:44 +00:00
Dana Jansens
40f20e93ca
move some code aaround for focusing. proper layer calculation for fullscreen windows based on focus. hopeuflly not break sometihng else.
2007-05-25 22:55:37 +00:00
Dana Jansens
9d0dfca7b0
i broke desktop switching
2007-05-25 21:40:24 +00:00
Dana Jansens
e10c54137a
let you use control button to run keyboard accels in menus
2007-05-25 19:01:57 +00:00
Dana Jansens
5d5156dcb3
dont use empty desktop names from the rc file
2007-05-25 17:49:15 +00:00
Dana Jansens
1f71a0db72
small optimization heh for screen_set_desktop - set the root proerty less
...
initialize screen_last_desktop properly
2007-05-25 15:49:16 +00:00
Dana Jansens
ad8e8d4988
less negatives means less confusing.. but yeah. get rid of omnipresent check in focus_fallback
2007-05-25 15:41:14 +00:00
Mikael Magnusson
cca8a90301
haha typo etc
2007-05-25 15:36:26 +00:00
Mikael Magnusson
91dbbeb65e
missed a spot
2007-05-25 15:35:24 +00:00
Mikael Magnusson
ddd2a4da21
check desktop switching stuff in screen_set_desktop
2007-05-25 15:34:31 +00:00
Dana Jansens
336011efb1
prevent flicker in the follow actiosn again instead of in focus fallback. focus fallback needs to be very reliable.
2007-05-25 15:23:48 +00:00
Dana Jansens
7cf4c970ae
debug print in focus.c
...
when focus goes to something that isn't a client (window already unmapped) then set focus_client to NULL so we know nothing has focus right now
2007-05-25 15:02:20 +00:00
Dana Jansens
6a9d502f20
put the actions back so they don't have to be smart.
...
make focus_fallback not send focus anywhere if the new target is the same as what is already focused
2007-05-25 14:44:49 +00:00
Mikael Magnusson
c83832887b
make omnipresent windows not flicker when changing desktops
2007-05-25 14:31:24 +00:00
Dana Jansens
9cb80fc994
save the focus_client when falling back
2007-05-25 14:26:12 +00:00
Dana Jansens
9f7554a4fe
backwards logic
2007-05-25 14:21:48 +00:00
Dana Jansens
ae65a6b25e
cleanup, and don't send windows to desktop if they are already there
2007-05-25 14:18:45 +00:00
Dana Jansens
912f8eed50
don't fallback focus if the focused client is being moved there and follow is on
2007-05-25 14:16:43 +00:00
Dana Jansens
d1570968cf
put the hostname in icon titles too
2007-05-25 14:08:54 +00:00
Dana Jansens
38d1f2cba6
send iconic windows to the bottom of the focus list so you can a-s-tab tog get back what you just iconified
2007-05-25 14:07:34 +00:00
Dana Jansens
c9850a8189
prevent very small windows from having elements with negative or zero sizes
2007-05-24 23:30:16 +00:00
Dana Jansens
f638c5b8fa
some focus changes...
...
1) listen for inferiornotify. that way when iconify animating reverts to parent, we see it.
2) set client to null when falling back and update the root window property
3) get rid of the "focus didnt move anywhere" business, and just process the envents in the right order.
2007-05-24 21:50:35 +00:00
Dana Jansens
70fc99f90e
stop unmapping the plate window. that was just a coincidence that it fixed the libwnck stuff
2007-05-24 21:49:32 +00:00
Mikael Magnusson
37aaf4c1e4
merge r6815 from 3.4-working (!) 'fix positioning of tlt, top and trt resize elements. thanks mulberry'
2007-05-24 21:39:23 +00:00
Dana Jansens
f9cf8fcea8
dont give focus to transients when the situation is ambiguous
2007-05-24 21:01:19 +00:00
Dana Jansens
33d48c5271
add a debug print
2007-05-24 20:33:55 +00:00
Dana Jansens
081c7c0cfe
experimental change. when apps map, make them fit inside the struts and the screen and stuff, unless they are user-positioned
2007-05-24 20:29:30 +00:00
Dana Jansens
689157e869
only put a transient for the group onto some other desktop if its whole group is over there
2007-05-24 19:38:03 +00:00
Dana Jansens
e2da966bcb
choose the closest icon size, not always the first icon. :X
2007-05-24 19:28:22 +00:00
Dana Jansens
10e08f6cd8
use maximized state to try find fullscreen sized windows that shouldnt be considered fullscreen, instead of using the undecorated flag
2007-05-24 12:47:19 +00:00
Dana Jansens
b526714861
kill the top and bottom resize contexts for max-vert windows
2007-05-24 03:13:24 +00:00
Dana Jansens
48314dc246
i remembered why i remvoed the fake enter events from press type actions moving windows around. it makes for focus events with notifywhilegrab. remove it and make a comment explaining why.
2007-05-23 17:34:09 +00:00
Dana Jansens
192cc6b4f4
don't let you maximize menu and toolbars
2007-05-23 16:17:03 +00:00
Dana Jansens
630d9504d3
let you iconify utility windows
2007-05-23 16:13:50 +00:00
Dana Jansens
93d9201cba
first step of changing the types and their restrictions
2007-05-23 16:07:55 +00:00
Dana Jansens
2fb7a6e478
yay! gravity finally works right!
2007-05-23 15:16:13 +00:00
Dana Jansens
52a28bb5d8
little comment about unmapping the plate window for libwnck
2007-05-23 13:59:56 +00:00
Dana Jansens
a055fd9e57
validate the desktop layout loaded from session
2007-05-23 13:58:51 +00:00
Dana Jansens
0e98685d80
add the "desktop %i" string to the translations
2007-05-23 04:24:28 +00:00
Dana Jansens
e9fb95168e
restore the desktop names and number from the session. don't clobber them if they are already set when we start up.
2007-05-23 04:21:25 +00:00
Dana Jansens
1b82cc481e
little sanity check. dont let you create more than 1000 desktops
2007-05-23 04:17:30 +00:00
Dana Jansens
e9115802d5
make the client list menu update properly and not crash
2007-05-23 04:08:16 +00:00
Dana Jansens
1cafe0ba4c
set the desktop names when there are too few from the config file when possible. otherwise use "desktop %d".
...
if we change the desktop names at all, set the root hint so other apps know about it too and we can all agree
2007-05-23 03:16:45 +00:00
Dana Jansens
6f6ab8c442
save and restore the desktop number/layout/names in the session.
...
also fix a segfault in some debug prints, printing ints as strings!
2007-05-23 03:07:50 +00:00
Dana Jansens
e8dbe09cdd
draw the keychain popup only when necessary
2007-05-23 01:42:08 +00:00
Dana Jansens
6fb3e62a31
when a window is being kept on screen (espcially from mapping more or less) and the position didnt come from the user (USPosition) then force the top left corner of the app on screen so it doesnt hide behind panels or whatever and you cant get at the titlebar
2007-05-23 01:15:07 +00:00
Dana Jansens
89c7b236b5
fix libwnck by unmapping the plate window as well as the client during iconify animation
2007-05-23 01:00:27 +00:00
Dana Jansens
b95fe18c56
revert r6775, it didnt help, and then more event storm
2007-05-22 23:48:44 +00:00
Dana Jansens
e043faec9e
dont compress motion events. it breaks things, moveresize is missing events
2007-05-22 23:44:33 +00:00
Dana Jansens
206ad12bda
fix window gravity..
...
also less setting the wm_state hint redundantly
2007-05-22 23:21:46 +00:00
Dana Jansens
a6903d9056
settings is never null anymore, so dont bother to check. also use else's because we don't need to set match=false 3 times
2007-05-22 21:54:33 +00:00
Dana Jansens
0a2cf076df
back out 6769 on files that werent supposed to commit yet
2007-05-22 20:53:34 +00:00
Dana Jansens
a16f1374ee
comment out the applications example
2007-05-22 20:52:42 +00:00
Dana Jansens
63a6a1f053
don't use the timestamp and such fields when the _NET_ACTIVE_WINDOW is using the old spec
2007-05-22 20:49:31 +00:00
Mikael Magnusson
6af116c872
change render to obrender in a message
2007-05-22 19:03:00 +00:00
Dana Jansens
bf9cbd07e8
make modal windows cyclable all the time if they are visible and stuff
2007-05-22 18:20:17 +00:00
Dana Jansens
dd937208e6
reuse variables, less braces
2007-05-22 18:11:04 +00:00
Dana Jansens
d15d4d8b1a
don't show the resize popup unless you're actually resizing, for both sync mode and drawcontents off
2007-05-22 18:07:07 +00:00
Dana Jansens
49c7c0305b
along with r6753, when window is maximized make the borders count as titlebar context not the top/tl/tr contexts
2007-05-22 17:59:27 +00:00
Dana Jansens
8262e1ba66
fix frame rendering to match layout fixes
2007-05-22 17:55:46 +00:00
Dana Jansens
d0c1a24be9
fix frame positionings more
2007-05-22 17:46:56 +00:00
Dana Jansens
c7e813580f
fix some math for frame elements
2007-05-22 15:43:28 +00:00
Dana Jansens
0fe1e8f4d7
eat enter events when the new alttab popup hides
2007-05-22 15:34:49 +00:00
Dana Jansens
53309da211
put back the check for the window type when restoring the session. if you only have 1 firefox window in the saved session, the check for duplicates won't help
2007-05-22 04:52:44 +00:00
Dana Jansens
8679fbba8f
when restoring the session, dont restore windows which appear more than once in the session with the same identifiers, because we can;t tell them apart
2007-05-22 03:03:07 +00:00
Dana Jansens
e97a443590
don't compare variables to themselves
2007-05-22 02:28:03 +00:00
Dana Jansens
8f87a8af62
only send configure notify when they requested a move, or if we are actually changing anything.
...
that is: if they only request a resize and nothing changes, don't do anything and dont send a configurenotify. this fixes the emacs event storm
also some new macros for rects
2007-05-22 02:14:49 +00:00
Dana Jansens
4c25342316
dont use the client's area rect when figuring out where to place it because then when you want to move ti there, it thinks that it is already there! i actually fixed another bug recently that would have affectd this before but now it should work perfect..
2007-05-22 01:36:17 +00:00
Dana Jansens
e8bac610ad
adjust the frame's size before placing the window so we know how much decor it has
2007-05-22 01:32:28 +00:00
Dana Jansens
a0941554f6
fix showing the resize cursors at the right times.
...
fix losing the pre-size/position for windows mapped maximized or fullscreen states (and on restart)
2007-05-22 01:03:13 +00:00
Dana Jansens
c5508ec16f
we put desktop windows on all desktops so dont let them move.
...
make sure the window can move/resize when shutting down and restoring its geometry
2007-05-22 00:24:06 +00:00
Dana Jansens
f0940aba64
missing another break; ! wow
2007-05-22 00:19:04 +00:00
Dana Jansens
798ed11be8
missing a break; heh
2007-05-22 00:18:45 +00:00
Dana Jansens
62c311ba92
better ordering so you can unmaximize maximized windows.. but you cant resize them
2007-05-22 00:11:14 +00:00
Dana Jansens
119c48fc6c
you can't resize fully maxed windows
2007-05-22 00:09:08 +00:00
Dana Jansens
44be67844a
don't reload the session on restart
2007-05-22 00:05:28 +00:00
Dana Jansens
b8f207892a
some repositioning of frame elements for maximized windows.
...
fix clicking on borders not counting as the button in that corner for full max windows
disable the resize cursors for full max windows
2007-05-21 23:56:07 +00:00
Dana Jansens
bca4fe6c8b
maybe the user time stuff should be more like other wm implementtions and less in the way
2007-05-21 21:48:27 +00:00
Dana Jansens
fd8ce9414a
use simple pattern matching for per-app settings. all rules that match are applied to a window rather than just the first
2007-05-21 03:42:25 +00:00
Dana Jansens
209d8df0b1
leave things how we found them !
2007-05-20 22:49:34 +00:00
Dana Jansens
3c3fc81b6c
fix iconify animation to deal with the new frame layouting
2007-05-20 22:10:42 +00:00
Dana Jansens
4c7119f94f
hide more decor whwn its not being used
2007-05-20 20:00:23 +00:00
Mikael Magnusson
559ab9c922
add --restart
2007-05-20 15:23:08 +00:00
Dana Jansens
64d812c6d7
fix windows moving to monitors other than their own. client_find_onscreen uses their desired coordiantes instead of their old ones
2007-05-20 15:16:57 +00:00
Mikael Magnusson
928305d0b7
remove unused config_menu_warppointer
2007-05-20 15:01:01 +00:00
Dana Jansens
598199425d
make frame elements unmap when they arent in use
2007-05-20 14:56:09 +00:00
Dana Jansens
2cce02b1b9
fix for shaped windows
2007-05-20 07:19:52 +00:00
Dana Jansens
ef95323122
fix for variable sized border between titlebar and client
2007-05-20 07:09:31 +00:00
Dana Jansens
7472ed3557
fix new dimensions for maximized windows
2007-05-20 07:02:49 +00:00
Dana Jansens
1612a16e80
frame can handle having no border between the titlebar and the client now
2007-05-20 06:47:43 +00:00
Dana Jansens
1b7c2dac9e
draw the handle without borders
2007-05-20 06:45:02 +00:00
Dana Jansens
0353b979c6
construct the titlebar without borders
2007-05-20 05:39:16 +00:00
Dana Jansens
96fbc0c622
set the resize cursors only when the window can be resized
2007-05-20 05:01:00 +00:00
Dana Jansens
ff681544e4
the left and right resize handles are the border, not grips
2007-05-20 04:44:58 +00:00
Dana Jansens
cf5c75420a
stop using a border for the outer frame window. step 1 of borderless-ness. now transparent windows dont look so terrible, yay
2007-05-20 04:44:00 +00:00
Dana Jansens
2dada607c5
don't assume screen 0
2007-05-20 03:39:40 +00:00
Dana Jansens
8159ac5f86
i think this is good? can you run X at 32 bits?
2007-05-20 03:38:02 +00:00
Dana Jansens
883bad4386
set the functions recursively, so if you change it after the menu has been opened it takes effect all the way down
2007-05-20 02:17:19 +00:00
Dana Jansens
3a280fa949
fix segfault by ordering shutdown properly
2007-05-20 02:15:07 +00:00
Dana Jansens
d3f67abe46
set the functions in the more menu the same as the parent menu
2007-05-20 01:59:11 +00:00
Dana Jansens
a112ffa170
old unused variable
2007-05-20 01:57:10 +00:00
Dana Jansens
ce1de0f365
maybe smaller icons look nicer?
2007-05-20 00:06:48 +00:00
Dana Jansens
6b038948cc
put text back to the left and add a bit more spacing
2007-05-20 00:02:55 +00:00
Dana Jansens
b596a52fad
does the popup look better with centered text?
2007-05-19 23:56:51 +00:00
Dana Jansens
05d93485b7
show and hide the new left/right resize bars at the right time
2007-05-19 23:43:44 +00:00
Dana Jansens
1efc5111ec
revert r6638
2007-05-19 23:15:42 +00:00
Dana Jansens
813d5c2ec9
add a root context that only applies to the root window. it fallsback to the desktop context, so desktop stuff applies to it too.
2007-05-19 22:07:15 +00:00
Dana Jansens
198aab2b71
make binding fallback for mouse clicks less restrictive. if you dont have a binding for the same button AND STATE then fallback.
2007-05-19 22:03:12 +00:00
Dana Jansens
ed4d0ca31a
for startup notification, use the left ptr+watch if it is available, and fall back to the pointer instead of the unusable watch if its not
2007-05-19 21:49:45 +00:00
Dana Jansens
9014cf7c4e
missing new left and right contexts
2007-05-19 21:49:12 +00:00
Dana Jansens
b26635fe99
add Left and Right contexts for resizing
2007-05-19 21:39:40 +00:00
Dana Jansens
2f541b6ef3
make either key work for people who have super_l and super_r (or whatever ones) bound to different mod masks
2007-05-19 21:17:01 +00:00
Dana Jansens
ecdb7d5807
let you resize on the bottom of the frame when handle height is 0 in the theme
2007-05-19 21:03:51 +00:00
Dana Jansens
83da4ec939
fix escape's behavior in menus. make static stuff that shouldnt be used by others
2007-05-19 20:58:10 +00:00
Dana Jansens
ea272a93ef
show the old single-window popup for directional focus.
...
fix multirow icons for the new popup.
2007-05-19 20:52:31 +00:00
Dana Jansens
2ed4552f8b
round up rather than down for figuring out the width of the popup, so it will fit the text when possible
2007-05-19 20:37:33 +00:00
Dana Jansens
0de1fd496f
center the icons when there is only 1 row
2007-05-19 20:34:34 +00:00
Dana Jansens
2253b5e341
fix the popup for directional focusing, only show what is going to be a valid target. change directional focus to use the same criteria as normal cycling.
2007-05-19 20:31:08 +00:00
Dana Jansens
50ba7e2d4c
fix positioning of stuff in the cycling popup. oh my god. the image texture is drawn inside the margins of the outer appearance
2007-05-19 20:14:08 +00:00
Dana Jansens
2c4fef2995
fix flashy menus
2007-05-19 19:18:52 +00:00
Dana Jansens
4305448a62
better positioning and some spacing
2007-05-19 19:05:47 +00:00
Dana Jansens
7dd7c9973b
better coloring for the cycling hilite
2007-05-19 18:58:38 +00:00
Dana Jansens
53066b1808
new focus cycle popup of doom
2007-05-19 18:40:37 +00:00
Dana Jansens
83eb922012
move focus_cycle_popup into its own file
2007-05-19 14:49:00 +00:00
Dana Jansens
eb09b1873d
move focus_cycle_indicator into its own file
2007-05-19 14:36:19 +00:00
Dana Jansens
40f789e641
2007-05-19 14:22:20 +00:00
Dana Jansens
d307a36893
add missing include for new header
2007-05-19 14:16:23 +00:00
Dana Jansens
718adbae65
move focus cycling into its own file
2007-05-19 14:15:28 +00:00
Dana Jansens
3d7c2f45ec
80 cols
2007-05-19 13:45:16 +00:00
Dana Jansens
9752670920
remove a function that is no longer used. and backwards boolean algebra was causing us to not ignore the right enter events
2007-05-19 00:38:06 +00:00
Dana Jansens
7ee54ff106
get rid of the serials for ignoring enters..
2007-05-18 23:40:13 +00:00
Dana Jansens
6142eb3a48
when done iconify animating, send a configure notify (this fixes kde's pager showing the window in the wrong place)
2007-05-18 15:20:03 +00:00
Dana Jansens
6d26502631
super correct enter event ignoring that will only ignore what it has to, yay?
2007-05-18 00:11:01 +00:00
Dana Jansens
9451205cf1
but don't count the same enter events more than once still
2007-05-17 23:21:52 +00:00
Dana Jansens
ae269d77ca
fix a comment
2007-05-17 23:21:09 +00:00
Dana Jansens
bba37f0cd1
ignore enter events without disrupting the event queue
2007-05-17 23:20:50 +00:00
Dana Jansens
18ef3dce1c
re-staticify this function
2007-05-17 23:14:59 +00:00
Dana Jansens
e47499a07c
don't ignore the same enter events more than once
2007-05-17 23:11:14 +00:00
Dana Jansens
a71c91abe5
old comment
2007-05-17 13:35:35 +00:00
Mikael Magnusson
c8b4710755
static makes more sense than inline i think
2007-05-17 09:20:16 +00:00
Dana Jansens
9d004f517b
name of the action_undecorate atom was wrong
2007-05-17 04:16:20 +00:00
Dana Jansens
382d37553d
add an atom ob_wm_action_undecorate to match with ob_wm_state_undecorated, so stuff could know if the window can be undecorated
2007-05-17 04:15:34 +00:00
Dana Jansens
f9a79e6062
a little check that catches firefox and other buggy apps, which set the same wmcommand across sessions on different window types. type is a pretty obvious check its hard for it to be a false alarm
2007-05-17 03:31:20 +00:00
Dana Jansens
c6dac85397
don't let the user toggle decorations on widnows that don't have any decorations to toggle
2007-05-17 02:29:13 +00:00
Dana Jansens
3c590a5851
kill enter events without using pointer grabs
2007-05-17 02:23:35 +00:00
Dana Jansens
281c1edb42
kill enter events without using pointer grabs
2007-05-17 02:21:22 +00:00
Dana Jansens
b1076c9333
rename client_configure_full to client_configure
2007-05-17 01:45:00 +00:00
Dana Jansens
cfce6b8f4d
simpler code yay
2007-05-17 01:43:29 +00:00
Dana Jansens
2ca83f6713
grab the pointer when windows move them selves so no enter events happen. i wonder if this will cause but reports. it still does for restacking though..
...
little cleanup in client.c, and remove client_configure macro which was now
redundant
2007-05-17 01:38:01 +00:00
Dana Jansens
619eeaa962
grab the pointer accross actions run by the applications, the same as for
...
actions run by the user
2007-05-17 00:56:29 +00:00
Dana Jansens
4fdf8a4315
"fullscreen" windows that are undecorated by the user do not count as legacy fullscreen windows
2007-05-17 00:50:09 +00:00
Dana Jansens
b69bf80982
fullscreen only if no decorations
2007-05-16 17:01:47 +00:00
Dana Jansens
5a1a3c2b12
comment what i did
2007-05-16 03:08:49 +00:00
Dana Jansens
3addcd8bb9
don't queue showmenu events, and set button to 0 when a grab is in place after the buttonpress event is run
2007-05-16 03:07:17 +00:00
Dana Jansens
d30809e5fa
always ignore errors for client_focus like we used to.
2007-05-15 17:38:52 +00:00
Dana Jansens
d3e524420f
revert r6485, for backwards compatibility
2007-05-15 16:07:16 +00:00
Dana Jansens
3ddc053ccd
that broke flashing
2007-05-15 04:44:15 +00:00
Dana Jansens
2a203eb5dc
fix a comment
2007-05-15 04:34:11 +00:00
Dana Jansens
361bf6af5c
simplify focus handling a bit. no need to listen to focus going to the frame because if it ever does that, the window is unmapping and the frame will just unmap and send it to root.
...
make focus fallback a lil more robust, it checks for errors when it sets focus on the window, and if an error occured it will focus the next option.
2007-05-15 04:32:59 +00:00
Dana Jansens
f5597c060e
try draw the decorations sooner
2007-05-15 03:47:56 +00:00
Dana Jansens
9c5e87069e
don't do this stuff when it's already done. save bandwidth.
2007-05-15 03:47:39 +00:00
Dana Jansens
6194c9796c
save some rendering
2007-05-15 03:46:51 +00:00
Dana Jansens
9aa5ca29ae
updates for the build system. always set Openbox on the support window
2007-05-15 02:32:49 +00:00
Dana Jansens
5d85502e3b
also if you hide the focused window, then kill the interactive action so focus isnt all confused for the app
2007-05-14 23:34:05 +00:00
Dana Jansens
47c8d40729
don't assert, users can bind stuff however they like. but if they do something that moves focus during an interactive action, kill the grab
2007-05-14 23:32:50 +00:00
Dana Jansens
b7827484ef
ungrab the keyboard for passive grabs. kill interactive actions for exec actions. don't ungrab the keyboard during interactive actions though.
2007-05-14 23:31:41 +00:00
Dana Jansens
8f2291a7b6
excep the assert was backwards. heh
2007-05-14 23:22:06 +00:00
Dana Jansens
f5d7952a94
big scary g_assert(). interactive actions should never move focus until they're done.
2007-05-14 23:21:53 +00:00
Dana Jansens
f9fe78d970
get rid of the fullscreen below layer. its the same as maximized windows..
2007-05-14 23:00:36 +00:00
Dana Jansens
66db9aef34
use the right cursor for moveresize
2007-05-14 22:59:43 +00:00
Dana Jansens
ec21f8c9ec
yay for simplifying code. if we check for errors we dont need the "focus_tried" stuff
2007-05-14 22:58:08 +00:00
Dana Jansens
1b2c6f609d
always ungrab keyboard before doing a noninteractive action (which will ungrab before doing its real action business).
...
too bad we cant ungrab the mouse too.
2007-05-14 22:53:32 +00:00
Dana Jansens
415ce6e5de
watch for errors while setting focus on windows, return false if there was an error, so fallback and keep looking
2007-05-14 22:52:40 +00:00
Dana Jansens
2e7359a2fd
fix fullscreen windows being stuck in the wrong layer when they come out of
...
fullscreen.
add a new layer where fullscreen windows go when are aren't focused, below
all normal windows, so you can alt-tab to a below layer window and it will
show itself.
2007-05-14 22:20:48 +00:00
Dana Jansens
f58ece6095
remove config namespaces
2007-05-14 21:32:12 +00:00
Dana Jansens
b906db3e11
remove the dialog option for Desktop action for now. can't change desktop during a grab. the dialog for desktop changing will need to change, and then we can add it back
2007-05-14 20:55:36 +00:00
Dana Jansens
ff7eb1ea3d
some debug prints
2007-05-14 13:47:03 +00:00
Dana Jansens
9011eb27e0
remove this check, it didnt guarantee anything anyways
2007-05-14 13:44:49 +00:00
Dana Jansens
a019ee1028
add a debug action.. change focus debug output a lil, no grab events
2007-05-14 03:40:03 +00:00
Dana Jansens
26ff0cbaa8
the configurenotify needs to come after adjusting the frame's size. otherwise it gets messed up somehow.
2007-05-14 02:27:43 +00:00
Dana Jansens
1a5139f283
send a configurenotify on mapping after the window is shown
2007-05-14 02:20:59 +00:00
Dana Jansens
4ff717355a
don't listen to focus events in the dock, unless you're going to do it properly
2007-05-14 02:06:34 +00:00
Dana Jansens
7af7ee05aa
fix a comment
2007-05-14 01:07:26 +00:00
Dana Jansens
9d7608789c
another little focus cleanup/rearrangement, for focus going to windows that
...
are no longer there.
2007-05-14 01:06:42 +00:00
Dana Jansens
53e75c5be4
we don't need to save the config type in the session because if they dont run their DE with the openbox-*-session command, openbox won't be loaded anyhow. and if they do, they the var will be set and doesn't need to come from the session.
2007-05-14 00:41:30 +00:00
Dana Jansens
5a3154df08
add --debug-xinerama
2007-05-14 00:28:16 +00:00
Dana Jansens
1eff22b1ef
remove some old checking because we're not using window properties to store the premax/fullscreen areas. they are always set when the state is turned on.
...
fullscreen to the correct monitor.
2007-05-14 00:07:38 +00:00
Dana Jansens
83bd9e1d5a
change now the keyboard is ungrabbed before executing actions. instead, ungrab it just before calling exec. other actions don't need it ungrabbed, and this way the release doesn't get sent through to programs for our keybindings. except for exec i suppose.
2007-05-13 23:51:55 +00:00
Dana Jansens
9fcb2aa1d2
add grab/ungrab macros so dont need to pass in 10 arguments to ungrab stuff.
...
add a confine option to grab_pointer to confine the pointer to the screen, and use that for moveresize
2007-05-13 23:30:52 +00:00
Dana Jansens
627125a6c6
set the cursor before using it
2007-05-13 23:19:56 +00:00
Dana Jansens
03136a081a
only do moveresize when grab is successful
2007-05-13 23:18:44 +00:00
Dana Jansens
66af88b27c
only set focus_client to null if the window losing focus was the focus_client
2007-05-13 23:13:15 +00:00
Dana Jansens
0c173e1577
set focus_client when focus leaves a window
2007-05-13 23:11:16 +00:00
Dana Jansens
334f9df7aa
don't unset the config namespace so that if you rerun it, it uses the same one. this is for dev work, really.
...
also, recompiled man pages
2007-05-13 23:01:04 +00:00
Dana Jansens
5c96972bff
save the config type in the session command line arguments
2007-05-13 22:57:42 +00:00
Dana Jansens
6171dbf970
when using openbox-gnome/kde-session, use a separate config file (rc-gnome/kde.xml)
2007-05-13 22:49:20 +00:00
Dana Jansens
0ef82a1bda
but rename ob_pid back to openbox_pid for backwards compatibility. this will go away entirely soon.
2007-05-13 22:33:04 +00:00
Dana Jansens
99e23015cf
rename the openbox_* atoms back to ob_*
2007-05-13 22:31:36 +00:00
Dana Jansens
2676b61b0f
missing a header
2007-05-13 22:30:58 +00:00
Dana Jansens
49b6e6ac0a
let unfocus action go back to the same window. you should be doing some other action above it that will change where focus can end up
2007-05-13 22:12:11 +00:00
Dana Jansens
65a176330a
dont set focus_client to NULL when sending focus to nothing, let that happen from the FocusOut events
2007-05-13 21:57:00 +00:00
Dana Jansens
3acd5ff0c5
fix for wrapping in desktop cycling
2007-05-13 21:17:32 +00:00
Mikael Magnusson
73e7b2925a
fix error in client_directional_edge_search that ignored all windows in the same layer
2007-05-13 21:13:29 +00:00
Dana Jansens
eb7a3a0638
im just leaving the dock alone..
2007-05-13 21:08:50 +00:00
Dana Jansens
7a39cb3e8d
no strut for docks that autohide
2007-05-13 21:06:23 +00:00
Dana Jansens
3adadb955e
resist all layers
2007-05-13 20:38:19 +00:00
Dana Jansens
7fddf2abc2
some focus fixes. always set the new focus when we fallback or else weird states appear. better handling of focusin's on clients that don't exist?
2007-05-13 20:35:44 +00:00
Mikael Magnusson
2b2245851d
restore code that keeps popups on screen
2007-05-13 20:04:30 +00:00
Dana Jansens
ecde8e8f73
reorganize --help. dont error if they use a --sm stuff and sm isn't enabled
2007-05-13 19:23:37 +00:00
Dana Jansens
e28cbd61c1
kill grabs before xsetinputfocus
2007-05-13 18:27:58 +00:00
Dana Jansens
b67e98842c
reset the pager popup's size after reconfigure
2007-05-13 17:28:52 +00:00
Dana Jansens
0ec49ac781
comment
2007-05-13 17:22:48 +00:00
Dana Jansens
94d9d069b5
add a debug line
2007-05-13 17:17:23 +00:00
Dana Jansens
11df262d7e
add support for _NET_WM_ACTION_ABOVE and _NET_WM_ACTION_BELOW which aren't in the NETWM spec yet, but will be shortly.
2007-05-13 17:15:15 +00:00
Dana Jansens
0ee1581824
fix drawcontents=no
2007-05-13 16:45:58 +00:00
Dana Jansens
2fdad9a0ff
no more losing focus from wm_torture -t map_response
...
when a focusin comes for an invalid target, set that focus has wandered off, so
that when the focusout comes in afterwards we can react accordingly
2007-05-13 16:39:04 +00:00
Dana Jansens
fd9b6a43cf
always send configure notify when windows map
2007-05-13 16:04:40 +00:00
Dana Jansens
c23741290c
fix directional focus
2007-05-13 15:40:16 +00:00
Dana Jansens
56d7bc50f0
don't allow focus to move during an interactive grab. if users set up actions
...
such that this would happen, then kill the interactive grab before moving
focus.
this is to avoid NotifyWhileGrabbed FocusOut's
2007-05-13 15:29:49 +00:00
Dana Jansens
acfa2af3c2
use the right list in client_add_hide_notify, rename destructor to destroy_notify which is really what it is, and is more consistant now that there are 2 notifies
2007-05-13 07:45:15 +00:00
Dana Jansens
9f22554b6a
when i said it handled both cases, i was mistaken, so use a callback for each case.
2007-05-13 07:40:02 +00:00
Dana Jansens
685dca1c5f
likewise if a window is unmanaged and we were trying to give it focus, we want to know about it - also if the window gets hidden for some other reason, we also want to know about it.
...
add a notifier for windows being hidden, and use that instead - it handles both cases.
2007-05-13 07:38:35 +00:00
Dana Jansens
1e957a1688
some changes to focus handling.
...
most interesting is the change in focus_fallback, which means that it won't
call xsetinput focus in some cases, potentially reducing flicker and stuff.
also potentially producing bugs? heh.
the screen.c focus fallback code doesn't seem to need special cases anymore,
which is really good, if that is really the case.
move the focus_tried stuff out of event.c into focus.c, where it seems to
belong.
2007-05-13 07:09:34 +00:00
Dana Jansens
f694c650c8
dont count focusin on the support window to be a focusin on a client
2007-05-13 05:51:08 +00:00
Dana Jansens
41da12cc5e
maybe better logic for looking for focus in's on clients
2007-05-13 05:50:15 +00:00
Dana Jansens
bfe974dbd0
revert part of r6074. i don't think it needs to be removed anymore and then everything will "just work" better
2007-05-13 03:03:48 +00:00
Dana Jansens
59183ac234
dont make mouse bindings focus windows that dont take focus from clicks
2007-05-13 02:39:19 +00:00
Dana Jansens
18c2737a2f
add a comment
2007-05-13 02:35:42 +00:00
Dana Jansens
d59f0d67b0
interactive actions cancel other interactive actions
2007-05-13 02:19:51 +00:00
Dana Jansens
d00096dedb
dont skip desktop windows that set skip_taskbar
2007-05-13 02:10:36 +00:00
Dana Jansens
ca88a21a39
where did those come from ?
2007-05-13 00:52:05 +00:00
Dana Jansens
b4f9328bff
debug print
2007-05-12 19:50:52 +00:00
Dana Jansens
c2e4d42e6d
ignore enter events on top menu and submenu popup
2007-05-12 19:50:32 +00:00
Dana Jansens
ab75dd8672
missing a break statement
2007-05-12 19:50:21 +00:00
Dana Jansens
e40624b5c1
don't use it actually. it's confusing.
2007-05-12 19:32:12 +00:00
Dana Jansens
cea602d734
put the shade icon in the right place
2007-05-12 19:31:11 +00:00
Dana Jansens
fce33883f4
fix for running actions that end up wanting to grab the keyboard. make a nicer comment about what is going on.
2007-05-12 19:26:48 +00:00
Dana Jansens
811fa21940
remove the edges_hit_layers_below option. don't use windows in other layers for resistance
2007-05-12 18:56:56 +00:00
Dana Jansens
5eba6007e7
change the "handle" context to "bottom". add a "top" context. make the top
...
and bottom contexts resize vertically in the default config file.
2007-05-12 17:54:55 +00:00
Dana Jansens
06181f9cc4
make the handle resize by default, and give the handle the resize south cursor
2007-05-12 17:32:10 +00:00
Dana Jansens
18c0714c51
split the move and resize functions.
...
let you specify the edge to resize in the action binding
2007-05-12 17:31:13 +00:00
Dana Jansens
1d1aef75a0
add <desktop>yes</desktop> option for Next/Previous window and directional focus actions
2007-05-12 17:16:01 +00:00
Dana Jansens
4320bf5fc0
fix for fullscreen things getting lowered when switching desktops
2007-05-12 16:20:17 +00:00
Dana Jansens
ecfd93b186
change client menu back to "Roll up/down". update strings, also some fixes.
2007-05-12 16:09:26 +00:00
Dana Jansens
c5865c51ed
do it better, prevent creating new races
2007-05-12 01:01:49 +00:00
Dana Jansens
1d6c07c24b
try catch weird racey corner case where we try fallback to a window but it unmaps as we do so, so focus ends up going to nowhere
2007-05-12 00:54:44 +00:00
Dana Jansens
b63ad92cca
give different border colors to active and inactive windows. adjust the xml theme format a little to make it BETTER. rawr. add some metadata standards too.
2007-05-11 22:18:43 +00:00
Dana Jansens
b2006b8b45
don't show handles on windows that cannot resize
2007-05-11 21:31:19 +00:00
Dana Jansens
b23476ed58
fix for circular transiency
2007-05-11 20:45:26 +00:00
Dana Jansens
2baad3abee
oops, debug prints
2007-05-11 05:55:45 +00:00
Dana Jansens
8432416d4e
pick the closest icon instead of always a smaller one
2007-05-11 05:54:57 +00:00
Dana Jansens
0fedacf700
separate roll up and roll down.
...
new strings in the po's, which are actually old strings.
fix a couple menus shortcuts besides.
2007-05-11 04:51:29 +00:00
Dana Jansens
ba6754ac88
fix focus cycling. checking the wrong client.
2007-05-11 04:10:45 +00:00
Dana Jansens
06b918cc21
remove the last param from configure_full, it's not needed.
2007-05-11 02:47:14 +00:00
Dana Jansens
75372cd4a7
set the default window gravity to NorthWest.
...
only put the bare minimum inside the server grab.
adjust the frame decorations in client_manage instead of frame_grab_client
remove the last parameter from client_configure_full and just determine it from the other state available.
send configurenotifies at all the right times.
make windows get restored to their position properly when they have a border
2007-05-11 02:46:59 +00:00
Dana Jansens
caba57b694
don't adjust the decorations while the server is grabbed, move it to client.c
2007-05-11 02:44:50 +00:00
Dana Jansens
58788b9c16
change when configurerequests create configurenotifies.
...
make _NET_RESTACK_WINDOW create a configurenotify, because it is supposed to be like configurerequest. so why not?
2007-05-11 02:44:29 +00:00
Dana Jansens
775d5da7ad
this fixes pypanel.. heh.
...
don't activate iconic windows when they raise themselves just raise them. firefox still works so i am happy.
2007-05-11 00:01:55 +00:00
Dana Jansens
65d50861ad
when un-showing the desktop if a window is getting shown, iconify the others so just the one is shown
2007-05-10 23:22:54 +00:00
Dana Jansens
3537e50141
why didn't that commit
2007-05-10 21:33:22 +00:00
Dana Jansens
f1f946ea02
stacking fixes for layers
2007-05-10 20:23:27 +00:00
Dana Jansens
4a34c7ddb2
don't get the layer from the group like that. let new windows go in their default layer. they are already kept above their parents.
2007-05-10 17:15:41 +00:00
Dana Jansens
f3424ddd3b
add comments explaining why we don't switch desktops immediately
2007-05-10 16:51:59 +00:00
Dana Jansens
6ff520d02a
always set the multipliers just dont allow 0
2007-05-10 16:34:03 +00:00
Dana Jansens
9c32f34b37
center the text and icon vertically
2007-05-10 16:31:45 +00:00
Dana Jansens
2864a761c7
make sure math is done in the right order
2007-05-10 16:27:10 +00:00
Dana Jansens
5a96dee756
let the pager popup grow vertically
2007-05-10 16:23:41 +00:00
Dana Jansens
f969415426
fix assert happening by combining interactive and non-interactive actions
2007-05-10 16:17:57 +00:00
Dana Jansens
1ec4c3dfa8
make the squares a little smaller. it looks nicer?
2007-05-10 16:05:57 +00:00
Dana Jansens
9a3f05a780
don't make interactive desktop cycling switch until you release the mods. this is needed because otherwise focus moves around during the grab and applications get confused. :|
...
change the pager popup to resize based on the layout so the squares can be bigger
2007-05-10 16:04:08 +00:00
Dana Jansens
1c70f6b667
make stuff know it is not focused but changing desktops it still doesn't know
2007-05-10 15:25:01 +00:00
Dana Jansens
176e6cea6e
going down the order so look for a lower layer
2007-05-10 06:31:38 +00:00
Dana Jansens
f5502fa01a
translate a few more strings and use g_message not g_critical whch is for debugging
2007-05-10 05:35:23 +00:00
Dana Jansens
6194acb271
checking string length with the wrong texture
2007-05-10 05:27:43 +00:00
Dana Jansens
11dd7db876
make the frame before you use the frame..
2007-05-10 05:25:34 +00:00
Dana Jansens
083a7565c7
set the session stuff before trying to apply per-app settings.
...
set the decor/functions after restoring all the stuff from session/per-app too
2007-05-10 05:21:05 +00:00
Mikael Magnusson
933a689b41
fix typo in a comment, at least i do'nt think config5Aure is a word
2007-05-10 05:08:24 +00:00
Dana Jansens
220015e56e
make configurerequest activate but net_restack_windows just restack.
...
fix bottomif, topif, opposite.
fix debug output in event printing when there was no problem
2007-05-10 04:39:06 +00:00
Dana Jansens
c2c84c3f5e
add support for _NET_RESTACK_WINDOW
2007-05-10 04:06:50 +00:00
Dana Jansens
f237e72a30
dont count button releases to change the context until the first button pressed is released
2007-05-10 03:44:39 +00:00
Dana Jansens
902555c95c
the coordiantes are from the client, not the frame
2007-05-10 03:43:56 +00:00
Dana Jansens
f1ad68d05b
add some debug prints
...
make it C compliant.
some random cleanups
2007-05-10 03:11:46 +00:00
Dana Jansens
af7280b45d
fix cmd line argument parsing, it would drop some.
...
drop the --restart-binary argument. we're going to have to do it differently because gnome-session is stupid !
2007-05-10 03:11:07 +00:00
Dana Jansens
9830440643
make restacking much better, yay
...
no more cludge using actions to raise windows. when a window changes layer it
uses add_nonintrusive now so it won't cover the focused window. this way
fullscreen windows when they drop down, don't cover up the new focus target.
fix add_nonintrusive so that if the window is focused it gets added to the top
add back support for ConfigureRequest restacking, this time properly though,
using all the detail and sibling modes. but when windows use this to raise they
are using some old business and we're going to assume they actually want to
activate instead. this means firefox works nicely. yay.
ubuntu's firefox has been made to just stop raising entirely though. !
2007-05-10 00:57:35 +00:00
Dana Jansens
6412fba7fd
fix positioning of the icon
2007-05-09 23:52:53 +00:00
Dana Jansens
e44ec05078
less redrawing
2007-05-09 23:45:44 +00:00
Dana Jansens
da22958786
fix hovering for corner buttons during full-max
2007-05-09 23:38:16 +00:00
Dana Jansens
66afa1dceb
when a window is fully maxed, make clicking on the titlebar past the edge buttons count as clicking on the buttons
2007-05-09 22:21:28 +00:00
Dana Jansens
1066f0125a
mem leak
2007-05-09 21:43:56 +00:00
Dana Jansens
f03eef2795
mem leak
2007-05-09 21:27:45 +00:00
Dana Jansens
a97b2f75fb
mem leak
2007-05-09 21:17:31 +00:00
Dana Jansens
36ddd0c408
dont use XKeysymToKeycode because valgrind says it is doing bad things, and we have all the data we need anyways
2007-05-09 20:56:37 +00:00
Dana Jansens
b8309807ab
use the keysyms instead of translating. waste.
2007-05-09 20:45:07 +00:00
Dana Jansens
a7637df11b
remove debug print
2007-05-09 20:28:41 +00:00
Dana Jansens
4b912ed24d
possible buffer overflow?
2007-05-09 20:27:19 +00:00
Dana Jansens
481e681121
fix using uninit'd memory. don't use 0 keycode
2007-05-09 20:27:05 +00:00
Dana Jansens
7f262bc2a0
add support for _NET_REQUEST_FRAME_EXTENTS
2007-05-09 20:13:20 +00:00
Dana Jansens
824de237d9
backwards compatibility..
2007-05-09 18:51:20 +00:00
Mikael Magnusson
03699417fd
only allow west/move/east for shaded windows
2007-05-09 18:49:45 +00:00
Dana Jansens
c675d94645
missed a couple atoms, fix them for consistency
2007-05-09 18:06:40 +00:00
Dana Jansens
eeba44c0d4
make the debug print compile.. :|
2007-05-09 18:01:46 +00:00
Dana Jansens
f54bd60a00
debug print
2007-05-09 18:00:37 +00:00
Dana Jansens
851555348e
support for _NET_WM_USER_TIME_WINDOW round 2 ! yay abstraction
2007-05-09 17:58:58 +00:00
Dana Jansens
cdb108c76d
add support for _NET_WM_USER_TIME_WINDOW. round 1 ! ding.
2007-05-09 17:01:30 +00:00
Dana Jansens
f6fd01409a
moveresize_start already checks if the window can move or resize
2007-05-09 16:07:05 +00:00
Dana Jansens
8ae589465f
resist for one key press at edges when keyboard move/resizing
2007-05-09 04:40:08 +00:00
Dana Jansens
44404518c3
optimization
2007-05-09 04:18:00 +00:00
Dana Jansens
e384e8a42e
make cycling desktops not move when cancelling
2007-05-09 04:16:31 +00:00
Dana Jansens
a3f8c5c45a
button presses which run actions during interactive actions will cancel the action.
...
when you cancel switching desktops, don't go back, just stop.
2007-05-09 04:08:57 +00:00
Dana Jansens
4546925b58
get the mouse pointer position if it is on another screen too.
...
let you move/resize from the client menu if the mouse is on another screen
2007-05-09 04:04:53 +00:00
Dana Jansens
65eb46bd1f
unused variable
2007-05-09 03:59:57 +00:00
Dana Jansens
a76e91eb2a
update to previous changes
2007-05-09 03:56:39 +00:00
Dana Jansens
24f258e646
size the frame properly on mapping
2007-05-09 03:52:53 +00:00
Dana Jansens
23d4eb5f4f
kill the hideDisabled option
2007-05-09 03:42:41 +00:00
Dana Jansens
193ca2197a
further work to r6205. make the disabled titlebar buttons hide if they won't move other buttons around by doing so.
2007-05-09 03:41:48 +00:00
Dana Jansens
5aea44adc9
punctuation
2007-05-09 03:41:05 +00:00
Dana Jansens
a430d7d3c8
hide titlebar buttons if that won't move other buttons
2007-05-09 00:57:37 +00:00
Dana Jansens
f806e7f24e
typo
2007-05-09 00:57:20 +00:00
Dana Jansens
c254f76022
fix move and resize up
2007-05-09 00:29:30 +00:00
Dana Jansens
b190fb6bb6
compile fix
2007-05-09 00:22:10 +00:00
Dana Jansens
7869b81d46
more crash fix
2007-05-09 00:21:52 +00:00
Dana Jansens
f0fdba8ad3
fix no more crashing in the client menu.
2007-05-09 00:11:06 +00:00
Dana Jansens
1361a87bdf
hide after iconifying
2007-05-09 00:05:11 +00:00
Dana Jansens
48d7045208
update the client menu when you do stuff without closing it.
...
but this means we can't use actions in it. oh well?
can kill the desktop notifiers now too. yay for more obvious code paths.
2007-05-08 23:50:13 +00:00
Dana Jansens
c54cb4a83c
typo...
2007-05-08 23:46:07 +00:00
Dana Jansens
636a676c56
dont ungrab/regrab when the position in the chain didnt move
2007-05-08 23:42:20 +00:00
Dana Jansens
0064695d59
xhtml..
2007-05-08 23:24:17 +00:00
Dana Jansens
e0409cd794
make maximize work when its not-fullmax
2007-05-08 22:59:16 +00:00
Dana Jansens
f017556fed
maximize in the client menu is enabled when it's not full-maxed
2007-05-08 22:57:27 +00:00
Dana Jansens
709ebbb6a2
let you move splash screens if you are so inclined
2007-05-08 22:56:29 +00:00
Dana Jansens
d074b11bf9
let windows that cant iconify still iconify with their parents, but not non-normal windows.
...
let you focus windows that wouldnt normally by clicking on their decor (if they have any)
2007-05-08 22:53:09 +00:00
Dana Jansens
f0e5332b4a
but deiconify
2007-05-08 22:36:52 +00:00
Dana Jansens
370b5ba27d
dont iconify if you can't
2007-05-08 22:36:26 +00:00
Dana Jansens
b82ccb2c78
only place dialogs above other windows
2007-05-08 22:34:02 +00:00
Dana Jansens
b0f43a1159
don't focus splash screens and toolbars and menus when you click on them. or enter them.
2007-05-08 22:29:39 +00:00
Dana Jansens
9782122339
try again. merge r6177-6182 from 3.4-working
2007-05-08 22:03:56 +00:00
Dana Jansens
1e4215c5c6
merge r6176-6182 from 3.4-working
2007-05-08 21:57:36 +00:00
Dana Jansens
aae4f66f68
recalc the layer when above/below changes
2007-05-08 12:22:28 +00:00
Dana Jansens
cc9ef6f22d
dont check if relatives have focus. gtk apps all set application even when its from a user event
2007-05-08 02:33:20 +00:00
Dana Jansens
f2e88d2491
only show the debug message when relevent
2007-05-08 02:31:46 +00:00
Mikael Magnusson
cc2ad0a823
double space in debug output
2007-05-08 02:22:07 +00:00
Dana Jansens
e4cffb6459
redo how a window checks if it can activate.
...
added the bahavior that.. if an application is the source of the request, it will only move focus if something related to it has focus already (and user time checks out)
2007-05-08 01:59:23 +00:00
Dana Jansens
de82c4a5df
i dont like this "application window" concept. swap it with "helper" windows instead which are the inverse. helper windows are utility/menu/toolbar windows.
2007-05-08 01:31:51 +00:00
Dana Jansens
ebabf3943c
make helper windows share desktops with all their application top level windows
2007-05-08 01:25:30 +00:00
Dana Jansens
5945d2e9c8
ok, so, back out the last commit. owner events are passed thru so we get enter/leave notify events.
...
dont change frame decor from button presses during an interactive grab or
while a menu is open
2007-05-08 00:40:01 +00:00
Dana Jansens
26fc54c9a3
why did we pass thru owner events ?? its working without that.. hum..
...
and now the frame buttons dont get press hilights while the menu is open
2007-05-08 00:28:05 +00:00
Dana Jansens
38b12c6cba
!
2007-05-08 00:18:15 +00:00
Dana Jansens
1fa08abd9c
um... hide the client menu when the window changes desktops. its not visible anymore (probably..) and no send to menu wont be wrong too.
2007-05-07 23:48:05 +00:00
Dana Jansens
fa332cc314
try reselect the same line. its not perfect though..
2007-05-07 23:38:10 +00:00
Dana Jansens
280529221e
add a notifier for clients changing desktops. use it to update the send-to menu if it changes. it does this by closing/opening the menu.. thats about the best we can do tho with this menu code without huge changes
2007-05-07 23:26:22 +00:00
Mikael Magnusson
31d7680274
update some strings and the swedish translation
2007-05-07 23:18:12 +00:00
Dana Jansens
e180bb036d
translate "More..."
2007-05-07 22:40:12 +00:00
Dana Jansens
d915480371
oops hehe. a render call in the loop for debugging was what made it slow. anyhow make it even faster by only calling render once too. yay snappiness.
2007-05-07 22:15:40 +00:00
Dana Jansens
3905872982
merge in r6153-6154 from the 3.4 branch
2007-05-07 22:07:13 +00:00
Dana Jansens
edf29cfe73
when a window becomes transient for its group, it needs to have group transients removed from itself
2007-05-07 17:07:35 +00:00
Dana Jansens
e1081644c1
show the right icon
2007-05-07 16:57:02 +00:00
Dana Jansens
37e2be2a57
fix a crash after reconfigure, the desktop names were not being re-set. so now they aren't deleted since we don't want to change them over a reconfigure anyways.
2007-05-07 16:49:27 +00:00
Dana Jansens
82b2f0aa7a
popups fixes. if the text for the popup is empty now, there wont be extra padding for it. desktop name fixes.
2007-05-07 06:33:43 +00:00
Dana Jansens
15007a62c2
remove a debugging print
2007-05-07 06:32:58 +00:00
Dana Jansens
5e8dfcfe54
we werent dropping it in screen, we were dropping it in prop
2007-05-07 05:58:02 +00:00
Dana Jansens
8d81088eb9
we were always overwriting the last desktop name
2007-05-07 05:43:31 +00:00
Dana Jansens
5e0fa1b5c1
a variable sized alt-tab box. is this nice or slower to read? we'll see.
2007-05-07 03:54:39 +00:00
Dana Jansens
0f018ecea0
fix a comment
2007-05-07 03:21:44 +00:00
Dana Jansens
13df16a681
windows on other desktops are iconic state too
2007-05-07 03:16:45 +00:00
Dana Jansens
f138bd8007
this had changed for the animation stuff but it is no longer needed i think. also in show desktop mode, windows aren't iconic state they are just "behind" the desktop.
2007-05-07 03:10:05 +00:00
Dana Jansens
974391d345
switch to using a command line variable instead, for the restart binary, just remove it so its not given to the session manager and confuses things.
...
drop the reconfigure notify pid for now
2007-05-07 01:57:10 +00:00
Dana Jansens
740c8af41e
add .desktops for running Openbox, KDE/Openbox and GNOME/Openbox
...
add more .desktops for gnome and update it
add scripts to run an KDE/Openbox and GNOME/Openbox session
also add scripts for openbox-gnome and openbox-kde which are placeholders and will be replaced by real programs.
also set the name on the wm_support_win to be how we were called (which is passed in the environment) rather than just "Openbox"
add an envionment variable for wanting to be notified (SIGUSR2) when openbox reconfigures. this would be used by openbox-shell to update the root window.. if i make such a thing.. i dunno.
2007-05-07 01:41:48 +00:00
Dana Jansens
f506cbceae
the session properties are not set on the group leader, they are set on the "client leader" which is in the WM_CLIENT_LEADER property. also they are all set when the window maps, and not to be changed thereafter.
2007-05-07 00:10:15 +00:00
Dana Jansens
b02947c09f
client machine and wm_command can be set on the group leader
2007-05-06 23:37:30 +00:00
Dana Jansens
de98881368
memory leak
2007-05-06 23:29:29 +00:00
Dana Jansens
f289adf653
a focus fix? konquerer would end up losign focus on close sometimes. this is the only thing i can think of tht would cause it. we will see..
2007-05-06 23:22:54 +00:00
Dana Jansens
2c507a7207
missed some stuff?
2007-05-06 22:58:51 +00:00
Dana Jansens
7ffa091d5b
change the perapp settings "head" option to "monitor" i think its easier to understand.
...
some cleanup for perapp settings.
make monitor and desktop be specified starting at 1, like elsewhere in the config file.
2007-05-06 22:57:49 +00:00
Dana Jansens
6cd5f7ea38
document the per app settings in rc.xml.in. some xsd fixes. add the "default" option to all the per-app settings which is the same as not putting it in there at all.
2007-05-06 22:04:55 +00:00
Mikael Magnusson
58b79ed35f
don't translate message saying we can't translate messages
2007-05-06 11:52:27 +00:00
Dana Jansens
8286b441be
fix the popup text width, cuz the way its calculated changed
2007-05-06 11:23:41 +00:00
Dana Jansens
a25c5b855c
lower the screen support win at startup. this way we don't map everything over top of the kde splash screen. and other windows wont get burried under the desktop window this way too, like amarok's osd.
2007-05-06 11:16:56 +00:00
Dana Jansens
3c4d73c484
save session state for old clients that dont use XSMP. more session improvements. with ksmserver we can save a few things before the clients go messing with stuff during the interactive phase.
2007-05-06 11:14:20 +00:00
Dana Jansens
0fc06816aa
don't make the desktop fullscreen
2007-05-06 09:10:09 +00:00
Dana Jansens
277db2822d
a bunch of thigns got squashed into this commit.. sorry..
...
1. soem bug fixes for window stacking
2. clarify some functions behavior with their names
3. add (untested) support for legacy fullscreen apps. i have no idea what they do on a multihead xinerama setup though and if this would help there or need some changes.
2007-05-06 08:32:03 +00:00
Dana Jansens
007e62fa77
fix popup sizes
2007-05-06 08:02:05 +00:00
Dana Jansens
2ad26c7e70
resize the desktop switch popup to as big as it needs to be for all the desktop names.
...
don't overrite desktop names on startup, only set them if they aren't already set. that property isn't even for us.
2007-05-06 06:43:17 +00:00
Dana Jansens
d4fec1d336
fixes for resizing to strings.
2007-05-06 06:42:06 +00:00
Dana Jansens
2b658f3d9b
show the desktop in the focus popup if its not on the current desktop
2007-05-06 06:01:52 +00:00
Dana Jansens
a7f65a818c
add an allDesktops option to Next/PreviousWindow to alt-tab across all desktops.
2007-05-06 05:51:08 +00:00
Dana Jansens
857245960e
give the focus indicator a fixed width
2007-05-06 05:37:45 +00:00
Dana Jansens
affc84cc96
more animation frames for iconifying, if your computer can do it
2007-05-06 05:32:07 +00:00
Dana Jansens
eac3a64917
more restrictive to keep clients on screen in more cases
2007-05-06 05:30:12 +00:00
Dana Jansens
1bf9de3809
refactor all the session stuff. yay, it works properly now.
...
make sessions save the desktop being displayed. can we get rid of config_firstdesk now?
refactor startup a bit. focus the window that was focused when we were restarted.
have clients properly restore their session state.
add undecorated to the saved session state for clients.
2007-05-06 05:19:19 +00:00
Dana Jansens
a6aaabe62c
change the --config-file to --config, which works differently..
...
change the _OPENBOX_RC root property to _OPENBOX_CONFIG which is also different.
2007-05-05 23:54:04 +00:00
Dana Jansens
37875f091d
extranous )
2007-05-05 23:45:49 +00:00
Dana Jansens
c1a5ad45a8
fix stupid apps focusing. yah.
2007-05-05 23:34:48 +00:00
Dana Jansens
526560b8a0
changes to the client menu, which entries are there, and reorganizing, and renaming.
...
let you highlight disabled menu entries, they just aren't runable of course, and add the activedisabled theme element for these entries.
add the all desktops button picture to "All desktops" in the client menu
update the themes for the new element, and some changes to make things more readable-better contrast.
CLEARLOOKS-OLIVE is now DIFFERENT FROM THE 3.4 BRANCH SO DON'T RE-RUN THEMETOXML ON IT :( :(
yeah.. i think that is everything?
2007-05-05 22:26:59 +00:00
Dana Jansens
8a99fedecd
prepend is faster
2007-05-05 19:27:31 +00:00
Dana Jansens
68a9a4c4fc
some changes to ConfigureRequest, based on what I found in FVWM.
...
fix those stupid applications from moving accross the screen by the size of their decorations.
2007-05-05 19:17:46 +00:00
Dana Jansens
97ffe20f7e
make focus fallback when it is given to the frame (this happens if you unmap the client but not the frame for eg in iconify animation)
2007-05-05 18:28:40 +00:00
Dana Jansens
3409148047
fixes to the properties and net_supported. a bunch weren't supported. better checking at runtime to make sure everything is in the atom.
2007-05-05 18:19:26 +00:00
Dana Jansens
b114ec7181
dont let you do mouse events on any animating window. also fix root window mouse events..
2007-05-05 17:04:22 +00:00
Dana Jansens
378adaa94f
yay. way way cleaner code for iconify animations. let people show/hide the frame logically and it will do everything except during animations the frame will show what it needs to for visual display.
2007-05-05 16:53:48 +00:00
Dana Jansens
ac56fe1602
make animation default on again. :/
2007-05-05 16:20:04 +00:00
Dana Jansens
3e90c85df0
oops, i left in the really long animate time heh
2007-05-05 16:17:29 +00:00
Dana Jansens
b5e597f1b3
lots of fixes for the iconify animation. i think it should all work perfectly now ?
...
one change in action.c may affect bindings... THIS COULD BREAK CURRENT CONFIG FILES. ya.
so, if you used a press binding and it moved the window, no enter event will be generated for that anymore because you are holding down the button when the window moves. if you don't like that then use a click binding instead.
1
2007-05-05 16:16:26 +00:00
Dana Jansens
3db93a6ab5
watch for currenttime
2007-05-05 16:12:36 +00:00
Dana Jansens
48a4eafb42
better iconify animation code. now it is time limited even under heavy load or whatever. yay
2007-05-05 14:36:41 +00:00
Dana Jansens
cf67851d6d
dont retrurn a context while incoify animating
2007-05-05 13:29:01 +00:00
Dana Jansens
9ee9b70757
dont make two animations conflict
2007-05-05 13:12:04 +00:00
Mikael Magnusson
492b66ea14
don't animate iconify/restore by default
2007-05-05 09:58:56 +00:00
Dana Jansens
90fefcb78d
maybe 1/5 of a second is better?
2007-05-05 06:03:50 +00:00
Dana Jansens
08e42acaad
animate iconify/reestore. yeah.
2007-05-05 05:58:35 +00:00
Dana Jansens
fde5ca09e9
when restoring from show-desktop mode because a window is going to be focused, then don't restore focus how it was before showing the desktop.
2007-05-05 02:48:39 +00:00
Dana Jansens
9389c7e6c8
more hacks to avoid races
2007-05-05 02:44:03 +00:00
Dana Jansens
6d3b17488f
this is so bogus.. im going to break people's config files just now.
2007-05-05 02:38:46 +00:00
Dana Jansens
a56d3a12ab
missing parentheses
2007-05-05 02:12:39 +00:00
Dana Jansens
03f861b0ac
let you alt-tab to utility windows when focus is already in the group
2007-05-05 01:37:51 +00:00
Dana Jansens
fce7d9b21e
and some more transient fixes
2007-05-05 01:17:05 +00:00
Dana Jansens
1046c19fda
more fixes for the transient tree
2007-05-05 01:12:59 +00:00
Dana Jansens
288e37b031
lied about using some events it wasnt using
2007-05-05 01:01:58 +00:00
Dana Jansens
9a9e3f6bf6
woa.. let you do mouse actions while in an interactive keyboard action, and let you do keyboard actions while move/resizing. yay. also you can click in windows at the same time..
2007-05-05 00:50:53 +00:00
Dana Jansens
0c15af505f
unused variable
2007-05-05 00:48:51 +00:00
Dana Jansens
071b5ee301
fix 2 actions.
...
make activate on the root window work like focus.
dont allow growtoedge in vertical directions for shaded windows. mika can you please test this? :)
2007-05-04 23:32:11 +00:00
Dana Jansens
2713831371
missing paranthesis
2007-05-04 23:30:13 +00:00
Dana Jansens
431035df66
continuation of r6039 in all respects
2007-05-04 23:15:08 +00:00
Dana Jansens
7ff21ad74f
add the maginificent client_update_transient_tree.
...
add a whole lot of comments ! i think like half of this commit is comments
speed up mapping windows a little! less re-updating of the transient info by far.
and... yeah fix the crash created from r6035.
2007-05-04 22:50:53 +00:00
Dana Jansens
32630da2bf
make clicks end inetractive actions but not cancel them ! so annoying !
2007-05-04 17:57:14 +00:00
Dana Jansens
15ec358151
group transients werent getting added to their parents
2007-05-04 16:14:16 +00:00
Mikael Magnusson
d0bbfb66d3
ignore maximized windows in smart placement
2007-05-04 14:30:58 +00:00
Dana Jansens
b5161f8032
revert r6029, as it didnt fix anything.
...
however this patch does fix the aforementioned problem.
actions need some reworking... yeah... later...
2007-05-04 07:21:22 +00:00
Dana Jansens
a823e4786e
dont move windows away from omnpresentness when deiconifying them
2007-05-04 07:19:21 +00:00
Dana Jansens
e84fb1b052
drop the DoNotPropogate thing. metacity doesn't set it at all, and i cant tell any difference in the events generated without it.
...
grab mouse buttons on the client window itself for client bindings. this fixes the weird "click and drag doesnt work when the window is focused" behavior ive been seeing with kdesktop. hooray !
2007-05-04 04:47:43 +00:00
Dana Jansens
07af4a6184
some improvements on how group transients get their transient pointers, needed after r6022.
2007-05-04 04:25:44 +00:00
Dana Jansens
147f83fe3c
this is gross... i think it can go away from other changes... if openbox goes into infinite loops.. then it needs to come back !
2007-05-04 04:08:31 +00:00
Dana Jansens
cdcba19cf9
better stacking_add_nonintrusive.
2007-05-04 04:06:53 +00:00
Dana Jansens
02dda1ef65
set the usertime on windows if they dont provide one, to something reasonable.
2007-05-04 04:06:43 +00:00
Dana Jansens
b71f1cd6a5
from r6017, we no longer need to fallback in client_unmanage. yay
2007-05-04 02:48:23 +00:00
Dana Jansens
00bf97aecd
not much.. some debugs and a nicer if statement
2007-05-04 02:47:10 +00:00
Dana Jansens
7c17296a20
handle more focus events. keep track when focus goes to another screen and don't handle focus fallbacks in that case until we know focus came back to our screen.
2007-05-04 02:46:47 +00:00
Dana Jansens
88d00a0120
fix the new modifier key code..
2007-05-04 01:35:39 +00:00
Dana Jansens
7e946f68d9
make the modifier key code a lot better...
...
1) it can handle more user cases.
2) it can handle binding more modifier keys with their keysym names like Hyper and Super. W is a shortcut for Super, cuz the windows key is generally bound to it.
3) if you change your keymap bindings and reconfigure openbox it will learn your changes.
and i dunno.. its just nice and stuff now.. you can actually read it I think..
2007-05-04 01:10:03 +00:00
Dana Jansens
5784f11132
add the notion of "application windows" meaning normal or dialog type windows.
...
let you alt-tab to non-application windows when they dont have an application window in their group
2007-05-03 20:57:40 +00:00
Dana Jansens
e0e1d4ba7e
don't show the client menu when its for an invalid window
2007-05-03 20:39:26 +00:00
Dana Jansens
53975abf12
merge r6004 from trunk
2007-05-03 04:32:44 +00:00
Dana Jansens
75c63eece5
end interactive grabs durign reconfigure instead of leaving everything in a hung state. yay!
2007-05-03 04:28:50 +00:00
Dana Jansens
d389e67d22
yeah.. so much for lucky 6000
2007-05-03 04:23:55 +00:00
Dana Jansens
34b89d8f71
don't run 100 actions when doing interactive actions. keep only one interactive action at a time, no need to queue them up. when an action with a different function comes along, end the previous one. if its the same function though, you know it will clean up after itself so no need to save them both and call it twice identically.
2007-05-03 04:21:16 +00:00
Dana Jansens
9c19d7f677
find_on_screen takes client width/height, not frame
2007-05-03 03:18:56 +00:00
Dana Jansens
88ac9ee76f
debug messages
2007-05-03 03:18:34 +00:00
Dana Jansens
d7108df02b
when deiconifying, deiconify all transients, not just direct ones
2007-05-03 00:50:40 +00:00
Dana Jansens
f2890f35b7
remove delay for focus/desktop popups. its fast anyway any not showing it is annoying
2007-05-02 23:43:36 +00:00
Dana Jansens
ec850570ef
typos
2007-05-02 23:16:11 +00:00
Dana Jansens
80117db6c4
turn on demands_attention when urgent gets set, and turn it off when urgent is removed, for those apps that think it is 1917 or something
2007-05-02 23:03:43 +00:00
Dana Jansens
1d9c0e8b87
skip windows which skip the taskbar.
...
don't skip them for cycling dock windows.
2007-05-02 21:53:27 +00:00
Mikael Magnusson
1019e34012
only ignore vertical scrolls
2007-05-02 20:19:18 +00:00
Mikael Magnusson
0fee4e91a8
only ignore horizontal and vertical scroll events when outside a menu frame, not all buttons above 3
2007-05-02 20:10:37 +00:00
Dana Jansens
a6f52b9055
better menu keyboard handling.
...
also, when you hit a keybinding while menus are open, it will close the menus and run the binding.
2007-05-02 03:10:25 +00:00
Dana Jansens
cb030c6f3a
make submenus open in the same direction as the top level menu
2007-05-02 02:18:37 +00:00
Dana Jansens
10df03b957
only show the coords popup when both directions have a size increment
2007-05-02 02:15:48 +00:00
Dana Jansens
97cbacd9e4
make keeping windows on screen much more clever
2007-05-02 02:03:06 +00:00
Dana Jansens
0da9aa2660
add a slight delay to the focus/desktop switch dialogs. so if you hit the key really fast there is no flicker. of course if you hit it fast but not fast enough there is still flicker. is this cool or does this make it feel bad? i dunno. we'll see..
...
make the keychain popup use the new delay popup facilities
2007-05-02 00:59:07 +00:00
Dana Jansens
66d6e1120e
small change to the render API. RrMinsize became RrMinSize. added RrMinWidth and RrMinHeight.
...
make focus/desktop popups wider based on the screen size with the old size as a minimum.
left-align the desktop dialog.. i think better dialogs would be nice. and to make them hide or something when you switch desktops while switching windows etc.
2007-05-02 00:35:22 +00:00
Dana Jansens
a223fa2057
don't accept non-letter keys for shortcuts, they can't be shortcuts anyways and it was mis-matching
2007-05-02 00:02:02 +00:00
Dana Jansens
e9d815173f
big oops
2007-05-01 23:57:57 +00:00
Dana Jansens
564b727966
fix drawcontent=no resizing
2007-05-01 12:17:37 +00:00
Dana Jansens
cad10d8b6d
some old changes to grav.c test, it wasn't a valid test before.
...
when a window gets reconfigured, try keep it on the monitor if it was before.
2007-05-01 05:02:26 +00:00
Dana Jansens
55d2916c1e
a whole lot of changes to the moving/resizing code. it was broken for non-northwest gravities. now it is not. at least, that is the idea.
2007-05-01 04:46:29 +00:00
Dana Jansens
c991482154
fix this client message.
2007-05-01 00:55:56 +00:00
Dana Jansens
71cbd4d821
there is 5 longs, not 4
2007-05-01 00:51:30 +00:00
Mikael Magnusson
e5d6a552a4
also add the go there entry to client list menus if the only windows on a desktop are iconified. hopefully this separator will be okay?
2007-04-27 12:55:59 +00:00
Dana Jansens
4e590eba23
add a separate font config for onscreendisplays
...
change menutitle in the rc to menuheader
fix up the xsd for fonts
2007-04-26 13:10:36 +00:00
Dana Jansens
1c4c2b92a0
focus_client is already nulled from the fallback, and use client_focused for niceness in the future
2007-04-26 06:14:09 +00:00
Dana Jansens
b673823d0b
have to fallback in client_unmanage, until we figure out a way to hear those focusin events without conflicting screens
2007-04-26 06:10:13 +00:00
Dana Jansens
bdf287572c
fix placement of top menus
2007-04-26 05:59:37 +00:00
Dana Jansens
004c0d3ccf
almost everyone prefers the brackets. so make both menus use them now. maybe [] would be better than ()? i dont know
2007-04-26 05:39:23 +00:00
Dana Jansens
26879183e9
place the client menu at the top left of the window when opening it with a key binding.
...
change how the first menus are placed. place them like other people place menus. maybe this is good, maybe it is bad, we will see..
2007-04-26 05:08:33 +00:00
Dana Jansens
baa9ad1480
dont parse both keybindings and actions in the same block
2007-04-26 03:12:47 +00:00
Dana Jansens
1a300ab372
add the delay for killing keychains back (but it won't kill chroots)
2007-04-26 02:43:43 +00:00
Dana Jansens
d9b25d4884
add group transients to other transients who arent group transients. is that english? YEP
2007-04-26 02:32:50 +00:00
Dana Jansens
e896709c90
when windows disappear dont move focus from enter event, ever.
2007-04-26 02:21:27 +00:00
Dana Jansens
a65b1d202f
allow actions and chains at the same level
2007-04-26 02:12:40 +00:00
Dana Jansens
8c68c9ab0f
fixes for new keybindings stuff/chroot/parsing
2007-04-26 02:10:15 +00:00
Dana Jansens
b6d2529acb
add chrooting. use chroot="true" on the chroot location
2007-04-26 01:25:52 +00:00
Dana Jansens
1ee98f4a47
give the chain popup a 1 second delay before it shows
2007-04-25 20:17:29 +00:00
Dana Jansens
df9b2294db
add a popup dialog that shows where you are in a keychain
2007-04-25 20:04:25 +00:00
Dana Jansens
b5dbe857db
dont go to disabled menu entries with keyboard shortcuts
...
fix some rendering of shortcuts
2007-04-25 18:26:02 +00:00
Dana Jansens
0c41ab3c20
make rendering the shortcuts much faster
2007-04-25 18:04:15 +00:00
Mikael Magnusson
a744deeee3
consistency for dock layer naming
2007-04-25 15:44:49 +00:00
Dana Jansens
c8983c42a7
playing a bit with grabs
...
make mouse clicks cancel alt-tab and stuff if you arent dragging during the alt-tab
2007-04-25 14:13:32 +00:00
Dana Jansens
d9204860c3
some more border fixups
2007-04-25 04:07:52 +00:00
Dana Jansens
89658cf648
the inner stuff was being placed wrong all this time.
...
also give the inner window a border. clicking to the left/right of the client now will be the client context rather than the frame. frame is just for grabbed buttons after all.
2007-04-25 03:52:33 +00:00
Dana Jansens
9aa42c2ae7
cleanups for keyboard menu shotcuts. dont let & set a shortcut from stuff like menu titles and what not, they are only for strigns oenbox provides.
2007-04-25 02:50:59 +00:00
Dana Jansens
4717b9870c
change resize binding
2007-04-25 01:36:20 +00:00
Dana Jansens
5d5be2ba2a
add keyboard shortcuts to the menus. you can specify the shortcut key with & even in root menu and stuff
2007-04-25 01:33:20 +00:00
Dana Jansens
d91c67bf93
g_locale_to_utf8 seems to work here and its a simpler function all, and i dont have to specify iso-8891whatever in it, so maybe its actually more portable. or maybe it breaks things. we'll see, won't we.
2007-04-25 01:31:55 +00:00
Dana Jansens
f6b049cd38
pointer type changed a long time ago
2007-04-25 00:50:20 +00:00
Mikael Magnusson
fb2493115f
only grab keybinds on the root window, not every client window
2007-04-24 21:45:43 +00:00
Dana Jansens
7b6f90af52
consistency
2007-04-24 21:11:04 +00:00
Dana Jansens
04010ff0fe
don't split strings inside _() across lines. change some of the text messages
2007-04-24 21:09:12 +00:00
Dana Jansens
1582b36187
proper handling of the plate though, too
2007-04-24 20:48:28 +00:00
Dana Jansens
d3ca984e93
make the inner window work like the plate used to for actions
2007-04-24 20:42:34 +00:00
Dana Jansens
79cd7b4b2c
dont cause focus change with enter events when youre already in the window
2007-04-24 20:39:59 +00:00
Dana Jansens
d19c184b2d
set the client's user_time when it gets activated
2007-04-24 19:55:48 +00:00
Dana Jansens
0116d82463
don't activate and change desktops if the client's not on the current desktop and its user_time is older than the last time you changed desktops
2007-04-24 19:53:50 +00:00
Dana Jansens
ca8665e309
fix a comment
2007-04-24 19:26:48 +00:00
Dana Jansens
8446e50b7a
use client_activate to activate newly mapping windows. this means that if a window maps on another desktop and is going to be activated, you will end up on that desktop
2007-04-24 19:20:10 +00:00
Dana Jansens
9e6aa531d0
remove the four corners option
...
document what these serious macros are with art!
2007-04-24 18:36:13 +00:00
Mikael Magnusson
59a33c03b0
working tapered corners resize
2007-04-24 18:05:37 +00:00
Dana Jansens
5606209b8d
print the corner out that was chosen
2007-04-24 18:00:45 +00:00
Mikael Magnusson
045ba2e001
what I have so far
2007-04-24 17:42:53 +00:00
Mikael Magnusson
f201828046
this doesn't work yet but i don't want to screw it up accidentally
2007-04-24 16:37:01 +00:00
Dana Jansens
ac241a8235
set the default icon onto windows which don't provide one
2007-04-24 15:56:37 +00:00
Dana Jansens
d2f7ad9a24
place randomly inside the area available. if its too big, put the top left corner inside still
2007-04-24 15:29:42 +00:00
Dana Jansens
0771964c0f
set the max settings properly, was setting max_vert for both.
...
make sure the desktop property is set when per-app settings change it
2007-04-24 14:58:29 +00:00
Dana Jansens
c1a124fcf2
preliminary change to the 9 corners thing, to add a recursive 9 corners inside the middle one
2007-04-24 14:37:46 +00:00
Dana Jansens
8740c30588
the check for if the window is being resized is only needed for syncing
2007-04-24 14:27:31 +00:00
Mikael Magnusson
e86900bd53
fix resizing when drawContents is off, and I think an ifdef was a bit too high up
2007-04-24 12:18:53 +00:00
Dana Jansens
7854818a82
add debug messages saying if an extension is missing on the server
2007-04-24 07:26:37 +00:00
Dana Jansens
fefbf38726
remove the stick atom, since openbox does not use stickiness
2007-04-24 07:12:19 +00:00
Dana Jansens
6e83a82e5b
the focus_client = NULL got moved by mistake.
2007-04-24 06:41:59 +00:00
Dana Jansens
c6fe4f8d8f
focus_order_remove is called in a few places. move the check for unsetting focus_client into client_unmanage.
2007-04-24 06:41:04 +00:00
Dana Jansens
ad852b6b56
add support for _NET_WM_SYNC_REQUEST
2007-04-24 06:30:16 +00:00
Dana Jansens
7ae95e4660
save windows' colormaps rather than querying them from the server every time you focus it
2007-04-24 01:29:53 +00:00
Dana Jansens
3595da62ca
never mind on the hint idea, it was fun while it lasted. at least i know it is there now.
2007-04-24 01:16:33 +00:00
Dana Jansens
3a91527fdf
hm, that was a silly error. the propogate mask shouldnt get the Hint thing in it.
2007-04-24 01:08:09 +00:00
Dana Jansens
a806f05214
missing a thinger
2007-04-24 01:02:35 +00:00
Dana Jansens
a488360f48
add the PointerMotionHintMask everywhere, we dont need every mouse event
2007-04-24 01:00:27 +00:00
Dana Jansens
3993847dd4
set the eventmask on frame windows again..
2007-04-24 00:07:28 +00:00
Dana Jansens
268c87ed9e
in shrinking resize the frame before the client
2007-04-24 00:02:51 +00:00
Dana Jansens
5316bc6c3e
1. remove some old event handling that was not used at all. yay less bandwidth.
...
2. make the client padding color show during resizes with drawContents off
2007-04-24 00:00:11 +00:00
Dana Jansens
1a005d7291
place transients without a parent in the middle of the screen
...
dont use non-normal windows as parents
2007-04-23 23:46:13 +00:00
Dana Jansens
d0013c0861
add a window between the frame and the plate for drawing the client border. this way when the client window disappears, nothing gets rendered underneath it.
2007-04-23 23:21:47 +00:00
Dana Jansens
b4eecc51b5
focus_client was becoming invalid if the focused client was unmanaged.
2007-04-23 23:11:33 +00:00
Dana Jansens
9f11e2af6b
cycling between dock windows now possible with the <panels>yes</panels> option
2007-04-23 22:40:33 +00:00
Dana Jansens
f999797f01
leavenotify events messing up delayed focus
2007-04-23 22:05:03 +00:00
Dana Jansens
865ef738ec
fix warning
2007-04-23 20:36:32 +00:00
Dana Jansens
5a68cdadf3
extra comma
2007-04-23 20:36:13 +00:00
Dana Jansens
b22cdc9f70
line up the top coords box nicer
2007-04-23 20:20:04 +00:00
Mikael Magnusson
9e7a240dfd
include the header that has gethostname
2007-04-23 19:02:33 +00:00
Mikael Magnusson
141c249b8c
show the hostname of forwarded clients in the titlebar
2007-04-23 18:46:19 +00:00
Dana Jansens
2442cdfd85
1) translate all of openbox's output
...
2) update copyrights.
3) make release. ok that part not quite yet.
2007-04-23 17:56:35 +00:00
Dana Jansens
ea088eb88d
remove an unused variable
2007-04-23 17:55:26 +00:00
Dana Jansens
a8535d49a9
only show debug messages if you enable it on command line and remove extra newline
2007-04-23 02:43:56 +00:00
Dana Jansens
eb18f502b5
fallback to desktops properly
2007-04-23 02:43:14 +00:00
Dana Jansens
a8a93d7d39
put the separator back in the spit up client list menu
2007-04-23 02:22:18 +00:00
Dana Jansens
06943a10ff
back out r5812. you do want that there
2007-04-23 02:02:34 +00:00
Dana Jansens
a82c1efeed
wasteful syncing
2007-04-23 02:00:33 +00:00
Dana Jansens
58dc86971a
remove windows from the hash on hide, dont readd them again!
2007-04-23 01:54:35 +00:00
Mikael Magnusson
66c350763f
unused variable "icons"
2007-04-23 01:36:36 +00:00
Dana Jansens
7e0d660b8b
stop listening to events on clients that are being unmanaged before generating new events
2007-04-22 22:56:53 +00:00
Dana Jansens
806655e78a
you cant grab substructureredirect on the plate. why was this even here?
2007-04-22 22:55:06 +00:00
Dana Jansens
86b7f4e543
use event_ignore_queued_enters
2007-04-22 22:21:32 +00:00
Dana Jansens
4543c1761a
when windows reverttoparent, we will get a notifynonlinear when the frame closes
2007-04-22 21:29:02 +00:00
Dana Jansens
56d42ce66a
use focusouts from unmanaged windows (windows which have just closed)
2007-04-22 21:14:04 +00:00
Dana Jansens
6d666b0aa5
add a debug message
2007-04-22 20:41:26 +00:00
Dana Jansens
f37382b66d
focus properly on desktop change
2007-04-22 20:40:22 +00:00
Dana Jansens
5f428bdeb2
missing a header
2007-04-22 20:37:33 +00:00
Dana Jansens
3265ea9ac1
when focusing nothing, make sure focus_client knows that nothing is focused
2007-04-22 20:33:12 +00:00
Dana Jansens
afd88015b5
focusin to the root window happens on both monitors when a focused window unmaps... boo...
2007-04-22 20:27:13 +00:00
Dana Jansens
eb1cd9cc49
ignore some focus events that shouldnt be reacted to
2007-04-22 20:10:17 +00:00
Dana Jansens
dc43b74abd
2007-04-22 19:52:37 +00:00
Dana Jansens
911ad76372
a) set the focus client before calculating its layer
...
b) cleanup in focus.c
2007-04-22 19:35:50 +00:00
Dana Jansens
55b5b828e9
FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window
2007-04-22 19:24:51 +00:00
Dana Jansens
bfb800c032
a) remove focus_hilite, it is not needed and complicated things
...
b) set focus_client to null when nothing is actually focused, but still allow
focus to go to black holes
c) allow the focus action to be performed without a client, this will focus
the openbox instance (i.e. the screen in multihead setups)
big thanks to syscrash for the ideas on how to go about this
2007-04-22 19:13:38 +00:00
Dana Jansens
7d1226c57c
xflush after changing the focus decorations so it gets shown faster
2007-04-22 19:08:38 +00:00
Mikael Magnusson
7c1fb96bd3
don't compare client pointers with random numbers
2007-04-22 18:26:05 +00:00
Dana Jansens
1685e6528d
remove debug message
2007-04-22 17:33:37 +00:00
Dana Jansens
65f29b245d
hilite the focus target before xsyncing in the ignore enter stuff, so less flicker
2007-04-22 16:49:13 +00:00
Dana Jansens
037654f3f8
use ignore enters instead of removing them from the queue
2007-04-22 16:48:35 +00:00
Dana Jansens
d6e49acf0f
dont need to ignore mouse events during a keyboard grab, they go to the grab-window anyways
...
use our built in grab_keyboard
2007-04-22 15:58:09 +00:00
Dana Jansens
27773e1cb7
don't grab the pointer during interactive events. this allows you to alt-tab during a dnd.
2007-04-22 15:22:25 +00:00
Dana Jansens
4c672be2e1
remove grab_pointer_window, nothing used it
2007-04-22 14:37:14 +00:00
Dana Jansens
48f237203b
start on the current desktop when a wm was already running
2007-04-22 14:16:33 +00:00
Dana Jansens
ff43372da7
only pass thru events when the menu is open, don't for other stuff
2007-04-22 14:07:29 +00:00
Dana Jansens
a70633d42a
eat enter events after unmanaging a window
...
change how focus falls back for windows being unmanaged, don't fall back immediately, instead wait for the focus out event and use it (break stuff maybe! yay)
2007-04-22 13:53:28 +00:00
Dana Jansens
63f1b1230c
don't fallback to the desktop again when leaving show-desktop-mode
2007-04-22 04:42:33 +00:00
Dana Jansens
6e7abeb860
engrish
2007-04-22 04:35:23 +00:00
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
8612fcfb99
better matching of the menu titles/separators to the theme
2007-04-22 03:54:43 +00:00
Dana Jansens
5a3a7668d9
highlight for motion events in the menu too, this is useful when the enter gets ignored cuz the mouse was already inside it
2007-04-22 03:18:55 +00:00
Dana Jansens
51c3c8c34a
give labeled separators borders
2007-04-22 03:13:41 +00:00
Dana Jansens
73b490f614
stop delayed focusing when falling back
2007-04-22 03:02:13 +00:00
Dana Jansens
57ffea1123
fix segfaults
2007-04-22 02:49:52 +00:00
Dana Jansens
98b021ff0c
properly handle clients disappearing during delayed focus on them
2007-04-22 02:35:22 +00:00
Dana Jansens
5009498d59
use the timestamp from the original enter when delay-focusing a window
2007-04-22 02:34:05 +00:00
Dana Jansens
a5caab959c
ignore crossing events while an interactive grab is going on.
...
when a menu is open, use the crossing events for the menu only.
2007-04-22 02:12:32 +00:00
Dana Jansens
05d1a86eff
fix a segfault
2007-04-22 01:09:20 +00:00
Dana Jansens
b6897feb40
better event handling for menus
2007-04-22 00:53:21 +00:00
Dana Jansens
957963e272
1) get rid of menu titles
...
2) let separators have labels, when they have a label, then they will appear like a menu title used to
so if you want a menu title, you use a separator in the menu itself at the top
more style work may be needed
2007-04-22 00:36:54 +00:00
Dana Jansens
854b2ae684
grab enter/leave events during mouse grabs and pass events along still during the grab. this is needed to catch enter/leave events in the menus. it seems to not be weird with apps.
2007-04-22 00:35:36 +00:00
Dana Jansens
8644a47cb7
handle enter/leave events in the menu
2007-04-22 00:31:03 +00:00
Dana Jansens
78d7250098
add --debug-focus
...
add --config-file: to specify a config file to use.
set OPENBOX_RC property on the root window containing the path of the RC file being the full path to the RC file being used by openbox
2007-04-21 22:06:47 +00:00
Dana Jansens
8a972b3879
ignore BadMatch errors that can't be avoided
2007-04-21 21:36:02 +00:00
Dana Jansens
0e9bd66b75
fixes for transients
...
1) don't count non-normal windows as parents when placing/stacking transients
2) in stacking.c, when a window is transient for the group but has no parents, then don't loop forever looking for its parents
2007-04-21 21:32:21 +00:00
Dana Jansens
3f2d342de8
hide focus debugging messages
2007-04-21 21:04:35 +00:00
Dana Jansens
d713bdf462
remove the client_time_heap thing. actually its better to just use the user_time on the currently focused window I think. that will handle panels and things too.
2007-04-20 05:22:23 +00:00
Dana Jansens
90cd9c6219
get rid of global client_last_user_time variable.
...
add ObClientTimeHeap. This is a max-heap of the clients based on their user times. this only includes the clients whose user time is not CurrentTime. the maximum from this heap replaces the client_last_user_time variable, so that you always have the latest time, not the last time that was changed.
hoefully it works, so far it seems to.
2007-04-18 19:22:59 +00:00
Dana Jansens
f18d9a9539
don't allow comparison with timestamps to CurrentTime. it just doesn't make any sense.
...
(also client interface changed, that is in the next commit)
2007-04-18 19:21:14 +00:00
Dana Jansens
34196a1ef3
make stacking_add_nonintrusive work when there is only 1 other window
2007-04-18 19:19:45 +00:00
Dana Jansens
7f11e15bb8
fix undermouse placement
2007-04-18 17:18:16 +00:00
Dana Jansens
64dda2375e
saved session information overrides per-app settings, because that's how you set it up in the session
2007-04-12 14:54:54 +00:00
Dana Jansens
33c469f453
set the desktop from per-app-settings properly, i think.
...
also fix a compiler warning.
2007-04-12 14:47:54 +00:00
Dana Jansens
7a1a6da849
better synthetic configurenotify handling. in particular..
...
http://bugzilla.gnome.org/show_bug.cgi?id=399552
on unmap, when we move the client window, we need to send a synthetic configurenotify.
2007-04-12 14:44:17 +00:00
Dana Jansens
ceaf23b6b4
set event_curtime if we're going to use it only
2007-04-12 02:26:58 +00:00
Dana Jansens
fda5ddfe16
excessive debug printing.. :)
2007-04-12 02:26:41 +00:00
Dana Jansens
c03c08415f
don't fallback when a window is hidden right away, it's redundant, we'll get a focusout for the window after the unmapnotify anyways.
...
show new windows when switching desktops before hiding the old windows.
2007-04-12 02:26:26 +00:00
Dana Jansens
7059cde13b
http://mail.gnome.org/archives/wm-spec-list/2006-May/msg00000.html
...
Send ConfigureNotify events when a window is mapped at the position it has specified. When we add decorations, the window gets moved in reference to the root window, so it needs to be told.
2007-04-05 03:59:24 +00:00
Dana Jansens
8d7cc2597e
the centered menus thing got annoying :|
2007-03-30 18:29:28 +00:00
Dana Jansens
e6e9ab9224
unset DESKTOP_STARTUP_ID at startup so we don't pass it on unknowingly.
2007-03-30 16:18:25 +00:00
Mikael Magnusson
41c6b0486d
delete the SN env var after launching a program
2007-03-30 09:57:21 +00:00
Dana Jansens
0eaf2d15e7
fully maximize windows all the time. size increments are preferred sizes not required ones.
...
-- http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.3
2007-03-30 04:37:53 +00:00
Dana Jansens
00ddaf06bb
can't use (unsigned)-1 for a max time, because timestamps wraparound and stuff. user the last_user_time as a default for new windows instead.
2007-03-28 19:57:07 +00:00
Dana Jansens
6372bd7c0d
use CurrentTime constant
2007-03-28 19:42:45 +00:00
Dana Jansens
2876f22088
use CurrentTime when time gets moved backwards
2007-03-28 19:41:41 +00:00
Mikael Magnusson
fc5b9a5612
fix compile without startup notification after r5711
2007-03-28 17:05:23 +00:00
Dana Jansens
f746a4975b
use setenv to set up the DESKTOP_STARTUP_ID when launching programs.
...
before, if DESKTOP_STARTUP_ID was set in openbox, it would mess up adding it to the child's environment because it would appear twice. so now it will only appear once for the child always.
2007-03-28 06:00:19 +00:00
Dana Jansens
3ad050f7d8
proper logic for event_time_after, and wraparounds and such
2007-03-28 04:07:27 +00:00
Dana Jansens
5fb30e4488
add toggled-pressed and toggled-hover button states to themes. also rename toggled to be toggled-unpressed
2007-03-28 03:32:46 +00:00
Dana Jansens
33cc572402
drop some wasted client_validates.
2007-03-28 02:00:10 +00:00
Dana Jansens
d20f84f5de
more handling time wraparounds
2007-03-28 01:53:37 +00:00
Dana Jansens
339d767044
handle time wrapping around.
2007-03-28 01:52:06 +00:00
Dana Jansens
0ec2282e2c
make sure the ungrab happens after the grab. fracking X server doesn't have a monatomic clock..
2007-03-28 01:11:40 +00:00
Dana Jansens
3278fdae73
open the menu with the mouse cursor just outside the top item
2007-03-25 17:32:58 +00:00
Dana Jansens
cbbda7a363
proper logic for using the menu overlap with middle centered submenus.
...
always center top level menus horizontally under the cursor. why is this not normal behavior..?
2007-03-25 17:26:22 +00:00
Dana Jansens
ee58f96a84
better placement for top level menus under the mouse cursor. middle placement is not used for this now. it was behaving differently than submenus so i'd like to have some consistency
2007-03-25 17:19:41 +00:00
Dana Jansens
afc015158a
better vertical centering for when "middle" placement is enabled for menus
2007-03-25 17:16:32 +00:00
Dana Jansens
ede50bed27
return the old cursor. oops
2007-03-25 17:11:50 +00:00
Dana Jansens
c567f5937b
add support for the X Cursor library. this means a nicer cursor for startup notification.
2007-03-25 16:56:47 +00:00
Dana Jansens
59c5d1cc4e
set up the menu's parent and children stuff before rendering it
2007-03-25 16:38:04 +00:00
Dana Jansens
e6c82786ff
don't menu menus jump around at all anymore. open them on screen in the first place
2007-03-25 16:34:26 +00:00
Dana Jansens
d6c45db8da
bad idea.. more thought is needed..
2007-03-25 15:16:00 +00:00
Dana Jansens
20f4d7fd44
when opening the client menu with a key, open it at the window's top left corner. is this clever or dumb?
2007-03-25 15:05:10 +00:00
Dana Jansens
eb2a0feb01
watch for reverttoparent reverting to the root window, which will create a DetailInferior focusin event on root.
...
adding some debug messages also which I am using..
2007-03-24 23:19:45 +00:00
Dana Jansens
4aa8d64f76
set the event_curtime when running an action to the time in the event used to run the action
2007-03-24 17:22:31 +00:00
Dana Jansens
c4732aeed2
2007-03-24 17:17:02 +00:00
Dana Jansens
e77353f0cd
clean up the title getting function
2007-03-24 17:06:19 +00:00
Dana Jansens
4c2b16e72d
kill window title numbering...
...
probably it was a dumb idea all along. you're not picking the numbers yourself and you're probably not remembering which window they apply to and the focus indicator thinger is much more clever than numbers
2007-03-24 17:01:40 +00:00
Dana Jansens
ba161e967b
launch things on the desktop where you ran it.
...
also: kde apps move themselves to the current desktop when they open. what the heck?
2007-03-21 16:19:06 +00:00
Dana Jansens
c4446bebff
ignore focus events on root that we don't care about
2007-03-21 16:12:21 +00:00
Dana Jansens
fd382fcc36
allow focus to disappear to black holes. (that is, windows not managed by openbox). the black hole may just be a window on another monitor. keyboard events aren't going to work in this scenario, though.
2007-03-21 15:54:30 +00:00
Dana Jansens
e227ac841e
we're only getting one unmap notify now, with the new event mask on the root window. we're not getting one for the frame window anymore.
2007-03-20 04:42:25 +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
0ed1b678d1
memory leak in xinerama setup code
2007-03-18 15:16:03 +00:00
Dana Jansens
3678f8df8a
use const char*'s when we should be
2007-03-18 15:07:30 +00:00
Dana Jansens
5fa443efc8
oops, logic error
2007-03-17 20:06:16 +00:00
Dana Jansens
50f631b9a7
mention when the logicalx/y is actually returned
2007-03-16 19:16:07 +00:00
Dana Jansens
73dac2b9b9
fix for bug introduced in revision 5643. logical size is supposed to be updated only when the window is resized.
2007-03-16 19:14:53 +00:00
Dana Jansens
f658ec961e
animate presses on toggled titlebar buttons
2007-03-16 01:33:47 +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
Mikael Magnusson
768ce7b456
move stuff around in client_unmanage to maybe make closing windows a bit nicer
2007-03-14 14:17:31 +00:00
Dana Jansens
5f7ffb00ba
refix for managing iconic windows, without having the frame map which caused flashing.
...
instead, keep track of if the frame has been mapped yet. if it hasn't and it is getting hidden, then make sure to unmap the child.
2007-03-14 13:58:36 +00:00
Dana Jansens
e2521f5c64
a) fix resizerelative moving windows when they reach their minimum size do this by...
...
b) adding a function to let you see what size/position a window will be given when you actually try move/resize it to some given values. (client_try_configure)
2007-03-14 03:45:56 +00:00
Dana Jansens
2d03d09577
make frame and client window in a consistant mapped state when the window is grabbed
2007-03-14 02:23:50 +00:00
Dana Jansens
594648729f
less wasted updates of wm_state
2007-03-14 02:07:30 +00:00
Mikael Magnusson
ebbcacae15
focus fallback
2007-03-14 01:17:39 +00:00
Mikael Magnusson
53109b7592
comparing strings to random locations in memory is probably not what we wanted to do
2007-03-13 12:34:58 +00:00
Dana Jansens
a9910e520b
always unfocus the window when it disappears, no special cases.. (except unmanage)
2007-03-13 04:15:25 +00:00
Dana Jansens
270a5b25df
set IconicState on windows that are not visible always. this means windows on other desktops too.
...
as well, this turned out to be a nice cleanup of the wmstate code.
regards to the random dude in #openbox complaining about the ICCCM to make me think to look this up and see if openbox was compliant.
2007-03-13 04:04:13 +00:00
Dana Jansens
7f58bd9eaa
save and restore pre-maximized/fullscreen sizes properly
...
much cleanup on how per-app settings are applied to new mapping windows. maybe i broke it? but it'll be much quicker now, and it's consistant with the rest of the code, so hooray for that. pls let me know if i broke any of it :( hee..
2007-03-13 02:29:08 +00:00
Dana Jansens
b2e08c0ad5
remove event_lastttime. use CurrentTime when handling events without a timestamp in them
2007-03-12 23:23:39 +00:00
Dana Jansens
d47c6a0979
fallback is still getting x errors. instead, fallback when the client iconifies, and don't fallback when nothing has focus, send it to where we can control things though.
2007-03-12 17:31:11 +00:00
Dana Jansens
dc41c78a90
focusins can occur on windows that aren't clients when there's latency involved. wm_torture proved this point. fallback in that situation. also fallback when nothing is focused.
2007-03-12 06:09:02 +00:00
Dana Jansens
85a1a0cfb3
don't validate inside client_focus. instead, validate before you call it!
2007-03-12 06:04:00 +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
3a33642be4
update focus_hilite appropriately for when changing desktops
2007-03-12 05:44:16 +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
310ea89e0e
another silly bug. i rule the school.
2007-03-12 03:09:09 +00:00
Dana Jansens
9ca0554507
that was a silly mistake. fullscreen windows amongst others will not crash now :D
2007-03-12 03:07:00 +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
2244bc036a
remove the group option for the restacking commands in rc.xml, cuz groups are clever now
2007-03-12 02:27:58 +00:00
Dana Jansens
d33f44cd86
Rewrite the stacking code. It's a lot faster now, I should think. It's def a more clever algorithm. It deals with group transients much better.
...
On that note, utility and menu and toolbar window types are now treated as group transients in terms of stacking and focus and such.
2007-03-12 02:24:40 +00:00
Mikael Magnusson
bf247215bb
no separator at the start of the menu
2007-03-12 02:12:51 +00:00
Mikael Magnusson
baa4a878cd
make the combined client list menu not suck quite as bad
2007-03-12 01:59:49 +00:00
Mikael Magnusson
fa122a3092
update copyright notice in --version output
2007-03-12 01:12:31 +00:00
Dana Jansens
e2b3a32aed
We were grabbing SubstructureNotifyMask on the root window. I don't know why.. It meant that we got unmap notifies for windows we weren't even managing and stuff. It ended up breaking VLC when it mapped-unmapped-mapped a window. We grab StructureNotify for all the clients, so I am not sure why this was ever there.
2007-03-11 22:16:42 +00:00
Dana Jansens
cbfa27759d
extra braces.. why does the world hate me so?
2007-03-11 19:27:44 +00:00
Dana Jansens
d9601bc196
.. i am pretending to be mika :D :D ok this time for real
2007-03-11 19:27:16 +00:00
Dana Jansens
d98a6183a3
oh.. wasted verbosity.. *strums guitar*
2007-03-11 19:26:28 +00:00
Dana Jansens
e714fa7351
rewrite the focus steal prevention code to clean it up hopefully a bit. also don't steal focus from globally active focus model clients
2007-03-11 19:25:57 +00:00
Dana Jansens
6714a0e2ca
Honor transient_for=Root, even thought this is crap and breaks some KDE stuff. Also include a big comment as to why this is suck.
2007-03-11 19:15:28 +00:00
Dana Jansens
895554765d
make smart placement more smart with multiple monitors. hopefully?
2007-03-11 18:39:34 +00:00
Dana Jansens
7229bea3c6
client_configure_full is trying to move a window, it shouldn't determine the window's monitor from its current position, but from the new position instead. move client_monitor()'s logic into screen, more generically, and let client_configure_full use that
2007-03-11 17:34:07 +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
Mikael Magnusson
c5d2a9bc98
allow setting startupnotify per execute action, default to disabled. use like this: <action name="execute"><execute>program</execute><startupnotify><enabled>true</enabled><name>something descriptive</name><icon>name of an icon in the icon theme to show</icon></startupnotify</action>
2007-03-11 15:41:47 +00:00
Dana Jansens
923e0edfa8
look for more things to cancel startup notification on, from the wmclass. if the wmclass is related to the name or the binary name, then it will cancel it also. this is so that oldschool stuff doesn't thing its opening forever.
2007-03-11 14:31:11 +00:00
Dana Jansens
2c98204dfe
make _NET_ACTIVE_WINDOW requests look at the timestamp when the user didn't
...
request it
2007-03-11 14:17:14 +00:00
Dana Jansens
6a61f0c433
fix non instrusive stacking adds, they didnt account for layers at all
2007-03-11 14:16:24 +00:00
Dana Jansens
aaabb13c0a
add _NET_WM_FULL_PLACEMENT, cuz openbox does do placement, even tho it can be sucky right now, lol. but it's good for dialogs and stuff, which is what this is talking about.
...
also add _NET_WM_MOVERESIZE_CANCEL.
2007-03-11 05:00:56 +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
9d6e390765
add the _NET_WM_USER_TIME property support. When focus_new is enabled, don't focus new windows if the user is doing something in another window since it launched. If we can tell when it launched, either from the _NET_WM_USER_TIME or from startup notification.
2007-03-11 02:06:34 +00:00
Dana Jansens
bd19fd06db
remove the kde icon hint, they use the EWMH icon now
2007-03-11 00:59:13 +00:00
Dana Jansens
35ab1264ee
remove the kde frame extents property, add the _NET_FRAME_EXTENTS property in its stead
2007-03-11 00:12:37 +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
ec67e96583
make startup notification a little more robust. obconf is just broken, between
...
the application and it's .desktop.
2007-03-10 22:52:50 +00:00
Dana Jansens
3f7ad89510
let windows move themselves off the screen somewhat, but don't let them resize themselves off the screen (unless they're moving too)
2007-03-10 22:24:47 +00:00
Dana Jansens
49dd40d99f
no longer honor transient_for = None or Root. it violates the ICCCM and is causing problems. there are proper ways to make group transient windows with the EWMH.
2007-03-10 20:52:04 +00:00
Dana Jansens
4fa19b5985
more cleverness for window placing.
...
make sure its 10% on the screen in some direction always..
but if the application is placing itself, make sure its on the screen entirely,
and also put it entirely on one monitor if you have xinerama.
if it's bigger than the monitor's space though, it won't do anything with it..
2007-03-10 01:08:19 +00:00
Dana Jansens
ae246097a5
let you put windows with the titlebar off screen.. for mikachu.
...
but also don't let applications put themselves under the struts!
2007-03-10 00:44:43 +00:00
Dana Jansens
96abc207f2
one more fix.. oops :)
2007-03-08 03:32:29 +00:00
Dana Jansens
976eb4c511
fix rendering of the new top corner resize handles
2007-03-08 03:31:42 +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
b5af5ad3e8
was using paddingx for y-things, oops
2007-03-08 01:08:44 +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
Mikael Magnusson
092ef0e6dd
mention that it is in fact openbox that crashes
2007-03-04 21:46:13 +00:00
Dana Jansens
ca9fe26a6b
use EXIT_SUCCESS. it's the same thing, but more correct.
2007-03-04 20:42:22 +00:00
Mikael Magnusson
7fdfb9dbf6
use ob_reconfigure/restart directly instead of actions and save a variable
2007-03-04 20:32:47 +00:00
Mikael Magnusson
2f87655790
remove said Atoms
2007-03-04 20:18:09 +00:00
Mikael Magnusson
e06e69b904
use integers instead of atoms for the actual control action
2007-03-04 20:16:41 +00:00
Mikael Magnusson
e979b388d8
use the X protocol to reconfigure instead of signals, works over the network too
2007-03-04 20:05:00 +00:00
Dana Jansens
191a0bc075
i moved the font shadow stuff back into the theme, so move them out of the font configuration stuff
2007-03-04 18:49:16 +00:00
Dana Jansens
25917a3498
change the rc config format for font shadows, now:
...
<font...
<shadow enabled="yes/no">
<offset>1</offset>
<tint>25</tint>
</shadow>
</font>
2007-03-04 17:04:50 +00:00
Mikael Magnusson
b7964c3bae
fix compiling without session manager support
2007-03-04 12:00:21 +00:00
Dana Jansens
86b809df8a
oops... I'm combining two different things in this commit... so I'll try be clear
...
1. when another wm requests to replace openbox, openbox exits. but the SM will just restart openbox unless we tell it not to. so now ob_exit_replace() will change the session manager's view of openbox to not restart it. that way the new WM will be able to run.
2. allow windows to move themselves off of the screen 90% of the way, if they really want to. but only 90% to the left, right, and bottom of the screen. it won't let the app move off the top of the screen on its own at all now, since hiding the titlebar on you without you being a part of the process is pretty darn evil!
this is really to address bug # 2982 - for the tilda application. but i guess if windows really want to move off the screen, who's to say no? also, every other window manager will let them - except metacity won't let them on the left/top side of the screen.
2007-03-04 09:01:52 +00:00
Dana Jansens
c07095acb7
better string matching for duplicate title numbering. this will check against the whole window's title. it used to check less than the full length sometimes. thanks to logan for patches and ideas!
2007-03-04 07:54:21 +00:00
Dana Jansens
17b2d57717
Fonts are now going to be configured in the rc.xml file. The format is such as
...
<theme>
...
<font place="ActiveWindow">
<name>arial,sans</name>
<size>8</size>
<weight>bold</weight>
<slant>italic</slant>
<shadow>yes</shadow>
<shadowOffset>1</shadowOffset>
<shadowTint>64</shadowTint>
</font>
</theme>
Valid place="" are ActiveWindow, InactiveWindow, MenuTitle, and MenuItem.
Only valid weight is "bold"
Valid slants are "italic" and "oblique"
shadowTint is a value between -100 and 100
size is the font size in points. pixelsize could possibly be added in the form of 8px, but it's not right now.
the name can contain multiple families and they will all be used to match characters
You can omit any fields and get the default for it. You can omit naming a font for a place="" and get the default font for it.
This is completely replacing theme-specified fonts, for better or for worse. Font shadowing may go back into the theme at some point, instead of in the rc.xml.
2007-03-04 07:18:04 +00:00
Dana Jansens
aa852556c0
let the configuration file changes affect windows' decroations and functionality on reconfigure (fix keepBorder bug 2841
2007-03-03 21:10:15 +00:00
Dana Jansens
73671503fa
don't change the restart type with the session manager when openbox exits. it's not like something else will magically run instead. if we exit, we should get started again, that's why --replace exists.
2007-03-03 06:04:00 +00:00
Dana Jansens
65f0c70851
pretty brackets
2007-03-03 03:53:10 +00:00
Dana Jansens
9d1949f0b1
if sm is disabled, there is nothing to shutdown, so don't go trying to free things and stuff. that can only be a bug
2007-03-03 03:47:50 +00:00
Dana Jansens
831deb72c6
ok this time for real...
...
add --reconfigure option to openbox.
this option will open the display, find the current openbox's PID from the root window, and send a SIGUSR2 to it, telling it to reconfigure. then it exits.
also no longer printing help if you pass an invalid argument to openbox (because i want to parse arguments for --reconfigure before i start up the session management stuff)
2007-03-03 03:43:45 +00:00
Dana Jansens
48a7c32512
make a copy of the argc and argv instead of modifying the real ones
...
this means that when openbox is restared it doesn't lose it's SM related command line args, they get passed to the new openbox same as they were passed to the one exiting.
2007-03-03 03:42:28 +00:00
Dana Jansens
b8bcc45143
commited things i wasn't supposed to. wow i suck.
2007-03-03 03:29:49 +00:00
Dana Jansens
81743b0529
reverse that last commit.. that was by accident..
2007-03-03 03:29:24 +00:00
Dana Jansens
f189b02f85
add --reconfigure option to openbox.
...
this option will open the display, find the current openbox's PID from the root window, and send a SIGUSR2 to it, telling it to reconfigure. then it exits.
no longer printing help if you pass an invalid argument to openbox
since that is the case, session_startup doesnt need to be modifying the args anymore
2007-03-03 03:27:35 +00:00
Dana Jansens
56c5c7d15f
why aren't these variables getting initialized. how exactly is openbox not being super strange without that..?
2007-03-03 03:00:05 +00:00
Dana Jansens
4084f5d82d
fix for per-application focus settings. properly use all the possible values (1, 0, and -1)
2007-03-02 22:44:38 +00:00
Dana Jansens
07fe0980be
declare variables at the beginning of blocks, because it is nice to do so. and polite?
2007-03-02 22:11:46 +00:00