Comments (7)
It was a wlroots / sway bug:
Hyprland has the same issue:
Background: wlroots used to always announce version 4 of the protocol which added support for ON_DEMAND
but not all wlroots based compositors added that support. Hyprland and old versions of sway seem to treat it the same as EXCLUSIVE
instead. This has been fixed in wlroots by allowing compositors to supply the supported version (e.g. 3 if not supporting ON_DEMAND
). Panels could thus check for the announced version and then either use EXCLUSIVE
/ NONE
if version 3 is announced or ON_DEMAND
for version 4.
from cosmic-panel.
Yeah, the definition of the protocol is written in a way that allows a lot of flexibility in how it works. But it doesn't seem quite right given clicking on a window and using super+hjkl doesn't work.
I guess swaybar may require keyboard interactivity. Not sure what else would. Given the protocol specifically mentions panels as a use case for on_demand
, and the protocol was defined by wlroots, it seems like there should be a way for this to work properly.
Edit: Hm, clicking on another window results in the panel getting wl_keyboard::leave
immediately followed by wl_keyboard::enter
. Seems like something sway/wlroots shouldn't be doing given it's not showing any request from the client to grab focus back or anything...
from cosmic-panel.
Looking at apt rdepends libgtk-layer-shell0
, vala-panel
and mate-panel
are a couple panels using layer-shell. But they use the default none
keyboard interactivity in gtk-layer-shell. Modifying mate-panel to use on_demand
, the same issue seems to occurs (but that enables keyboard interaction with the menus in mate panel itself, which naturally doesn't work with none
).
So cosmic-panel doesn't seem to be doing anything too unusual, and it may be a wlroots or sway issue. Perhaps the on_demand
feature worked initially but broke if it isn't really used.
from cosmic-panel.
I'm not sure that this is an issue in the panel, but I have also noticed this for a while. I believe it could be specific behavior with sway considering that the compositor would be responsible for handling which clients are sent input events, unless somehow the keyboard interactivity for the layer surfaces are being set incorrectly in the panel. Perhaps there is a way that the panel needs to request to be unfocused, or in sway there is a keybinding for unfocusing it?
Nevertheless, it is possible for a compositor to require a special interaction to focus or unfocus layer shell surface
https://wayland.app/protocols/wlr-layer-shell-unstable-v1#zwlr_layer_surface_v1:enum:keyboard_interactivity:entry:on_demand
from cosmic-panel.
Looking at the source for waybar & swaybar, it seems to me that both set keyboard interactivity to None. Maybe there is another panel that uses on_demand to cross reference with?
from cosmic-panel.
Ah, good to hear it's fixed. So that explains why I wasn't able to reproduce it recently.
This seems to be an awkward thing with Wayland in general: with a compositor/library split, implementing a new protocol version in the library isn't necessary possible without compositor changes.
from cosmic-panel.
Thanks, Consolatis for highlighting that this was resolved.
from cosmic-panel.
Related Issues (20)
- Non-extending autohide panel/dock doesn't open unless over the panel HOT 3
- Dragging & dropping files to the panel doesn't work
- Auto hidden panel can be covered by the dock
- Panels get messed up when displays are scaled up then down HOT 1
- Dead space below panel apps & applets -> left-click not registered HOT 1
- Having an applet in the start/end segment makes empty end/start segment take up space
- Applets scaling HOT 1
- Crash with "Error reading events from display: Broken pipe" HOT 1
- Random icons get removed from taskbar HOT 1
- Overflow applets functionality
- Invisible applets in panel with manually configured theme different than desktop theme when maximizing a window
- Panic when switching theme HOT 3
- Panel leaves artifacts when when disabling the "Extend panel to screen edges" option HOT 11
- FR: add delay bedore switching the applet window
- [panic] thread 'main' panicked at 'attempt to subtract with overflow': cosmic-panel-bin/src/space/layout.rs:116
- Random appearance of lines at the end of the panel HOT 2
- Question: Difference between Panel and Dock? HOT 2
- [Feature Request] Add a Shorter Panel Option than XS
- Applets crashing repeatedly make the panel freeze
- FR: only allow one instance of an applet across all panel HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cosmic-panel.