GithubHelp home page GithubHelp logo

psifidotos / applet-window-buttons Goto Github PK

View Code? Open in Web Editor NEW
402.0 402.0 54.0 337 KB

Plasma 5 applet in order to show window buttons in your panels

License: GNU General Public License v2.0

CMake 1.29% Shell 0.20% C++ 64.66% QML 32.53% JavaScript 1.32%

applet-window-buttons's People

Contributors

alex1701c avatar gribs avatar krisives avatar mputterf avatar psifidotos avatar rodrigopedra avatar thearturzh avatar trmdi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

applet-window-buttons's Issues

Close button not active when mouse is at the very corner of screen

When window is maximized, close button in window titlebar is placed in such a way that moving mouse to very corner where button is still hovers that button. As a result we can rapidly flick the mouse to the direction of that corner and click without aiming in order to close that window. This is not the case with this applet. Be great if mouse positioned like in screenshot would be able to click on the button.
image

[Question] is it possible to hide the applet instead of collapsing?

Hi, I have enabled the option " Show when Active window is maximized" and the applet collapses when I don't have a maximized window. I wanted to know if it's possible to just hide the buttons keeping the applet's space so the other elements of the panel doesn't have to move.

Thanks, you are doing a great job.

Assertion error when uri is "org.kde.appletdecoration" not "org.kde.appletsdecoration"

Hello,
Being interested in latte-dock, so I decided to give it a spin including the applets on a KDE Neon Testing install. I like it overall though the memory usage seem to grow over time.

This widget compiled successfully but it always crashes the latte-dock when I tried to add it. It does so specifically on this line.

This line checks if the uri is "org.kde.appletsdecoration" and aborts when if it's not. But on my system, the uri passed is "org.kde.appletdecoration" (note the absence of 's') so the assert triggers hence preventing me from ever adding this widget on a latte-dock.

The widget does work after commenting out the said line or changing the "org.kde.appletsdecoration" to "org.kde.appletdecoration".

Would changing this line be okay on the long run?

Let the user enable/disable Borderless maximized windows

This option is important when the plasmoid in inside a plasma panel because otherwise it cant be configured.

For the Latte case this is not needed so the plasmoid should not touch that option.
Latte provides its own implementation for borderless maximized windows because it can use multiple layouts at the same time with different configuration concerning that option.

Improve multi-screen behavior

In my opinion the best multi-screen behavior is the following:

State: Default

  • When in the plasmoid screen there is no window showing the buttons are NOT shown
  • When in the plasmoid screen there are windows none of whom is active the buttons are NOT shown
  • When in the plasmoid screen there is an active window the buttons are shown just fine

State: Show only for active+maximized windows

  • When in the plasmoid screen there is no window showing the buttons are NOT shown
  • When in the plasmoid screen there are windows none of whom is active the buttons are NOT shown
  • When in the plasmoid screen there is an active window which is not maximized the buttons are NOT shown
  • When in the plasmoid screen there is an active window which is also maximized the buttons are shown just fine

Window buttons don't work if you create a second activity.

Using latest latte-dock package from git master and wm-buttons from source.

If you add a second activity, the buttons no longer work. Everything else seems to work. Even after you remove the activity, they still don't work. Hopefully it can be resolved with a logout.

Drag from the maximize/unmaximize button to out of Latte panel make it crash...

First of all, I'm very happy when I see there are lots of commits from you today. Nice work !
Then, I'm about to report the first bug I've seen.

Here is how to reproduce it:
1, Focus on a window to make it active.
2, Drag from the maximize/unmaximize button to out of Latte panel
... and Latte will crash.

Here is the backstrace:

Application: Latte Dock (latte-dock), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9e00a1e800 (LWP 3902))]

