Workspace-Strap Effect
Various KDE Extensions
Score 70%
Description:

This is a KWin Effect that lets you organize your windows on a linear strap, that is bigger than your screen. Using configurable modifier keys, you can easliy move the part of the strap you see.
This gives you more space on your Desktop and more freedom in organizing your windows.

Requires KDE 4.7.

Attention: After updating your KDE-Version to a new Feature-Release (4.x) you have to rebuild this effect, as KWin doesn't load effects that were built against an older KDE-version than installed.

Features:
-A preview of the whole strap when pressing the modifier keys
-Automatically moves your view to a just activated window
-Choose between a horizontal strap (better for big screens) or a vertical strap (better for small screens)
-Shortcut (ALT+Meta+Space) to move the view to the center of the strap
Last changelog:

2 years ago

0.1: Initial release
0.1.1: Added a README-file
0.1.2: Have a separate position for each virtual desktop and activity
0.2: Optionally make the strap vertical
1.0: -Make the strap automove when less than 33%(configurable) of the window is shown
-Shortcut to move the view to the center of the strap
-Remove the annoying flickering
-Fix a bug with tabbed windows (Requires 4.8)
-Improve the handling of maximized windows
-Fix the compiling bug of not finding kactivityconsumer.h
1.0.1: Fix 3 compiling errors, concerning kactivities
1.0.2: Fix a bug that caused the effect to move only one window on 4.7
1.0.3: Make the effect work again with KDE >= 4.11 (tested with 4.13)
1.0.4: Fix two small bugs from previous version
1.0.5: Fix automove

bugzy

1 year ago

Is there any chance that you will be porting this effect to work with plasma 5 desktop?

Report

bugzy

3 years ago

On Fedora 20 with KDE 4.13.X
Automove for windows that are activated and are either off screen or less than 33% on screen does not work. Am I missing the way that it should operate or is this a bug.

Thanks for the great work thus far. Using this workspace strap really goes hand in hand with Activities. I no longer need virtual desktops since this effect does a great job of enlarging the desktop.

Report

C

KAnton

2 years ago

Sorry for the very late reply, I was very busy in the last months.
Automove should be fixed. :)
Please confirm that it works for you as well, now.

Kind regards, Anton

Report

bugzy

2 years ago

It works now. Thanks for the excellent work.

Report

bugzy

3 years ago

On Fedora 20 with KDE 3.13.X
Automove for windows that are activated and are either off screen or less than 33% on screen does not work. Am I missing the way that it should operate or is this a bug.

Thanks for the great work thus far. Using this workspace strap really goes hand in hand with Activities. I no longer need virtual desktops since this effect does a great job of enlarging the desktop.

Report

bugzy

3 years ago

On Fedora systems, you will need to have the following installed in order for the build instructions to work:
1. kde-workspace-devel
2. kactivities-devel

Report

mariojuniorjp

3 years ago

What is name this effect of transparency? ;)

Report

C

KAnton

3 years ago

It's oxygen transparent (http://kde-look.org/content/show.php/oxygen-transparent?content=127752)

Report

mariojuniorjp

3 years ago

Thanks! ;)

Report

Tidz

3 years ago

is there a plan to port it to a kwin script effect (if that is possible)?

Report

C

KAnton

3 years ago

Yes, I had the plan to do so, but for now it's not yet possible to write kwin scripts that include UI.
It might already be possible to port the effect to QML though (still as a kwin effect). Might be worth an investigation. (Primary target would in this case be kwin 5, though)

Report

causa-prima

3 years ago

[causa-prima@arch build]$ make -j4
[ 0%] [ 0%] Built target kcm_kwin4_effect_workspacestrap_automoc
Built target kwin4_effect_workspacestrap_automoc
[ 20%] [ 80%] Building CXX object CMakeFiles/kwin4_effect_workspacestrap.dir/workspacestrap.o
Built target kcm_kwin4_effect_workspacestrap
/mnt/RAID5/Medien/Downloads/workspacestrap/workspacestrap.cpp: In Elementfunktion »void KWin::WorkspaceStrapEffect::showFrame()«:
/mnt/RAID5/Medien/Downloads/workspacestrap/workspacestrap.cpp:347:30: Fehler: »class KWin::EffectsHandler« hat kein Element namens »createFullScreenInputWindow«
m_inputWindow = effects->createFullScreenInputWindow(this, Qt::ArrowCursor);
^
/mnt/RAID5/Medien/Downloads/workspacestrap/workspacestrap.cpp: In Elementfunktion »void KWin::WorkspaceStrapEffect::hideFrame()«:
/mnt/RAID5/Medien/Downloads/workspacestrap/workspacestrap.cpp:373:18: Fehler: »class KWin::EffectsHandler« hat kein Element namens »destroyInputWindow«
effects->destroyInputWindow(m_inputWindow);
^
CMakeFiles/kwin4_effect_workspacestrap.dir/build.make:77: recipe for target 'CMakeFiles/kwin4_effect_workspacestrap.dir/workspacestrap.o' failed
make[2]: *** [CMakeFiles/kwin4_effect_workspacestrap.dir/workspacestrap.o] Error 1
CMakeFiles/Makefile2:126: recipe for target 'CMakeFiles/kwin4_effect_workspacestrap.dir/all' failed
make[1]: *** [CMakeFiles/kwin4_effect_workspacestrap.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Report

C

KAnton

3 years ago

I uploaded an updated version. It should work again now. :)

Report

causa-prima

3 years ago

Yes, it does! But you included your .git-Folder, which makes the download ~10 times as big as it needs to be :)

