Dana Jansens
af42ac2a53
less configure events on mapping
2007-06-01 05:21:09 +00:00
Dana Jansens
32b64b6cf5
fix comment
2007-06-01 04:59:57 +00:00
Dana Jansens
9b5770277d
less configurenotify spam
2007-06-01 04:54:42 +00:00
Dana Jansens
4ff0d49cc7
deiconify modal windows when you try to focus their parent
2007-05-30 20:46:46 +00:00
Dana Jansens
7d93a21878
let new utility windows get focus under the normal rules
2007-05-30 19:16:19 +00:00
Dana Jansens
9a3464b8e3
that change was a bug after all. mika was right!
2007-05-30 02:19:02 +00:00
Dana Jansens
a4150ae3d9
add comments
2007-05-29 12:26:41 +00:00
Dana Jansens
6fa15756c3
wasted checked, configure will do them for us
2007-05-29 00:04:07 +00:00
Dana Jansens
ba2de2d512
give the client a 0 border again.
2007-05-28 23:15:51 +00:00
Dana Jansens
56b01b73a8
have the clientpadding color show during resize, and no flashing on unmap. we win !
2007-05-28 22:46:28 +00:00
Dana Jansens
2aa0a6b01b
get rid of the plate window
2007-05-28 22:30:59 +00:00
Dana Jansens
c7731ecb8d
a better ordering for mapping window configure events
...
configure the window to find where it will actually be, with all the startup states off. then apply the startup states to those dimensions
2007-05-28 21:08:28 +00:00
Dana Jansens
123ee25c59
final touches for r6990-6992
2007-05-28 04:26:14 +00:00
Dana Jansens
be3b78736f
better more obvious code
2007-05-28 04:18:54 +00:00
Dana Jansens
cc2237bb4f
fix a comment
2007-05-28 04:09:39 +00:00
Dana Jansens
2050e99a5f
dont count non-normal windows as parents, in the group too
2007-05-28 02:21:10 +00:00
Dana Jansens
a5aa1af32c
typo again!?
2007-05-28 02:15:47 +00:00
Dana Jansens
5ec53919bd
dont count non-normal windows as parents
2007-05-28 02:15:31 +00:00
Dana Jansens
9182f1a603
typo and ()s
2007-05-28 02:13:17 +00:00
Dana Jansens
301016fd2b
don't give focus to transient when it is ambiguous, but only if they have a parent
2007-05-28 02:12:36 +00:00
Dana Jansens
e9f6255b18
properly search for a focused window in the transient tree
2007-05-28 02:02:13 +00:00
Dana Jansens
e48dce6707
add a comment
2007-05-28 00:35:11 +00:00
Dana Jansens
16fcb1213d
when you focus a window, bring any modal children it has to that desktop
...
when falling back, return the window which actually was focused by client_focus
let you focus cycle to windows when their modal window is on another desktop (it will be brought over)
2007-05-28 00:33:58 +00:00
Dana Jansens
8874ec1fc4
put transients on the current desktop when their parent is on all desktops
2007-05-28 00:05:51 +00:00
Dana Jansens
65bf23c27d
when colormap changes and it is installed, reinstall the new one
...
also add a debug print
2007-05-27 22:39:30 +00:00
Dana Jansens
a9ff8217bf
debug prints improved
2007-05-27 22:31:38 +00:00
Dana Jansens
c189771cef
when an app doesn't specify PPosition or USPosition, then assume its PPosition
2007-05-27 21:30:16 +00:00
Dana Jansens
8e19e99ac8
debug print modified and the confignotify test
2007-05-27 15:28:16 +00:00
Dana Jansens
2521fd24c5
don't set the above member in synthetic configurenotify events
...
add more output in confignotify test
2007-05-27 14:49:44 +00:00
Dana Jansens
cace930f8c
only need to call xconfigurewindow once
2007-05-27 14:33:37 +00:00
Dana Jansens
47986dcd9c
always set all the coords, as the x/y only change when resizing the border too
2007-05-27 00:35:00 +00:00
Dana Jansens
a38012f2ff
only readjust the frame size when the client needs to be resized
2007-05-26 23:12:29 +00:00
Dana Jansens
5883164b19
fix for not changing clients' border widths on them
2007-05-26 23:09:34 +00:00
Dana Jansens
2e529e3ff3
don't change clients' borders
2007-05-26 22:55:13 +00:00
Dana Jansens
306ea13177
we set borderwidth to 0 so always give that to the client consistently
2007-05-26 22:41:31 +00:00
Dana Jansens
a4f868a195
send the client's border width in configurenotify messages, so it can get the right offset
2007-05-26 22:28:27 +00:00
Dana Jansens
5e9e266722
change in how things are ungrabbed to avoid grabwhilenotify. don't ungrab every key press. just ungrab the passive grab when there is no active grab and we are going to move focus.
...
this should be less intrusive and seems to work
2007-05-26 22:13:34 +00:00
Dana Jansens
16ae58681e
remove a debug print
2007-05-26 17:36: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
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
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
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
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
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
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
e97a443590
don't compare variables to themselves
2007-05-22 02:28:03 +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
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
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
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
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
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
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
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
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
d30809e5fa
always ignore errors for client_focus like we used to.
2007-05-15 17:38:52 +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
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
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
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
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
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
9011eb27e0
remove this check, it didnt guarantee anything anyways
2007-05-14 13:44:49 +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
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
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
99e23015cf
rename the openbox_* atoms back to ob_*
2007-05-13 22:31:36 +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
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
fd9b6a43cf
always send configure notify when windows map
2007-05-13 16:04:40 +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
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
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
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
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
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
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
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
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
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
f03eef2795
mem leak
2007-05-09 21:27:45 +00:00
Dana Jansens
7f262bc2a0
add support for _NET_REQUEST_FRAME_EXTENTS
2007-05-09 20:13:20 +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
5aea44adc9
punctuation
2007-05-09 03:41:05 +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
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
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
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
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
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
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
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
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
2c507a7207
missed some stuff?
2007-05-06 22:58:51 +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
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