Commit graph

2272 commits

Author SHA1 Message Date
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