Commit graph

6736 commits

Author SHA1 Message Date
Dana Jansens
c0333e9452 _net_active_window shouldn't change desktop, is the general policy concensus. 2008-02-14 19:40:03 +01:00
Dana Jansens
8186a81fe0 split menu overlap into x and y components 2008-02-14 19:40:02 +01:00
Dana Jansens
6bda8c2903 speed up the pyramid gradient using memcpy's. also make it not crash for 1px high textures.
here are some sample profiling results.  pyramid2 is the new code

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name

 58.78      1.54     1.54      255     6.04     6.04  gradient_pyramid1
 40.46      2.60     1.06      255     4.16     4.16  gradient_pyramid2

 54.88      2.25     2.25      504     4.46     4.46  gradient_pyramid1
 44.88      4.09     1.84      504     3.65     3.65  gradient_pyramid2
2008-02-14 19:40:02 +01:00
Dana Jansens
b92cb6a08a remove an XXX comment, the sanity check seems to have worked out fine. 2008-02-14 19:40:02 +01:00
Dana Jansens
91a1b08909 force the resize popup to be on-screen (not negative position) 2008-02-14 19:40:02 +01:00
Dana Jansens
9c72998684 a small optimization for the vertical gradients, and use the same log(n) strategy to use less memcpy's for filling out the horizontal gradients 2008-02-14 19:40:02 +01:00
Dana Jansens
3611c8210c use memcpy's to speed up vertical gradients too. split the fancy memcpy() code out into the repeat_pixel function. 2008-02-14 19:40:02 +01:00
Dana Jansens
1d00d99470 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

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 49.44      0.88     0.88     1063     0.83     0.83  gradient_splitvertical1
 47.19      1.72     0.84     1063     0.79     0.79  gradient_splitvertical2
  2.81      1.77     0.05     1063     0.05     0.05  gradient_splitvertical3

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.
2008-02-14 19:40:02 +01:00
Dana Jansens
18a35e0491 add --enable-gprof option for configure 2008-02-14 19:40:01 +01:00
Dana Jansens
ed81992aea make rendertest exit cleanly when it is unmapped (iconify/desktopchange) 2008-02-14 19:40:01 +01:00
Mikael Magnusson
83c739df91 typo in comment 2008-02-14 19:40:01 +01:00
Dana Jansens
38bef0a38b Make a pending ReplayPointer happen before moving/showing/hiding a window in an action.
Commit c907f5af4a broke kdesktop again, so we have to fix it at an even finer level.
2008-02-14 19:39:17 +01:00
Dana Jansens
bbf0eed8d1 don't reference free'd memory, and don't leak memory if the image cache is not saving any resized pictures 2008-02-14 11:44:51 +01:00
Dana Jansens
87124ae865 use g_message not g_print so it can go to the log 2008-02-14 11:44:51 +01:00
Dana Jansens
1d62584742 pre-calc the sum of a picture added to an RrImage rather than calculating it every time 2008-02-14 11:44:51 +01:00
Dana Jansens
0cd9986f87 add a bunch of comments for images and image caches. and make the number of resized pictures saved in an image tunable per-icon cache. 2008-02-14 11:44:51 +01:00
Mikael Magnusson
092c053e99 add an override_redirect InputOnly window utility.
The intent was the following:
 This is mostly a copy of override.c, it lets you map a small window
 (1x1 at 0,0 by default) that openbox will treat like the root window,
 useful for scrolling to change desktops over fullscreen and maximized
 windows.

