Dana Jansens [Thu, 14 Feb 2008 09:47:49 +0000 (10:47 +0100)]
Introducing the icon cache.
If an icon is the same as one in the cache, then it uses that one.
icons of different sizes (from the same client) are linked together into
one, and resizes of icons are cached and linked to all the various sizes.
so you only need one icon in memory for all your terminals now. ya!
Mikael Magnusson [Thu, 14 Feb 2008 14:46:02 +0000 (15:46 +0100)]
put the char member at the bottom of the struct so that it doesnt mess up alignment for the other members (assuming the compiler doesn't pad the struct appropriately anyways)
Dana Jansens [Tue, 12 Feb 2008 03:45:27 +0000 (22:45 -0500)]
don't ping everything all the time. yay. ping when you close, and if it doesn't reply then show the kill prompt. also show a more correct prompt for windows connecting from non-local machines - ask to disconnect them from the X server.
Dana Jansens [Thu, 7 Feb 2008 06:03:05 +0000 (01:03 -0500)]
if a prompt is already showing and you try show it again, then make it active. in the "kill this?" prompt use the window's original title without any of the openbox-appended-ness
Dana Jansens [Sun, 10 Feb 2008 21:49:16 +0000 (16:49 -0500)]
use memcpy's to make splitvertical gradient much faster - using log n memcpy's is much quicker than setting a pointer value n times
Here are some profiling results. splitvertical1 is the original code, splitvertical2 is some slight improvements in locality for it, and splitvertical3 is the new O(log n) memcpy code
i also tested this with 'time' to draw 1000 gradients, and the new code used approximately half the user time, and finished 10 seconds quicker. so yeah, it's magical and works well.
Dana Jansens [Sat, 9 Feb 2008 23:48:56 +0000 (18:48 -0500)]
Make a pending ReplayPointer happen before moving/showing/hiding a window in an action.
Commit c907f5af4ad16b1 broke kdesktop again, so we have to fix it at an even finer level.
Dana Jansens [Sun, 3 Feb 2008 03:17:32 +0000 (22:17 -0500)]
when focusing or raising a window which is modal child for a direct parent, raise its parent and move it to the top of the stacking order too, ie. treat them like one window (this is already done elsewhere, like when moving between desktops for example)
Dana Jansens [Sat, 2 Feb 2008 16:22:17 +0000 (11:22 -0500)]
if windows on screen are going to be moved, then do the ReplayPointer before that occurs, so it goes to the right window. if they are not, then just wait until after the actions are run (for kdesktop's sake really)
Dana Jansens [Sat, 2 Feb 2008 14:01:56 +0000 (09:01 -0500)]
make fullscreen windows more xinerama and multi-screen aware
instead of calling it every time a window loses focus, it is only called when a window gains focus. then, check fullscreen layered windows, if they should be moved to a lower layer.
when moving a window between monitors, also check its layer and that of any fullscreen windows.
let a window stay in the fullscreen layer even when it is not focused, if it is on a non-visible desktop, or if it is on a different monitor from the focused window, or if nothing else is focused
Dana Jansens [Sat, 2 Feb 2008 05:59:59 +0000 (00:59 -0500)]
fix a crash from chroot of invalid keys, and make keybindings reload better
since invalid(not translated) keybindings are allowed in the tree, the tree's structure may actually need to change when reconfiguring. actually, it could need to anyways. so when re-translating all the keybindings, actually rebuild the keybinding tree. also, make the chroot building code not fail when translate fails, to match the rest of the code and avoid segfaults with chroots on invalid keys.
Dana Jansens [Thu, 31 Jan 2008 22:31:51 +0000 (17:31 -0500)]
when checking that a window is onscreen, if there are screens with higher indices than where it appeared, they would trump things and force the window onto the first screen. now, only assume the window is on no screens if it actually is on no screens
Dana Jansens [Mon, 28 Jan 2008 14:59:45 +0000 (09:59 -0500)]
don't deiconify windows on reconfigure if they cant be iconified directly. stop managing windows in reverse order on restart it messes up the dock among other things
Mikael Magnusson [Tue, 29 Jan 2008 13:04:31 +0000 (14:04 +0100)]
Mark translations without the new desktop number mismatch message as 3.4.5.
Update swedish translation with them.
[ I mistakenly originally made this commit on 3.4-working (commit 7f514044f7fb8f5c2948d9b3da837a9b46717ee5) so the changes got lost on a
subsequent merge from backport when we usually overwrite po/. ]
Dana Jansens [Sun, 27 Jan 2008 08:14:35 +0000 (03:14 -0500)]
only store icons for windows that are 64px or smaller, as we don't have need for any bigger icons at this time. unless they only provide icons bigger than that, then just store one of them (the smallest)
Dana Jansens [Fri, 25 Jan 2008 15:20:21 +0000 (10:20 -0500)]
Create fake enter events in fewer situations - avoiding times that you don't actually want them. Ignore event serials without using XSync, so that we aren't doing an XSync 100 times per minute - slow!