Commit graph

143 commits

Author SHA1 Message Date
Dana Jansens
2fb7a6e478 yay! gravity finally works right! 2007-05-23 15:16:13 +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
40f789e641 2007-05-19 14:22: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
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
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
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
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
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
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
06b918cc21 remove the last param from configure_full, it's not needed. 2007-05-11 02:47:14 +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
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
7f262bc2a0 add support for _NET_REQUEST_FRAME_EXTENTS 2007-05-09 20:13:20 +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
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
0064695d59 xhtml.. 2007-05-08 23:24:17 +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
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
1e4215c5c6 merge r6176-6182 from 3.4-working 2007-05-08 21:57:36 +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
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
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
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
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
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
08e42acaad animate iconify/reestore. yeah. 2007-05-05 05:58:35 +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
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
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
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
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
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
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
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
50f631b9a7 mention when the logicalx/y is actually returned 2007-03-16 19:16:07 +00:00
Dana Jansens
adc5675823 oh, 2 things in this commit..
1) THIS ONE IS IMPORTANT: don't set client->iconfied if the window is not actually going to be allowed to iconify. heh!

2) changes to focus fallback to avoid crashing and to avoid losing focus all at the same time.
2007-03-14 15:51:21 +00:00
Dana Jansens
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
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