Commit graph

750 commits

Author SHA1 Message Date
Dana Jansens
1c2ec09e43 fix a memleak in client_update_icon_geometry 2008-01-25 10:32:39 -05:00
Dana Jansens
01a60706be fix a mem leak 2008-01-25 10:29:49 -05:00
Dana Jansens
6a8a8531ba check them startupnotify-provided wmclass against both parts of a window's wm_class hint, as the spec doth say so. 2008-01-20 09:52:10 -05:00
Dana Jansens
cccc57fdb0 make the ping hash tables work correctly. don't need to stop pinging, it will automatically. and not all windows get pings, even tho we get notified that they are being destroyed 2008-01-16 19:21:42 -05:00
Mikael Magnusson
0be98fee47 Various fixes for sparse warnings.
Define void functions with (void), not ().
Add missing includes.
Some functions were declared static but defined non-static.
Some variables that should be file static were file global but not used in any other file.
prop.h defined a new prop_atoms in each file that included it instead of declaring it extern.
2008-01-16 15:35:25 +01:00
Dana Jansens
053558dc5f add a comment 2008-01-15 22:53:05 -05:00
Dana Jansens
f9f32d9fba cant consistently tell if we should use WM_DESTROY after the first time they try close a window.. so just kill when "not responding" is showing 2008-01-15 22:51:04 -05:00
Dana Jansens
d5c824cfd4 only ping windows that we need to 2008-01-15 22:36:45 -05:00
Dana Jansens
810afd8597 ping all the windows every 3 seconds, and show "not responding" if they stop replying for 3 times (9-12 seconds). show [Killing...] in the titlebar when trying to kill an app off 2008-01-15 22:34:04 -05:00
Dana Jansens
dbce9ee243 its possible we did kill -TERM and it stayed alive and started responding again, so handle that case 2008-01-15 22:15:45 -05:00
Dana Jansens
e6d33facc8 when you close an app and it stops responding.. if you hit close again, it will try kill -TERM. if that fails and you close again, it will kill -9 ! (assuming the app is running on the local host and provided its PID) 2008-01-15 22:13:16 -05:00
Dana Jansens
07994cb2dc when you close a window that you already tried to close and its not responding to pings, then do a kill the next time 2008-01-15 22:00:21 -05:00
Dana Jansens
d3e9fc8941 show [Not Responding] in the titlebar when closing an app and it stops responding to pings 2008-01-15 21:57:47 -05:00
Dana Jansens
fb7a71da20 can tell when a window that was "closed" has stopped responding now 2008-01-15 21:43:23 -05:00
Dana Jansens
d790dc162d check if a client will respond to pings 2008-01-15 20:48:28 -05:00
Dana Jansens
ed51baa958 remove the visible window title hints when unmanaging a window. not all WMs set those and it messes them up, and we'll set them again appropriately, they don't need to be saved. 2008-01-16 02:08:42 +01:00
Dana Jansens
6dfc3c726a don't skip windows that are skip_taskbar unless they are normal typed.. i.e. if a dialog sets this don't skip it (gnome shutdown/logout dialogs don't get focused otherwise in arch linux) 2008-01-13 03:40:14 -05:00
Dana Jansens
9e9a7e124d allow dialog windows to be fullscreened, kpdf does this 2008-01-11 09:46:07 -05:00
Mikael Magnusson
556eb7b7fb ANSI function declarations, ie () -> (void) 2007-09-04 06:27:10 +02:00
Mikael Magnusson
e5c7c95f2d Squash one more leak 2007-08-07 04:24:48 +02:00
Dana Jansens
fa085b7338 fix edge detection, it was skipping edges sometimes 2007-08-04 17:39:49 -04:00
Dana Jansens
ac59dd4fe5 don't focus new windows if they appear on another desktop and a relative is not focused 2007-08-04 12:57:34 -04:00
Dana Jansens
6593261f30 new least-intrusive focus stealing prevention 2007-08-03 18:11:27 -04:00
Dana Jansens
dacc9dac7a remove focus-stealing-prevention stuff, don't use user_time crap at all. it is broken in every application that has ever used it. ever. ever. \^_^/;;; 2007-08-01 23:35:31 -04:00
Dana Jansens
80120d0487 don't force oldschool fullscreen windows to move inside struts (fixes acroread some more, along with previous commit) 2007-08-01 19:09:30 -04:00
Dana Jansens
44802ea327 fix for acroread - don't shrink windows when they specifically fit an entire monitor 2007-08-01 18:54:02 -04:00
Dana Jansens
9aed919554 fix directional edge finding for xinerama, so that it can skip across to the next monitor 2007-07-26 10:48:05 +02:00
Dana Jansens
bca44f9d20 raise new windows when they aren't getting activated in a couple cases
1. when we're not activating it because the user has a menu open or is moving/resizing a window
2. when we're not activating it because it's opening on another desktop
2007-07-24 14:51:59 -04:00
Dana Jansens
84cdb2be99 don't focus new windows when the user is in a menu or move/resizing a window 2007-07-21 23:11:42 -04:00
Mikael Magnusson
77baf26a7f remove trailing whitespace 2007-07-17 02:48:16 +02:00
Dana Jansens
a9f2b2c681 a number for placing windows, to keep them on screen, but let you place them off-screen
1. when a window is not on any monitor, don't just ignore it, stick it on the first monitor arbitrarily (rather than the closest monitor - room for improvement?)
2. when placing a window with per-app settings, don't rudely force it back on screen fully.
2007-07-15 12:35:10 -04:00
Dana Jansens
fd8af998ea was incorrectly using the width for calculations instead of the height in client_find_onscreen 2007-07-15 11:45:55 -04:00
Mikael Magnusson
8ad51aef1e 80 cols everywhere 2007-07-14 15:22:35 +02:00
Mikael Magnusson
355981bf14 use dock_get_area instead of accessing dock struct directly 2007-07-13 16:14:02 +02:00
Mikael Magnusson
fc32204f3c split out edge detecting code a bit so it is easy to add the dock area and do that too 2007-07-13 14:37:15 +02:00
Dana Jansens
abff95bc50 only add group transients when you have a group
Signed-off-by: Dana Jansens <danakj@orodu.net>
2007-07-12 16:30:05 -04:00
Dana Jansens
4b73574406 adding trunk
Signed-off-by: Dana Jansens <danakj@orodu.net>
2007-07-12 02:57:08 -04:00
Dana Jansens
6f79080a4b fix grow to edge stuff. also fix key-resizing terminals. 2007-07-11 23:47:41 +00:00
Dana Jansens
aa901a8ee7 comment 2007-07-11 00:56:45 +00:00
Dana Jansens
489844da32 fix for weird group transient crap.
2 group transients
+ 1 direct transient of one of the above
--
the other group transient would be a child of the direct transient.

it's friggin annoying to look for this. i had to destroy my super clever but
impossible to maintain client_update_transient_tree in order to do it, and add
redundant execution, where children update their transient trees when a parent
does.
2007-07-11 00:56:12 +00:00
Dana Jansens
ad8a7e2e02 grow to edge works again, using the new edge detection code 2007-07-10 20:47:10 +00:00
Dana Jansens
0d0ce065df don't focus helper windows that map unless there are no other valid targets in the group (don't move focus from a group window to a new helper window).
this fixes gucharmap.
2007-07-06 19:41:23 +00:00
Dana Jansens
e0e1b7a5cb move to edge works and the code can be used for resize now too, yay 2007-07-06 04:08:30 +00:00
Dana Jansens
01a35904fe rewrote the movetoedge code so it works with both types of edges (to edge and from edge) 2007-06-28 05:18:01 +00:00
Dana Jansens
52b63adfe1 remove excessive debug print 2007-06-23 15:41:36 +00:00
Dana Jansens
c62fefb067 always reconfigure the window to its new position even if it was fullscreened/maxed, because the pre-max/fs area may not match its actual current area, and this can lead it things not being updated 2007-06-23 05:11:39 +00:00
Dana Jansens
1e6c375fdd add the moveto action 2007-06-22 15:18:43 +00:00
Dana Jansens
29c4cf4a15 add the activate action. it will replace the focus action, as it can just focus without raising now (or without unshading) 2007-06-22 04:59:06 +00:00
Dana Jansens
19ecd4d6d4 look, thumbnails in alt-tab. its such crap though. oh well, just for fun. 2007-06-21 16:20:43 +00:00
Dana Jansens
0e2492a501 don't resize windows when they are user size _or_ user positioned 2007-06-19 21:24:02 +00:00