Fun with kde 4.6 zoom effects =:^)

Duncan 1i5t5.duncan at
Fri Feb 18 10:08:29 GMT 2011

For kde 4.6 the zoom effect seems to have gotten a far more useful config 
dialog.  The following requires the new settings (which I don't remember 
from 4.5), in ordered to work, so AFAIK, requires 4.6.

The zoom effect is one of many to be found on the All Effects tab of the 
Desktop Effects kcontrol applet.  It's the last effect in the 
Accessibility section.  Note that it, like many of the effects, requires 
OpenGL to function correctly, so hardware/drivers with poor/no OpenGL may 
not find this effect workable at all.  FWIW, my Radeon hd4650 with 
reasonably new freedomware xorg, mesa, Linux kernel 2.6.37 with kms, and 
ddx (xorg driver), has reasonably decent desktop OpenGL, so works well 
with this effect. =:^)  YMMV.

Activating the zoom effect and clicking on the config dialog now reveals a 
quite nicely configurable zoom effect. =:^)  At the top is zoom factor, 
defaulting to 1.25, IIRC, so each zoom will scale by that much, but with 
4.6 it's now adjustable.  That's where the fun is had.  See below.

FWIW, the mouse pointer drop-down doesn't seem to do anything here, I'm 
guessing because I have hardware accelerated mouse pointers set and this 
feature probably either needs software pointers or a hardware feature not 
yet enabled in the native xorg/mesa/kernel/kms radeon drivers.

Mouse tracking defaults to proportional.  I tried some of the other 
settings, but at least for 4.6.0, they seem bugged to the extent that in 
zoom mode, the mouse pointer (as displayed) seems to get out of sync with 
the hotspot (what actually gets the click event) -- if you find yourself 
in this predicament and can't click the buttons to change back, use the 
keyboard zoom hotkeys to get back to actual size, where the sync returns 
and it's actually possible to click on the buttons the pointer is over 
once again.  

The enable focus tracking and follow focus options didn't seem to work as 
described either (I may not have all the required compile options enabled, 
tho), altho I can't imagine myself being happy with the described behavior 
in any case as I'd find it disorienting to have the zoomed viewport 
jumping around just because the focused window had changed.

IIRC the list of configurable hotkeys has also been expanded for 4.6.  
I've already found this useful, as well. =:^)

Now to the fun! =:^)

As I mentioned, the default zoom factor is I think 1.25 or possibly 1.20.  
Thus, each zoom-in magnifies by that factor, while correspondingly  
reducing the displayed desktop area by the same figure.  As long as zoom-
factor > 1.0, the behavior is pretty much as in previous versions, altho 
it's nice to be able to change it.

So after playing with that a bit, I wondered what would happen if I set 
the zoom factor to 1.0 -- unity -- no zoom.  As expected, no zoom! =:^)

OK, will zoom-factor < 1.0 work?  Yes.  Of course, that reverses the 
effect, so the zoom-out now actually zooms in, and zoom-in now actually 
zooms out.  All that's rather expected, at least, if the config allows it 
at all, and if one really wants to, they can reverse the assigned keyboard 
shortcuts so they correspond to the reversed zooming effect, putting 
things in order again.

But then I discovered something rather less expected! =8^0

With zoom-factor > 1.0, the effect is limited to scale-factors likewise > 
1.0.  A zoom-factor < 1.0, say... 0.50, for instance, has no such limit! 

So now I can zoom OUT as well as IN.  The effect is indeed quite a bit of 
fun to play with, especially when by holding the trigger keys down it's 
possible to have it zoom down and down until the entire desktop disappears 
below a single pixel in size!

