This KDE4 plasmoid lets you control the active window. Actions currently available : Close, Minimize, Maximize, Shade/Unshade, KeepAbove, KeepBelow. It was created at first to help users with KDE4 on small devices (it's easier to click on a big button...) but it is actually great even with a standart computer (just throw your cursor at the corner of the screen to close your window, buttons are always located in the same place on the screen, etc.). Give it a try !
This is a pre-release but I publish it now because I don't have a lot of time these days and I want some help/feedback from you. At the moment, the plasmoid works great in panel except some minor things so please take a look at the TODO file if you have some time and don't forget to comment

Current limitations :
- plasmoid in planar formfactor (on the desktop) is buggy. Use it in a panel for now.
- The buttons don't reflect the state of the active windows : the KeepAbove/KeepBelow/Shade...
buttons should be "pushed down" when the current window has the KeepAbove/KeepBelow state,
some buttons needs to looks like disabled when an action is not available for a window, etc.
Note:
- The attached .deb is a Kubuntu Hardy checkinstall and it installs in /usr/lib/kde4, don't know if it will works for everyone
- you can force this plasmoid to align to the right in a panel by using the PanelSpacer plasmoid
Ratings & Comments
26 Comments
it doesnt work :(
I patched it so it compiles on my 11.10, it should work on 12.04 too. http://f.gdr.name/activewindowcontrol-0.1-gdr.tar.gz
It compiles in Kubuntu 11.04, but you need to instal libxtst-dev pakage, if not you get a compiling error of missing XTest.h
Not sure why, but when I try and install from "Add Widgets" -> "Download new plasma widgets", no search brings this up. I'm on Kubuntu Lucid with KDE 4.4.
hi, that's because this isn't a scripted plasmoid but a binary one. Maybe Ubuntu packages it but not sure (it's in kde playground and not really finished). Maybe AWC has found a new father with more free time and love than me, or a similar applet will be created, see here :http://majewsky.wordpress.com/2010/03/29/blog-relaunch-update-on-kwin-button-applet/
What is the svn path, I cannot find it.
hi, http://websvn.kde.org/trunk/playground/base/plasma/applets/activewindowcontrol/ but I don't even know if it still compile sorry. Maybe you will be interested by this: http://majewsky.wordpress.com/2010/03/24/the-kwin-button-applet
Actually it's working on kde 4.4. Using it for about 10 minutes with a new panel layout and order and loving it. Thank you!
Are there any updates?
Is an updated version avaliable yet?
sorry, not yet. I have a semi-functional version which works with the new task dataengine but it still needs some work... and my new job has completely took my free time Please be patient, I'll update it to SVN playground once the code is cleaned up :)
This is exactly what I am looking for!! ... The only trouble is I can't get the package to work on my 64bit system with --force architecture. I can't get the .tar.gz file to install either. Are you planning on creating a 64 bit .deb? Could anyone give me a step-by-step guide on how to get it working? I may be doing something wrong! Thanks, G
Well, I don't use a 64 bits system, sorry. Moreover, this version of ActiveWindow Control only works with KDE 4.1 so if you have 4.2 beta it won't work. I have an updated version which only works with a very recent build of KDE (packages from Kubuntu for example are too old). It is still a work in progress and I'm a bit busy with my new job so this will have to wait a little... New features : works on panel and on the desktop, use the tasks dataengine, buttons reflects the current state of the window (shade button are "pushed down" when the window is shaded and so on...) I should do some polish and upload it to svn playground... Regarding your problem, does the compilation process finish ? Maybe you install the applet in the wrong prefix if you have multiple versions of KDE ?
Didn't compile on KDE 4.2 beta. Made some changes , now it compiles AND WORKS !!! Distro is openSUSE 11.0 KDE4:Unstable Can I mail the changed sources to you ?
I will post your changes here, thanks for your work :) Actually, I will rewrite some code to only use the task dataengine (it has been improved recently and now features services to directly control the windows) Cheers
Btw, I think I already adapted this applet for KDE4.2 some time ago (something related to Plasma::Icon that has changed) but I don't posted the changes here because of the future rewrite. Please send me your code anyway so that I can take a look
This is something I've wanted since I experimented with a panel on the top of the screen. I only missed a close button in the right corner but couldn't figure out how to do it in KDE 3.5.x. Now I use two monitors so this kind of solution isn't optimal. But it would be interesting to experiment with this plasmoid on a netbook, for example. In future versions, it would be nice if the icons could be changed in the GUI.
and I'm not sure it is even possible to do, but it would be great if the plasmoid could use the close/minimize etc from whatever is the windeco currently in use. Otherwise it works great and is of more use on a big screen than I thought it would be...
>> "...use the close/minimize from the windeco..." well, I don't think it is possible because the windeco buttons are programmatically drawn (I think...). Of course, I can include some SVG that mimics the Oxygen style but it don't really solve the problem. >> "is of more use on a big screen than I thought it would be..." Thanks, it just needs some times to get accustomed to :)
I was "afraid" of that, but it's not a big issue so no problem. Just a suggestion though. After having used it for a couple of days, I've found a small usability issue (well, it is according to how I work anyway...) If you use the shade-button, the window in question remain in focus. It would be great if that would be the case for minimize too. Let's say you have Okular running maximized with an important document. You also run a wordprocessor to comment on the document, also maximized and normally covering Okular. Now, if you want to just glance at the pdf to check something (assuming the relevant part of it is displayed) it is only a matter of hitting minimize to be able to see it. However, the wordprocessor looses focus so it is not only to hit maximize a few milimeters to the right to bring it back. You need to bring the pointer to wherever the app is minimized to which can be some distance away, which to some extent makes the usefulness of your plasmoid not as high as it could be. Hope I make sense...
"...a small usability issue" I'm sure this plasmoid is full of "small usability issue", it is just a pre-version but I highly appreciate all comments :) I see your point and indeed, it can be useful if this can be done but the minimize button is intended to mimic the behavior of the standard minimize button so it should pass the focus to the next window IMO. But the applet is done so that adding new actions is not difficult so I can add others actions once the code is a little bit cleaner ("next win", "previous win", "minimize all but the active window" or something like what you said...)
I think it would be great to hide buttons if there is no window( i.e. when all windows are minimized in a task manager..). keep up the good work!
Why not (as an option) but they must at least looks disabled. This is the next thing on my todo list, I just hope I will get some free time :) I keep your idea in mind, thanks for your comment
Thank you. It's working fine with the Kubuntu 8.10 Intrepid Ibex (beta) , except here the action is not to the ActiveWindow but to the ActiveWindow -1. That is: If i click kate window and then konqueror window and then ActiveWindow-Maximize => kate window will be maximized. Do i have slow computer or what ?? ;).
Hi and thanks for your comment : -which version of KDE do you have ? (I use 4.1.2) -is your plasmoid in a panel or on the desktop ? If it is in a panel, it should work (or not...) weird... I'm waiting for your reply :)