Thread 7 (Thread 0x7f9dd50b1700 (LWP 3967)):
#0  0x00007ffff45ecb14 in clock_gettime ()
#1  0x00007f9e05920876 in clock_gettime () at /lib64/libc.so.6
#2  0x00007f9e063db401 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007f9e063d9c39 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007f9e063da235 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f9e063db85e in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007f9e02ec2499 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f9e02ec2e7b in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f9e02ec306c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007f9e063dbadb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9e06388adb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f9e061d7de6 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007f9dd638a8b7 in KCupsConnection::run() () at /usr/lib64/libkcupslib.so
#13 0x00007f9e061e19b7 in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007f9e042ba554 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f9e05912ccf in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f9dddfcd700 (LWP 3951)):
#0  0x00007ffff45ecb14 in clock_gettime ()
#1  0x00007f9e05920876 in clock_gettime () at /lib64/libc.so.6
#2  0x00007f9e063db401 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007f9e063d9c39 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007f9e063dbf45 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f9e02ec2971 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#6  0x00007f9e02ec2ef0 in  () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f9e02ec306c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f9e063dbadb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#9  0x00007f9e06388adb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9e061d7de6 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#11 0x00007f9e061e19b7 in  () at /usr/lib64/libQt5Core.so.5
#12 0x00007f9e042ba554 in start_thread () at /lib64/libpthread.so.0
#13 0x00007f9e05912ccf in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f9dde7ce700 (LWP 3950)):
#0  0x00007f9e02ec24a6 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f9e02ec2e7b in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f9e02ec306c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f9e063dbadb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f9e06388adb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f9e061d7de6 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f9ddebd89e5 in  () at /usr/lib64/qt5/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
#7  0x00007f9e061e19b7 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f9e042ba554 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f9e05912ccf in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f9deb64d700 (LWP 3931)):
#0  0x00007f9e042c04dc in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f9deb953f5b in  () at /usr/lib64/dri/i965_dri.so
#2  0x00007f9deb953c87 in  () at /usr/lib64/dri/i965_dri.so
#3  0x00007f9e042ba554 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f9e05912ccf in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f9df6294700 (LWP 3930)):
#0  0x00007f9e05903d34 in read () at /lib64/libc.so.6
#1  0x00007f9e02f084b0 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f9e02ec2a4b in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f9e02ec2ef0 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f9e02ec306c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f9e063dbadb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007f9e06388adb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f9e061d7de6 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007f9e07892485 in  () at /usr/lib64/libQt5Qml.so.5
#9  0x00007f9e061e19b7 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9e042ba554 in start_thread () at /lib64/libpthread.so.0
#11 0x00007f9e05912ccf in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f9dfcc6e700 (LWP 3906)):
#0  0x00007f9e059082c9 in poll () at /lib64/libc.so.6
#1  0x00007f9e02ec2f46 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f9e02ec306c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f9e063dbadb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f9e06388adb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f9e061d7de6 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f9e072d5545 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007f9e061e19b7 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f9e042ba554 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f9e05912ccf in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f9e00a1e800 (LWP 3902)):
[KCrash Handler]
#4  0x00007f9ddc01b79b in KDecoration2::Decoration::update(QRect const&) () at /usr/lib64/libkdecorations2.so.5
#5  0x00007f9ddc020f54 in KDecoration2::DecorationButton::update(QRectF const&) () at /usr/lib64/libkdecorations2.so.5
#6  0x00007f9ddc02105f in KDecoration2::DecorationButton::update() () at /usr/lib64/libkdecorations2.so.5
#7  0x00007f9dd74261a0 in  () at /usr/lib64/qt5/plugins/org.kde.kdecoration2/breezeenhanced.so
#8  0x00007f9e061c2f6d in QPropertyAnimation::updateCurrentValue(QVariant const&) () at /usr/lib64/libQt5Core.so.5
#9  0x00007f9e061bf9c8 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9e061c01d0 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007f9e061bcde1 in QAbstractAnimation::setCurrentTime(int) () at /usr/lib64/libQt5Core.so.5
#12 0x00007f9e061bcf19 in  () at /usr/lib64/libQt5Core.so.5
#13 0x00007f9e061bb7eb in QUnifiedTimer::updateAnimationTimers(long long) () at /usr/lib64/libQt5Core.so.5
#14 0x00007f9e078abba4 in QAbstractAnimationJob::setState(QAbstractAnimationJob::State) () at /usr/lib64/libQt5Qml.so.5
#15 0x00007f9e07afa1f8 in QQuickAbstractAnimationPrivate::commence() () at /usr/lib64/libQt5Quick.so.5
#16 0x00007f9e07afa4b8 in QQuickAbstractAnimation::setRunning(bool) () at /usr/lib64/libQt5Quick.so.5
#17 0x00007f9e07afe1eb in QQuickAbstractAnimation::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Quick.so.5
#18 0x00007f9e07afe7a5 in QQuickAnimationGroup::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Quick.so.5
#19 0x00007f9e07844fed in  () at /usr/lib64/libQt5Qml.so.5
#20 0x00007f9e077ab6f3 in  () at /usr/lib64/libQt5Qml.so.5
#21 0x00007f9e077ac8b9 in  () at /usr/lib64/libQt5Qml.so.5
#22 0x00007f9e077ad583 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib64/libQt5Qml.so.5
#23 0x00007f9e077c7c15 in QV4::Runtime::method_callProperty(QV4::ExecutionEngine*, QV4::Value*, int, QV4::Value*, int) () at /usr/lib64/libQt5Qml.so.5
#24 0x00007f9dcbfbf2ee in  ()
#25 0x00007f9df5655478 in  ()
#26 0x00007f9df5655480 in  ()
#27 0x0000562df34a1700 in  ()
#28 0x0000000000000000 in  ()
[Inferior 1 (process 3902) detached]

