
KWin Button Applet
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
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.
11 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.
11 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
8 years ago
Report
floopy1962
9 years ago
The oxygen looks awesome without buttons on the title :D
Report
nik3nt3
10 years ago
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
10 years ago
Report
zeltak
10 years ago
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
11 years ago
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
paju
9 years ago
Regards: <paju1986@gmail.com>
Report
paju
9 years ago
http://kde-look.org/content/show.php/KWinButton+applet+improved?content=143971
Report
Contrast
10 years ago
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
mck182
11 years ago
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
majewsky
11 years ago
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
11 years ago
Report
majewsky
11 years ago
Report
Seli
11 years ago
Report
caig
11 years ago
Report
KAnton
11 years ago
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
11 years ago
Report
KAnton
11 years ago
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
majewsky
11 years ago
Report
KAnton
11 years ago
Report
summel
11 years ago
Report
majewsky
11 years ago
Report