Since then openbox has learned to ignore other's override redirect windows
but I think it might still be useful to have this util.
2008-02-14 11:44:50 +01:00
Dana Jansens
5e204525de when resizing images, pick a source image with the same aspect ratio if possible 2008-02-14 11:44:50 +01:00
Dana Jansens
ea435b99a8 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!
2008-02-14 11:44:28 +01:00
Dana Jansens
ec7898dda7 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. 2008-02-14 10:46:41 +01:00
Mikael Magnusson
c907f5af4a Wrap the focus action in actions_client_move.
When alt-tabbing to iconified audacious and the playlist or eq window pops up under
the cursor, they "stole" focus from the main window.
2008-02-13 21:37:28 -05:00
Mikael Magnusson
d5a25283dc Fix a minor issue with lastdesktop right after startup. 2008-02-13 21:36:16 -05:00
Mikael Magnusson
eddcfdfdcd Update dutch translation. 2008-02-12 19:48:31 +01:00
Dana Jansens
a161f4e812 apparently gnome has hidden gnome-settings-daemon in libexec, so put that in the autostart.sh 2008-02-11 13:30:40 -05:00
Dana Jansens
2e96d75364 missing >/dev/null for a which statement 2008-02-11 09:43:31 -05:00
Dana Jansens
be6fd760f1 using () for a class that doesn't inherit breaks old python 2008-02-11 09:40:24 -05:00
Dana Jansens
64398a2b5f grammar hammer 2008-02-10 02:06:46 -05:00
Dana Jansens
f0d31a52b7 make white font shadows (negative shadowtint) work right.. this has been busted a long time. thank you nvidia. 2008-02-10 01:52:08 -05:00
Dana Jansens
3167fc223e Merge branch 'backport' 2008-02-09 19:07:55 -05:00
Dana Jansens
f86fa2b3b4 make the text area in alttab list mode the same hight as the icon _with hilite_ 2008-02-09 19:06:45 -05:00
Dana Jansens
969c2482ce commit d9d580e038 broke kdesktop again, so we have to fix it at an even finer level. make a pending ReplayPointer happen before moving/showing/hiding a window in an action 2008-02-09 19:02:48 -05:00
Dana Jansens
b2e52c7b48 make xdg-autostart check for PyXDG and print a better error than a backtrace. and make the executing actually work 2008-02-09 19:02:08 -05:00
Dana Jansens
11408575b3 make an xdg-autostart script. it is very fancy. 2008-02-09 19:02:03 -05:00
Mikael Magnusson
10cabdfe85 Fix a minor issue with lastdesktop right after startup. 2008-02-09 11:43:26 +01:00
Mikael Magnusson
e5f21a4a87 Update swedish translation.
NB: using 3.4.6.1 to mean the --config-file translation is included and 3.4.6 for everything before that.
2008-02-09 09:42:31 +01:00
Martin Sova
afb9e64100 Update czech translation. 2008-02-09 09:38:28 +01:00
Mikael Magnusson
d9d580e038 Wrap the focus action in actions_client_move.
When alt-tabbing to iconified audacious and the playlist or eq window pops up under
the cursor, they "stole" focus from the main window.
2008-02-08 14:00:38 +01:00
Mikael Magnusson
86a95d8440 Don't bother setting screen_last_desktop here, it's inited in screen_startup anyway. 2008-02-08 10:22:57 +01:00
Mikael Magnusson
9f88642bf4 Improve menu behaviour when clicking on grandparents.
Some time ago the menus were changed to not trigger on mouseover on a grandparent or higher
so that you wouldn't lose a carefully navigated menu structure. Clicking on an item opens
it though. It used to be on ButtonRelease but now it is on ButtonPress. Additionally, a Press
now causes grandchildren to be closed when clicking on already selected parts of the hierarchy.
2008-02-07 16:06:36 +01:00
Mikael Magnusson
f6193ad9e0 Merge branch 'wip/alttab' 2008-02-07 15:28:18 +01:00
Dana Jansens
de85e4f1d9 put stuff in the right place in alttab list mode when there is only 1 window in it 2008-02-07 09:10:01 -05:00
Dana Jansens
a3babc4a99 tell what signal is going to be sent to the client when killing through the dialog 2008-02-07 02:14:45 -05:00
Dana Jansens
aeb1ebd04d use the hover and press button colors (this was a bug) 2008-02-07 02:14:45 -05:00
Dana Jansens
fcc23e1fd1 when drawing and measuring strings in "flow" mode, don't ellipsize so that lines can wrap 2008-02-07 02:14:45 -05:00
Dana Jansens
b3c5fab3fa don't kill our own ObPrompt windows with kill actions 2008-02-07 02:14:44 -05:00
Dana Jansens
7ecfa01df8 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 2008-02-07 02:14:44 -05:00
Dana Jansens
95ee6b103f prompt to kill windows when they are not responding 2008-02-07 02:14:44 -05:00
Dana Jansens
0e9cfd7c77 let you specify return codes for the different buttons in a prompt, and specify a callback function for the prompt for when it is closed 2008-02-07 02:14:44 -05:00
Dana Jansens
f4838c9a3d position the buttons in the bottom right instead of centering them 2008-02-07 02:14:44 -05:00
Dana Jansens
9a4ce94579 key input works for ObPrompt windows now 2008-02-07 02:14:44 -05:00