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
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
a7f65a818c
add an allDesktops option to Next/PreviousWindow to alt-tab across all desktops.
2007-05-06 05:51:08 +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
8a99fedecd
prepend is faster
2007-05-05 19:27:31 +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
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
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
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
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
0c15af505f
unused variable
2007-05-05 00:48:51 +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
15ec358151
group transients werent getting added to their parents
2007-05-04 16:14:16 +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
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
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
9c19d7f677
find_on_screen takes client width/height, not frame
2007-05-03 03:18:56 +00:00
Dana Jansens
d7108df02b
when deiconifying, deiconify all transients, not just direct ones
2007-05-03 00:50:40 +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
97cbacd9e4
make keeping windows on screen much more clever
2007-05-02 02:03:06 +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
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
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
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
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
ac241a8235
set the default icon onto windows which don't provide one
2007-04-24 15:56:37 +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
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
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
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
a488360f48
add the PointerMotionHintMask everywhere, we dont need every mouse event
2007-04-24 01:00:27 +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
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
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
a82c1efeed
wasteful syncing
2007-04-23 02:00:33 +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
037654f3f8
use ignore enters instead of removing them from the queue
2007-04-22 16:48:35 +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
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
6e7abeb860
engrish
2007-04-22 04:35:23 +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
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
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
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
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
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
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
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
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
5fa443efc8
oops, logic error
2007-03-17 20:06:16 +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
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
594648729f
less wasted updates of wm_state
2007-03-14 02:07:30 +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
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
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
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
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
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
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
62a39c4c70
stacking has been made more reliable with groups and group transients.
...
this was a pretty invasive change in client.c though, so it may break things?
it did expose some bugginess in client_calc_layer, which is now better than ever, hopefully there isn't more to be found.
2007-03-11 16:58:19 +00:00
Dana Jansens
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