Scale Up

Various KDE 1.-4. Improvements

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

2
Score 72.2%
Description:

A KWin effect to smoothly maximize/restore windows.

Please note this is *not* the right approach to implement smooth size change, so please don't take it too seriously. There's a sudden change in the beginning of animation. That's because the application has already finished maximizing/restoring at that moment, and I simply scale down/up the window to match its old size, and smoothly transit to the new size. So you'll see all text/icons in the window suddenly become smaller, then the whole window scales up.

I don't think this problem can be fixed in a KWin effect. Instead, it should be done in the KWin core to gradually resize the window to the target size, and let the application repaint itself in each step.

But before that happens, maybe you can have some fun with this (flawed) effect. :-)

INSTALL:
Extract the package first. In the extracted directory, run:
./configure
Then please follow instructions on screen.

If you are updating from an older version of this effect, also run:
kwin --replace&
to restart KWin.

seqizz

8 years ago

doesn't compile in kde 4.7:


[ 80%] [100%] Building CXX object CMakeFiles/kcm_kwin4_effect_scaleup.dir/kcm_kwin4_effect_scaleup_automoc.o
Building CXX object CMakeFiles/kcm_kwin4_effect_scaleup.dir/scaleup_config.o
In file included from /tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:18:0:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.h:41:37: error: ‘TimeLine’ was not declared in this scope
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.h:41:46: error: template argument 2 is invalid
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::reconfigure(KWin::Effect::ReconfigureFlags)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:32:18: error: variable ‘KConfigGroup conf’ has initializer but incomplete type
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:32:63: error: invalid use of incomplete type ‘struct KConfigGroup’
/usr/include/kconfigbase.h:32:7: error: forward declaration of ‘struct KConfigGroup’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::prePaintScreen(KWin::ScreenPrePaintData&, int)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:41:27: error: request for member ‘isEmpty’ in ‘((KWin::ScaleUpEffect*)this)->KWin::ScaleUpEffect::mTimeLineWindows’, which is of non-class type ‘int’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, int)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:48:26: error: request for member ‘contains’ in ‘((KWin::ScaleUpEffect*)this)->KWin::ScaleUpEffect::mTimeLineWindows’, which is of non-class type ‘int’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:50:31: error: ‘class KWin::EffectWindow’ has no member named ‘addTime’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:51:35: error: ‘class KWin::EffectWindow’ has no member named ‘value’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:54:30: error: request for member ‘remove’ in ‘((KWin::ScaleUpEffect*)this)->KWin::ScaleUpEffect::mTimeLineWindows’, which is of non-class type ‘int’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:61:26: error: request for member ‘contains’ in ‘((KWin::ScaleUpEffect*)this)->KWin::ScaleUpEffect::mTimeLineWindows’, which is of non-class type ‘int’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:66:50: error: ‘class KWin::EffectWindow’ has no member named ‘value’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::postPaintWindow(KWin::EffectWindow*)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:81:26: error: request for member ‘contains’ in ‘((KWin::ScaleUpEffect*)this)->KWin::ScaleUpEffect::mTimeLineWindows’, which is of non-class type ‘int’
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::windowUserMovedResized(KWin::EffectWindow*, bool, bool)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:103:9: error: ‘TimeLine’ was not declared in this scope
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:103:19: error: ‘t’ was not declared in this scope
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:104:26: error: ‘TimeLine’ is not a class or namespace
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp: In member function ‘virtual void KWin::ScaleUpEffect::windowClosed(KWin::EffectWindow*)’:
/tmp/yaourt-tmp-root/aur-kwin-effect-scaleout-git/src/kwin-effect-scaleout/scaleup.cpp:118:22: error: request for member ‘remove’ in ‘((KWin::ScaleUpEffect*)this)->KWin::ScaleUpEffect::mTimeLineWindows’, which is of non-class type ‘int’
make[2]: *** [CMakeFiles/kwin4_effect_scaleup.dir/scaleup.o] Error 1
make[1]: *** [CMakeFiles/kwin4_effect_scaleup.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Report

9

martosurf

8 years ago

This *should* be a KDE SC default.

Report

Znurre

9 years ago

Based on your own description I had expected this to look horrible, but it really looks awesome!

Don't be so modest about it! :D
Thank you!

(on and thanks sxe for all your hard work with providing useful PKGBUILDS for us :)

Report

sxe

9 years ago

i really like your ideas and effects. And they are not just test they are really great and useful. Thx for your work.

Heres my little contribution, an arch package. ;)
http://aur.archlinux.org/packages.php?ID=36465

Report

thomas12777

9 years ago

i had proposed a patch, but it was too late for 4.4 - then i somehow dropped out of svn trunk development.

basically you need to enforce empty resizing (the ugly outline thing) to make this work (and even better, use it on any window resize, the look is surprisingly ok and it's _much_ faster than permanent window geometry updates.

look for "window resizing" in kwin's mailing list, end december 2009

the last patch only provides an addition to the infrastructure, the former ones also alter the resize effect in this regard

Report

C

genericity

9 years ago

Found it:
http://lists.kde.org/?l=kwin&m=126100317412179&w=2

Personally I'm quite happy with "Display content when resizing windows". But I think your patch should be make into another resizing effect (not replacing the current one), and surely someone would love it.

We can let the user choose in the 3 ways (display content, the current resizing effect, your resizing effect). Each has its own pros and cons.

Report

Contrast

9 years ago

Looks better than I was expecting it to. Thanks for sharing.

Report

12345678910
5
product-maker Freol Jan 07 2012 9 excellent
product-maker veeall Jul 31 2011 9 excellent
product-maker martosurf May 29 2011 9 excellent
product-maker TommyCZ Jan 08 2011 9 excellent
product-maker oOSplashOo Oct 29 2010 9 excellent
product-maker Base: 4 x 5.0 Ratings
Znurre
Apr 15 2010
sxe
Apr 14 2010
File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.1
updated Apr 14 2010
added Apr 14 2010
downloads 24h
0
pageviews 24h 2