KWin Button Applet

Plasma 4 Widgets

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

9
Score 74%
Description:

This applet emulates a button from the window title of the currently active window. The following actions are available:

* Window menu: Clicking on the applet will bring up the window menu for the current window.
* Iconify: Clicking the applet iconifies the current window.
* Maximize: Clicking the applet maximizes or restores the current window.
* Close: Clicking the applet closes the current window.

If the type is \"Window menu\", the applet shows the icon of the active window. In all other cases, the applet shows an icon describing the action.
Last changelog:

8 years ago

v0.1
* Support for three different appearances: Plasma/KRunner theme (new default), desktop icon theme (old default), custom icon.
v0.0.2 (24 Mar 2010)
* Fix that window icon is not updated correctly in some cases.
v0.0.1 (24 Mar 2010)
* Initial release.

GDR

6 years ago

It stopped working after my recent upgrade to Kubuntu 11.10 - it looks like libtaskmanager is missing and not in the repos. Any idea how to fix it?

Report

floopy1962

7 years ago

Hi... i'm sorry if i criticize your work i think it's great but it will be very nice if you can add "stick" and allways above" buttons :P
The oxygen looks awesome without buttons on the title :D

Report

nik3nt3

8 years ago

A very usful plasmoid, thank you.

Currently the buttons control the window which has the focus. In multi-monitor environments it is not always clear which window has the focus (because you can have 2 maximized windows).

Thats why I suggest that the buttons control only the (top) window of the screen the plasmoid lifes in.

/nik



Report

mck182

8 years ago

Could really use some update, with KDE 4.5 it crashes plasma quite often...

Report

zeltak

8 years ago

hi

when i try to install the deb for kubuntu 10.04 64 bit i get loads of errors...anyone else having issues?

thx

zeltak

Report

luisfpg

8 years ago

First, congrats for the applet. Very useful for netbooks...

It would be nice to have a config option to only display if the active window is maximized. Together with the BorderlessMaximizedWindows=true, this makes it more natural to the panel behave like the window decoration, as non-maximized windows already have their own buttons...

Another suggestion would be that the maximize / restore could swap it's icon depending on the state, just like the regular windows decoration does...

Report

Contrast

8 years ago

I really like this guy's ideas. Any hope of seeing them implemented? :D

Either way, *great* job on this widget. It does something _very_ important that, until now, hadn't been done by anyone to my knowledge: It allows the system to obey Fitt's Law (common and important actions should be accessible via jamming the mouse to a screen edge/corner) when a top panel is in use. It's a little puzzling that Apple hadn't thought of this yet. Leave it to FOSS! :)

Report

paju

7 years ago

I have implemented that feature and sended to the author, I hope he realease a new version with my improvements.

Regards: <paju1986@gmail.com>

Report

paju

7 years ago

Here is the link with the improvements:

http://kde-look.org/content/show.php/KWinButton+applet+improved?content=143971

Report

mck182

8 years ago

This is really awesome idea! But the latest version does not work for me. I'm getting plasma crashes and kde4-window-decorator crashes (yep, I'm using compiz) like raindrops during rain. Here's the plasma crash bactrace, hope it'll be helpful

