eww: [BUG] Exclusive not taking effect
Describe the bug
I have been trying to debug this for a couple of hours but at a bit of a loss.
From what i can gather exclusive is meant to make the window take up space on the screen and not float above it.
eww is setting the window as exclusive at least in the code(I break pointed on it) but the window manager is not respecting it.
The bar i am creating is floating over windows.
Here is my configuration for the bar
(defwindow bar :monitor 0 :exclusive true :focusable false :stacking "fg" :geometry (geometry :x "0%" :y "0%" :width "20px" :height "100%" :anchor "left top") (river-bar))
I fully believe i could just be misunderstanding how to make this work in wayland but from reading the documentation this seems to be the correct way.
I have tried the bar out in both river and sway both have the same issue.
Reproducing the issue
set exclusive to true in defwindow
Expected behaviour
The tiling window manager respects the exclusive space and doesn’t allow it to overlap with windows.
Additional context
Image of window over lapping with bar:
Full configuration files used:
eww.scss.txt
eww.yuck.txt
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 26 (14 by maintainers)
That’s really weird indeed. The thing is, I’ve actually double-checked this, with changing just the one property. Additionally, I’ve checked that it is not running on xwayland. I’m using eww-wayland-git, and xwininfo doesn’t detect the window. Moreover, when I run it on an X11 Plasma session, it is detected by
xwininfoandxlsclients(it is not on Plasma Wayland or Hyprland), but the bar appears in the center of the screen, presumably because I do not have any other X11 properties set:Maybe I should open a new issue for this, but I’m just playing around with eww for the first time, so there’s too large a change I’m just doing something weird.
Aright after using your example as a test. I played about with the configuration. It seems to be if you set the bar on the left or right anything other than center it will not reserve the space for the window. This seems like a bug.
Works as expected :geometry (geometry :height “20%” :width “20px” :anchor “left center”) :geometry (geometry :height “20%” :width “20px” :anchor “right center”)
Broken: :geometry (geometry :height “20%” :width “20px” :anchor “left top”) :geometry (geometry :height “20%” :width “20px” :anchor “left bottom”) :geometry (geometry :height “20%” :width “20px” :anchor “right top”) :geometry (geometry :height “20%” :width “20px” :anchor “right bottom”)
Can we get an error for this? i.e. for using
:exclusive truewithout any of the valid anchors. Because while it seems to be the “expected” behavior of the protocol, it takes quite a while to figure out the solution.