There's another surprise when you go to reverse the effect.  With the 
entire desktop shrunk down out of sight below a single pixel, zooming in 
(by hitting the zoom-out combo, since with zoom-factor < 1.0 it's 
reversed) back to 1.0 is accomplished by a single trigger... and it's 
quite nicely animated! =:^)  One can watch the desktop zoom in from 
nothing to the full-size desktop.  Back above 1.0 zoom, the trigger 
returns to only a single zoom level at a time, tho one can of course hit 
the actual-size trigger to return to 1.0 with a single trigger, if desired.

For further experimentation:

At this point, like most people I assume, my desktop size is the same as 
my display resolution.  It is of course possible to set a larger desktop, 
and have the viewport at native resolution pan around the larger desktop, 
but while interesting, that does have some limitations, including 
(previously) an inability to get a proper overview of the entire larger 
desktop, since only a part of it is shown at once, at full resolution.

Now, I'm going to have to experiment with xrandr, setting a larger desktop 
and putting stuff on it off my ordinary display area, to see if zooming 
out below 1.0 scaling shows the additional desktop area.  If it does, I 
may try a desktop setup even larger than my current dual 1920x1080 (full 
hd) displays, currently stacked for 1920x2160 overall resolution.  If I 
can zoom out and see even more area, I might increase my total desktop 
resolution to four times that (doubled each way), 3840x4320, or maybe even 
9 times current (tripled each way), for 5760x6480 (altho IIRC my current 
hardware's limited to 4800x4800 for openGL, so that might not work without 
upgrading the hardware beyond the hd4xxx/r7xx series Radeon I'm running 
currently).  Effectively, that'd give me either 4 or 9 virtual desktops 
without using the virtual desktop functionality, tho kde/kwin's virtual 
desktop grid already does that, coming from the virtual desktop side, and 
I'd probably need to experiment with xrandr's panning mode settings, 
perhaps using a hotkey triggered script to switch to different panning 
zones on the larger desktop, to avoid the "keyhole effect" panning-wise, 
even with the zoom-out effect to see it all.

It may not end up being practical, but it'll make for some experiment fun, 
for sure! =:^)

Meanwhile, as mentioned, I'm currently running dual 1920x1080 monitors 
stacked for 1920x2160 overall (native) resolution.  At present, tho, I'm 
only running 21" monitors (LED-backlit LCD).  That's decent for 
resolution, especially with multiple virtual desktops and tricks like the 
above, but I'm in my mid-40s now and my eyes don't pick out the fine 
detail they used to, so the 21-inch class ~96 dpi of my current monitors 
doesn't seem nearly as big as it used to.  Fortunately, the economic mass-
market scaling of 1080p HDTV has kicked in and it's not nearly as 
expensive to go above 20s inch range, these days as it used to be, even 
for high quality LED-based displays.  Size-wise, I can reasonably fit dual 
37-inch, and with a bit of squeezing and watching the bezel size, I may be 
able to double-size to dual 42-inch, still stacked for the same 
resolution, but reducing to ~48 dpi and decently covering the wall they'd 
be mounted on.  Last Christmas season I was looking at ~$700 each, 1080p 
37-42" LEDs low-end (LCDs were cheaper of course, but I was hugely 
impressed when I upgraded from LCD to LED in the lower 20's size class, 
and don't intend to go back to LCD, at least not when I'm investing ~$1000 
to do it!).  Low-end has dropped a couple hundred $ more since, to ~$600 
each.  By the time I hope to have the money later this year, hopefully 
they've dropped another couple hundred plus and I can procure a good pair 
for < $1000 delivered.  

Combine the two, dual 42"-class 1080p LED displays and > native resolution 
desktops I'm going to be experimenting with as described above, and I 
expect the effect would be /mouth/ /watering/ impressive. =:^)

But meanwhile, back here on earth, I have rather more long work days than 
I'd like to think about before I'll be able to afford those new toys.
=:^(  Oh, well, I suppose I'll appreciate it more if I have to work for it 
a bit, and meanwhile, I do have kde to play and experiment with. =:^)

Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

This message is from the kde mailing list.
Account management:
More info:

More information about the kde mailing list