Thread 1 (Thread 0x7f39b4c59840 (LWP 1975)):
[KCrash Handler]
#5 0x00000033a28ea1f0 in vtable for __cxxabiv1::__si_class_type_info () from /usr/lib64/libstdc++.so.6
#6 0x00007f3994f8363b in attach (this=0x2a99440) at /usr/include/kde4/ksharedptr.h:214
#7 operator= (this=0x2a99440) at /usr/include/kde4/ksharedptr.h:97
#8 KWinButtonApplet::findActiveTask (this=0x2a99440) at /home/mck182/Installs/kwinbuttonapplet-0.0.2/applet.cpp:106
#9 0x00007f3994f83708 in KWinButtonApplet::windowChanged (this=0x2a99440, task=<value optimized out>, change=<value optimized out>) at /home/mck182/Installs/kwinbuttonapplet-0.0.2/applet.cpp:96
#10 0x00007f3994f83e0e in KWinButtonApplet::qt_metacall (this=0x2a99440, _c=InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffb3f37230)
at /home/mck182/Installs/kwinbuttonapplet-0.0.2/build/applet.moc:80
#11 0x000000395a76a2af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#12 0x00007f399dfcf2da in TaskManager::TaskManager::windowChanged(KSharedPtr<TaskManager::Task>, QFlags<TaskManager::TaskChange>) () from /usr/lib64/libtaskmanager.so.4
#13 0x00007f399dfd1e55 in TaskManager::TaskManager::taskChanged(QFlags<TaskManager::TaskChange>) () from /usr/lib64/libtaskmanager.so.4
#14 0x00007f399dfd22a7 in TaskManager::TaskManager::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libtaskmanager.so.4
#15 0x000000395a76a2af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#16 0x00007f399dfc3982 in TaskManager::Task::changed(QFlags<TaskManager::TaskChange>) () from /usr/lib64/libtaskmanager.so.4
#17 0x00007f399dfc7160 in TaskManager::Task::refresh(unsigned int) () from /usr/lib64/libtaskmanager.so.4
#18 0x00007f399dfd1659 in TaskManager::TaskManager::windowChanged(unsigned long, unsigned int) () from /usr/lib64/libtaskmanager.so.4
#19 0x00007f399dfd21d5 in TaskManager::TaskManager::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libtaskmanager.so.4
#20 0x000000395a76a2af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#21 0x000000395e121f10 in KWindowSystem::windowChanged(unsigned long, unsigned int) () from /usr/lib64/libkdeui.so.5
#22 0x000000395e124f41 in ?? () from /usr/lib64/libkdeui.so.5
#23 0x000000395e006036 in KApplication::x11EventFilter(_XEvent*) () from /usr/lib64/libkdeui.so.5
#24 0x0000003961446ea7 in ?? () from /usr/lib64/libkdeinit4_plasma-desktop.so
#25 0x000000395b2122f1 in ?? () from /usr/lib64/libQtGui.so.4
#26 0x000000395b220671 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#27 0x000000395b249d82 in ?? () from /usr/lib64/libQtGui.so.4
#28 0x000000395923923e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#29 0x000000395923cc28 in ?? () from /lib64/libglib-2.0.so.0
#30 0x000000395923cd4a in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#31 0x000000395a77d063 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#32 0x000000395b249a4e in ?? () from /usr/lib64/libQtGui.so.4
#33 0x000000395a756192 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#34 0x000000395a75645c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#35 0x000000395a758749 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#36 0x0000003961437e52 in kdemain () from /usr/lib64/libkdeinit4_plasma-desktop.so
#37 0x000000339d61eb1d in __libc_start_main () from /lib64/libc.so.6
#38 0x00000000004007c9 in _start ()

Report

C

majewsky

8 years ago

Does the current version 0.1 fix your problems? I do not really see how this issue could be triggered (apart from the small moment when the applet is deleted, but I doubt that you are deleting the applet all the time).

If this does not help, you might want to try the ActiveWindowControl applet which is available from svn://anonsvn.kde.org/home/kde/trunk/playground/base/plasma/applets/activewindowcontrol - I'm working to integrate the functionality of the KWin Button Applet into this applet.

Report

Seli

8 years ago

Ehm ... you know, binary packages usually don't update to newer versions just somehow magically :). It is still necessary to at least update the tarball, update version numbers in the build files and add a changelog entry. If you give me your build service account name, I can add you as a maintainer for the package (http://en.opensuse.org/KDE/Build_Service/Cross-distro should be all that you need and I've already done most of that for you).

Report

C

majewsky

8 years ago

I know, I have some packages myself. My OBS account name is majewsky, but please do not expect me to come back to this too soon. I should be dealing with more important things. *sigh*

Report

Seli

8 years ago

Ok. I've added you as a maintainer. And while I was there I also updated the package to 0.1, since it was pretty trivial with kde-obs-generator, so at least for now the binaries should be up to date again.

Report

caig

8 years ago

This is what I was searching.

Report

KAnton

8 years ago

great!
If you would find a way to hide the panel when no window is active or a window isn't maximized at that it would be perfect :)

Report

KAnton

8 years ago

sorry I mean to hide the buttons

Report

KAnton

8 years ago

I like this really thanks for it,
but I would like to have some other Icons for the Maximize/Minimize/close-buttons...
What I think of are the +/- icons from the action-overlays.svgz file and the X icon from the configuration-icons.svgz file from the Air destoptheme

Report

KAnton

8 years ago

as an alternative the Oxygen-Air-Aurorae-window-decoration has got 3 really nice buttons, looking like the oxygen ones

Report

C

majewsky

8 years ago

The new version 0.1 adds support for different icon themes. You can use the monochrome buttons known from KRunner, or choose arbitrary Oxygen icons.

Report

summel

8 years ago

the maximize-action should get a more oxygen-like iconand the minimize action should get the arrow up/down icon, because when i minimize the window it moves up in the panel (if the panel is at the top screen edge like suggested) and not down. so the up/down arrows are a bit confusing for those two actions, besides taht i think it is a great idea! now i only need a plasma theme that makes the taskmanager looks like tabs for the windows and i'm happy :)

Report

C

majewsky

8 years ago

Version 0.1 allows you to choose your own icons.

Report

8 years ago

v0.1
* Support for three different appearances: Plasma/KRunner theme (new default), desktop icon theme (old default), custom icon.
v0.0.2 (24 Mar 2010)
* Fix that window icon is not updated correctly in some cases.
v0.0.1 (24 Mar 2010)
* Initial release.

File (click to download) Version Description Packagetype Architecture Downloads Date Filesize DL OCS-Install
Pling
Details
license
version
0.1
updated Mar 25 2010
added Mar 24 2010
downloads today
0
page views today 2