Default settings make breeze (light) buttons hardly visible on (light) panel

Using default settings (default Breeze theme), buttons appear as in breeze decorations i.e. bright as breeze title bars are dark.

However, breeze panels are light so buttons are barely visible. Maybe Color scheme should be taken from inactive colors where titlebar switch to light color??

Buttons in panel:
image

Buttons on breeze titlebar:
image

Inactive breeze titlebar:
image

Close buttom doesn't show with PyCharm

I'm having this weird bug where, if I maximize PyCharm, the close buttom doesn't appear on the widget (as if I didn't add it). The other buttons appear though. It's the only application where this happens for me.

I'm using latest user edition KDE neon, latest PyCharm and your widget. The widget is being added to an application bar.

Hide window border setting counts for all latte lay outs

SUMMARY
When the plasma applet window buttons https://github.com/psifidotos/applet-window-buttons is set to "hide window decoration when maximized" this setting is applied to all latte lay outs. Also ones where it is not wished.

STEPS TO REPRODUCE

  1. activate the "applet window buttons" in one latte lay out and set it to hide the window decoration when the window is maximized
  2. choose an other latte lay out where this applet is not applied to
  3. maximize the window of an application

OBSERVED RESULT
the window border disappears which is not desired.

EXPECTED RESULT
the window border will remain when the application is maximize because the whole applet shouldn't be of influence on latte lay outs where it is not applied to

SOFTWARE/OS VERSIONS

Linux/KDE Plasma:
(available in About System)
KDE Plasma Version: 5.14.3
KDE Frameworks Version: 5.51.0
Qt Version: 5.11.12
plasma applet window buttons: 02

Easy to get stuck in hover state

  • Right clicking to open the context menu usually get's it stuck in the hover state.
  • It's also fairly easy to get stuck when the Plasma Desktop is focused, but that's another bug.

Please add to readme

To compile on ubuntu, one needs to install the libs first:
sudo apt install g++ extra-cmake-modules qtbase5-dev qtdeclarative5-dev libkf5declarative-dev libkf5plasma-dev libkdecorations2-dev gettext

Button color for inactive windows on multiple screens

Some themes (like e.g. SierraBreeze) vary the button color when the window is active/inactive.
This is very convenient for identifying the active window. The window-buttons applet does not support it, which inhibits the experience in multi-monitor setup.
In plain English: I have three screens and each has a maximized window. I'd like the applet to change the button colors for inactive windows so I can see which window has the focus.

Screenshot_20190822_124308

Could not find a package configuration file provided by "Qt5"

OS: Opensuse
DE:KDE 5.58/Plasma 5.16
QT version: 5.12

When I run sh install.sh, get this error:

CMake Error at CMakeLists.txt:17 (find_package):
  Could not find a package configuration file provided by "Qt5" (requested
  version 5.9.0) with any of the following names:

    Qt5Config.cmake
    qt5-config.cmake

  Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
  to a directory containing one of the above files.  If "Qt5" provides a
  separate development package or SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
See also "/home/<username>/tmp/applet-window-buttons/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target 'install'.  Stop

Color of buttons is not always painted properly for Breeze themes

When I try SierraBreezeEnhanced buttons (Decoration style: Always inactive) with Breeze colorscheme:
buttonscolor

The same result with Breeze buttons:
image

I think the color should be responsive like the color of Appmenu as well as other applets. It should somehow depend on the background color.

(Plasma theme: Breeze, System color: Breeze)

Does not follow Fitt's law at some cases

When the applet has margins enabled such as is the default case with thick margin:2px and length margin:2px the Fitt's law is broken.

That means that when the buttons are at a screen edge then in that case moving the mouse at the far position of that edge then the buttons are not activated accordingly when hovered or pressed.

Truth to be told this is happening because these areas are out of drawn buttons but I tested with kwin titlebar and this is not the case, somehow this has been solved for maximized windows titlebars.

Fitt's law is applied to decoration buttons of titlebar when a window is maximized

"Thickness margin" option returns a weird result

I think there is something wrong with the latest commit.
Before that, change Thickness margin make the buttons smaller, but after that, they look like this:

Thickness margin: 10px
image

The same result with Breeze.

Support multi-screen aware option

Get the behavior filter option, like haves applet-window-title, for multi-screen setups. Actually only works correctly if the window is on the same screen that the widget.

Blacklist Applications

It would be nice to be able to add applications to a blacklist. Blacklisted apps would not display buttons in the applet. I'm thinking of GTK apps with CSDs.

Fails to build from source on Kubuntu 18.04

Kubuntu 18.04
GCC 7.3.0
Frameworks 5.44 or 5.47
Qt 5.9.5
Plasma 5.12.6 or 5.12.7

[ 16%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o
In file included from /tmp/buildd/plasma-applet-window-buttons-0.1+git20181114.1249/libappletdecoration/appletdecorationplugin.cpp:26:0:
/tmp/buildd/plasma-applet-window-buttons-0.1+git20181114.1249/libappletdecoration/previewclient.h:103:10: error: 'void Decoration::Applet::PreviewClient::requestShowToolTip(const QString&)' marked 'override', but does not override
void requestShowToolTip(const QString &text) override;
^~~~~~~~~~~~~~~~~~
/tmp/buildd/plasma-applet-window-buttons-0.1+git20181114.1249/libappletdecoration/previewclient.h:104:10: error: 'void Decoration::Applet::PreviewClient::requestHideToolTip()' marked 'override', but does not override
void requestHideToolTip() override;
^~~~~~~~~~~~~~~~~~
libappletdecoration/CMakeFiles/appletdecorationplugin.dir/build.make:62: recipe for target 'libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o' failed
make[2]: *** [libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o] Error 1

Change to small resolution get a size problem

I have a 2560x1440(QHD) resolution monitor, when I switch to a 1920x1080(FHD) TV, the size of the icons are way bigger and the margins does not match properly with the panel. I'm using a scaling factor of 1.4

  • QHD resolution:

scaling_0

  • FHD resolution:

image

  • Windows Buttons Applet settings:

image

  • Latte dock panel size settings:

image

Aurorae themes can not produce icon spacing 0px. when thickness margin>0px.

After update to 0.2-1 buttons spacing increased. So I went to settings and started lowering it. I discovered few things:

  • if lowering the value, even numbers have no effect, if increasing value, odd numbers have no effect - just change the value from 0 to 12 and 12 to 0 one by one and apply settings to see what I mean,
  • after lowering spacing to zero there is still lots of space between icons, previously they were touching each other which made sense, given the number zero

Current spacing set to zero is OK for me, but what if someone wants to make it even lower?

Here is how buttons look like with spacing set to zero:

screenshot-2018-11-24-13-49-14
Maybe that's intended feature? As already said, the effect is good, just as I prefer, but I can imagine someone wants it to be tighter.

Also other parameters have changed. Before left margin needed to be 3 for the first button not to touch the edge of the screen. Now I set it to zero and there is still space. It's good, but I kind liked previous effects. They were logical and allowed for full customization. Zero meant zero and now zero means something else. I had control over the space and now I have a nice space which is good but is not controllable.
Is that intended feature? If so, it's not bad, but again, I liked the full control feeling I got with the old settings.

Aside from that, all looks fine, there is no longer the bug with applet not being possible to remove or move in latte edit mode.

Keep activated when a window is fullscreen to avoid 'jumping'

First of all: thanks for all the great stuff you are doing for Plasma desktop!

Second: I like this plasmoid a lot, and have it set to 'Show only when active window is maximized'. I also have yakuake set to always go fullscreen via:

image

Apparently the buttons also hide when the active window is fullscreen, so every time yakuake loses focus and closes, the buttons jump into place (b/c I most of the time have a fullscreen window open...). Anyhow, is it possible to keep showing the buttons when the active application is fullscreen? Or maybe via a setting?

Thanks for looking into this!

Add color scheme option in preferences

It would be nice if the user could assign a color scheme for the buttons of c++ decorations. This already supported but it is not exposed to the user.

Adding widget to panel shows its icon, and clicking on it pops up "org.kde.appletdecoration" is not installed. Widget installed fine.

The pop up shows this:

Error loading QML file: file:///usr/share/plasma/plasmoids/org.kde.windowbuttons/contents/ui/main.qml:28:1: module "org.kde.appletdecoration" is not installed

I installed all the dependencies listed when running sh install.sh. I am on Fedora 29 KDE.
When installed this widget on Manjaro, it worked flawlessly, but it doesn't work on Fedora for some reason.

[Question] Multiple Displays/Monitors

Is there a way to have the "Disable borders for maximized windows" option apply only to the primary display?

I currently have an external monitor (primary display) connected to my laptop (secondary display).
I've attached some pictures below of my setup for reference:

Full Screenshot
Full Screenshot

Display Settings
Multiple Monitor Setup

Window Buttons Settings
Window Buttons Settings

The button to show on all desktops isn't working

When I click the button to show the window to all desktops, it doesn't do that, and I had to restore the window to enable it

Operating System: Kubuntu 19.04
KDE Plasma Version: 5.15.4
KDE Frameworks Version: 5.56.0
Qt Version: 5.12.2
Kernel Version: 5.0.0-13-generic
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-6500 CPU @ 3.20GHz
Memory: 15.6 GiB of RAM

Compile error on OpenSuse

Hello,

I run OpenSuse Leap 15 wit KDE 5.56. I have QT dev packages installed but I get this error:

-- Found KF5: success (found suitable version "5.56.0", minimum required is "5.38.0") found components: CoreAddons Declarative Plasma PlasmaQuick
-- Could not set up the appstream test. appstreamcli is missing.

Fail to build from source on ubuntu 18.04

I think i have all required libs, but it still don't build. Sadly, there are no 5.13 on Ubuntu 18.04

$ cmake -DCMAKE_INSTALL_PREFIX=/usr .. -Wnodev
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found KF5CoreAddons: /usr/lib/x86_64-linux-gnu/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.50.0")
-- Installing in the same prefix as Qt, adopting their path scheme.
-- Found KF5Declarative: /usr/lib/x86_64-linux-gnu/cmake/KF5Declarative/KF5DeclarativeConfig.cmake (found version "5.50.0")
-- Found KF5Plasma: /usr/lib/x86_64-linux-gnu/cmake/KF5Plasma/KF5PlasmaConfig.cmake (found version "5.50.0")
-- Found KF5PlasmaQuick: /usr/lib/x86_64-linux-gnu/cmake/KF5PlasmaQuick/KF5PlasmaQuickConfig.cmake (found version "5.50.0")
-- Found KF5: success (found suitable version "5.50.0", minimum required is "5.38.0") found components: CoreAddons Declarative Plasma PlasmaQuick
-- Could not set up the appstream test. appstreamcli is missing.
-- Looking for GLIBC
-- Looking for GLIBC - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Found KF5WindowSystem: /usr/lib/x86_64-linux-gnu/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.50.0")
-- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1")
-- Found KF5I18n: /usr/lib/x86_64-linux-gnu/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.50.0")
-- Found KF5Service: /usr/lib/x86_64-linux-gnu/cmake/KF5Service/KF5ServiceConfig.cmake (found version "5.50.0")
-- Found KF5ConfigWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.50.0")
-- Found KF5: success (found suitable version "5.50.0", minimum required is "5.26.0") found components: Plasma WindowSystem I18n Service ConfigWidgets
CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/KF5Package/KF5PackageMacros.cmake:71 (message):
warnings during generation of metainfo for org.kde.windowbuttons: KCatalog
being used without a Q*Application instance. Some translations won't work

Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/KF5Plasma/KF5PlasmaMacros.cmake:34 (kpackage_install_package)
CMakeLists.txt:27 (plasma_install_package)

-- Configuring done
-- Generating done
-- Build files have been written to: /home/lech/Dokumenty/Prywatne/applet-window-buttons/build
lech@Lech-Dell-Latitude-E6220:~/Dokumenty/Prywatne/applet-window-buttons/build$ make
Scanning dependencies of target org.kde.windowbuttons-plasmoids-metadata-json
[ 5%] Generating org.kde.windowbuttons-plasmoids-metadata.json
About to parse service type file "/usr/share/kservicetypes5/plasma-applet.desktop"
Found property definition "X-Plasma-API" with type "QString"
Found property definition "X-Plasma-RootPath" with type "QString"
Found property definition "X-Plasma-MainScript" with type "QString"
Found property definition "X-Plasma-ContainmentType" with type "QString"
Found property definition "X-Plasma-DropMimeTypes" with type "QStringList"
Found property definition "X-Plasma-DropUrlPatterns" with type "QStringList"
Found property definition "X-Plasma-NotificationArea" with type "QString"
Found property definition "X-Plasma-NotificationAreaCategory" with type "QString"
Found property definition "X-Plasma-DBusActivationService" with type "QString"
Found property definition "X-KDE-ParentApp" with type "QString"
Found property definition "X-Plasma-Provides" with type "QStringList"
Found property definition "X-Plasma-PreloadWeight" with type "int"
Found property definition "X-Plasma-ConfigPlugins" with type "QStringList"
Found property definition "X-Plasma-StandAloneApp" with type "bool"
Found property definition "X-Plasma-RequiredExtensions" with type "QStringList"
Found property definition "NoDisplay" with type "bool"
Unknown property type for key "Keywords" -> falling back to string
Generated "/home/lech/Dokumenty/Prywatne/applet-window-buttons/build/org.kde.windowbuttons-plasmoids-metadata.json"

[ 5%] Built target org.kde.windowbuttons-plasmoids-metadata-json
Scanning dependencies of target appletdecorationplugin_autogen
[ 11%] Automatic MOC for target appletdecorationplugin
[ 11%] Built target appletdecorationplugin_autogen
Scanning dependencies of target appletdecorationplugin
[ 16%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o
In file included from /home/lech/Dokumenty/Prywatne/applet-window-buttons/libappletdecoration/appletdecorationplugin.cpp:26:0:
/home/lech/Dokumenty/Prywatne/applet-window-buttons/libappletdecoration/previewclient.h:103:10: error: ‘void Decoration::Applet::PreviewClient::requestShowToolTip(const QString&)’ marked ‘override’, but does not override
void requestShowToolTip(const QString &text) override;
^~~~~~~~~~~~~~~~~~
/home/lech/Dokumenty/Prywatne/applet-window-buttons/libappletdecoration/previewclient.h:104:10: error: ‘void Decoration::Applet::PreviewClient::requestHideToolTip()’ marked ‘override’, but does not override
void requestHideToolTip() override;
^~~~~~~~~~~~~~~~~~
libappletdecoration/CMakeFiles/appletdecorationplugin.dir/build.make:62: recipe for target 'libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o' failed
make[2]: *** [libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o] Error 1
CMakeFiles/Makefile2:448: recipe for target 'libappletdecoration/CMakeFiles/appletdecorationplugin.dir/all' failed
make[1]: *** [libappletdecoration/CMakeFiles/appletdecorationplugin.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Applet is not visible until panel is first resized

When I first login to KDE the applet is not visible or is somehow resized such that it cannot be seen. However, after hitting the Plasma hamburger menu once it then appears. I have the setting "Show only when active window is maximized" as well as BorderlessMaximizedWindows=true in my ~/.config/kwinrc file, if that matters.

KDE Neon
KDE 5.14.3

Window buttons disappear when clicking on a tray icon

Hi !
I use the Window Buttons plasmoid without the "show only when active window is maximized" option, so I expect to see the applet at all times (handy to close / minimize several windows in a row).

However I noticed the applet buttons temporarily disappeared when I clicked on a tray icon like the "notification" or "volume" tray icon, which is a little annoying because if shifts the tray icon position so you have to move in order to click it again.

Cheers !

control last maximized window

Hi
Thanks for this nice widget.
Please add an option to this buttons control last maximized window instead of active window
Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.