Skip to content
This repository has been archived by the owner on Jun 16, 2024. It is now read-only.

[Bug]: "Floating windows always on top" option doesn't work for some windows #165

Open
ikajdan opened this issue Nov 6, 2021 · 2 comments
Labels
bug Something isn't working confirmed The bug has been reproduced

Comments

@ikajdan
Copy link
Contributor

ikajdan commented Nov 6, 2021

Summary

Plasma shell configuration windows aren't kept on top despite the setting turned on.

Steps to Reproduce

  1. Make sure that the option "Floating windows always on top" is checked.
  2. Open some window in tiling mode.
  3. Right-click on the system tray (also works with the system clock widget).
  4. From the menu choose "Configure System Tray...".
  5. Click on the tiled window and notice how the configuration page gets overlapped.

Expected behavior

Floating windows always stay on top.

Screenshots

No response

Bismuth version

v2.0.0

KDE Plasma version

5.22.5

The platform KWin is running on

X11

Additional context

No response

@ikajdan ikajdan added the bug Something isn't working label Nov 6, 2021
@gikari gikari added the confirmed The bug has been reproduced label Nov 7, 2021
@gikari
Copy link
Member

gikari commented Nov 7, 2021

This probably happens, because the class of the popup of the window is plasmashell, which is placed in the ignored bin to not break the Plasma widgets and panels.

Perhaps, if the unique combo of window properties is found for these types of windows, they could be popped out of the "ignore bin".

@ikajdan
Copy link
Contributor Author

ikajdan commented Nov 12, 2021

Here is the part of the xprop output:

_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE

So I have tried to add (resourceClass === "plasmashell" && !this.client.resizeable) || in here, and it started to tile those windows correctly, however it now tries to tile panel's toolbox in the edit mode:

_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP

I don't know why, since it doesn't contain the _NET_WM_ACTION_RESIZE property.

The question is how can I select windows based on the _NET_WM_WINDOW_TYPE. Also, how can I list all the properties of the Client?

---
Edit: just found this. It would be nice to have it linked in the CONTRIBUTING.MD, also how to enable logging.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working confirmed The bug has been reproduced
2 participants