Also, there are some bugs:
when pressing Meta+Alt and "grabbing" the workspace for movement, sometimes text of underlying windows gets selected, somtimes windows change there (horizontal) size, and sometimes you cannot even move arround because you can not "touch" the strap-preview. Bad thing is, i can not even reproduce these bugs, they just happened once until now, and I'm happy with the old workspace approach, as my screen is big enough :) But one thing was reproducable: when switching to another workspace, the strap-preview does not get updated and the wrong windows are shown.

Just out of interest a question I asked in the comments of your blogpost about this add-on long ago, but did not get an answer: Why either horizontal or vertical, but not both?

And finally: great work! I hope you are still involved at KDE or some other open source project, where you can further show your talent and skills. I for one would be happy to see more of you work :)

Report

C

KAnton

3 years ago

Sorry for the very late reply. I had other things to do as well and didn't find the mistake. (It was a very simple one-liner after all).

I uploaded a new version with both bugs fixed and without the .git folder ;)

I remember your question but couldn't find it anymore (I was sure I had answered, seems I only thought I had. Sorry for that.)
The reason is, that I think it drives the whole thing unhandy. With a one dimensional strip you can just drag quickly, with a two-dimensional thing you'd have to drag more carefully to maneuver it to the position you want it to be. Technically it's not a problem. So, if there is demand for a 2d drag area, I'd be willing to adapt the effect accordingly.

Report

littlecreamsoda

3 years ago

$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
CMake Error at /usr/share/cmake/Modules/FindKDE4.cmake:98 (message):
ERROR: cmake/modules/FindKDE4Internal.cmake not found in
/home/deepblue/.kde4/share/apps;/usr/share/kde4/apps;/etc/kde4/share/apps
Call Stack (most recent call first):
CMakeLists.txt:8 (find_package)


-- Configuring incomplete, errors occurred!
Help.

Report

C

KAnton

3 years ago

Which distribution do you use and which version?
Do you have the kde devel packages installed? You'll eventually also need kactivities dev-packages.

Report

Rudd-O

5 years ago

but now I have the problem that I would like to situate newly created windows on empty space of the strap, or the newly created window to be kind of "wedged" between two open windows right now, bumping the windows on the right more to the right and making room for the new window.

Is that feasible?

So far great thing here.

Report

C

KAnton

5 years ago

Technically it's feasible, yes.
But it requires a really good concept how windows should be organized, how windows will moved when what happens (e.g. when a window get's closed or minimized), what cases exist, why one would open a window, what behaviour is expected in which case, etc.
If you can provide me such a concept, I'll do my best to implement it :)

PS: sorry for the delay of the reply, my first reply (~2days ago) was lost somehow...

Report

apfelmaus

5 years ago

Hi! im running #kubuntu and its a greate improvement for me with your effect. i had never use multi-workspaces to organize windows and thanks to you it is without much better :D

but one request: if i use kwin_gles this effect wont work. is there something i can do to make it work with? (KDE SC 4.8.0)

Report

Rudd-O

5 years ago

KDE 4.8:


cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr
-- Found Qt-Version 4.8.0 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- Found KDE 4.7 include dir: /usr/include/kde4
-- Found KDE 4.7 library dir: /usr/lib64/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
-- Found X11: /usr/lib64/libX11.so
CMake Error at CMakeLists.txt:38 (message):
No kactivityconsumer.h found. Please run 'find /usr/include -name
*consumer.h'.

If it finds something related to KActivities please send me a mail
(akreuzkamp@web.de) or add

a comment at kdeapps.org with the output of find in it. Else check your
KDE-Installation.


I have all the devel packages installed. None of them carry anything about /usr/include/kworkspace

Report

Rudd-O

5 years ago

For the record, it is a bug in the strap:

https://bugzilla.redhat.com/show_bug.cgi?id=794942

Report

C

KAnton

5 years ago

I don't have an account at redhat's bugzilla so I'll reply here:
kactivityconsumer.h and others have been removed from libkworkspace in 4.8, in favour of libkactivities:
http://commits.kde.org/kde-workspace/c3599917
libkactivities is not part of kde-workspace but a own repository and such a own package: kactivities(-devel). (See comment #1). So it is not a bug.

This effect is able to use /usr/include/kde4/kactivities/consumer.h (from kactivities-devel). You should install that package and retry.

Report

Rudd-O

5 years ago

Of course it is a bug. Your program does not compile as advertised in kde 4.8. This is a bug by definition. Fix the source to detect the correct header and use that header, then push the fix to your repo.

Report

Rudd-O

5 years ago

OK, I found the problem. IT's on my side. thanks for your help.

Report

2 years ago

0.1: Initial release
0.1.1: Added a README-file
0.1.2: Have a separate position for each virtual desktop and activity
0.2: Optionally make the strap vertical
1.0: -Make the strap automove when less than 33%(configurable) of the window is shown
-Shortcut to move the view to the center of the strap
-Remove the annoying flickering
-Fix a bug with tabbed windows (Requires 4.8)
-Improve the handling of maximized windows
-Fix the compiling bug of not finding kactivityconsumer.h
1.0.1: Fix 3 compiling errors, concerning kactivities
1.0.2: Fix a bug that caused the effect to move only one window on 4.7
1.0.3: Make the effect work again with KDE >= 4.11 (tested with 4.13)
1.0.4: Fix two small bugs from previous version
1.0.5: Fix automove

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.0.4
updated Oct 25 2014
added Jul 22 2011
downloads today
0
page views today 0