keyd: keyd-application-mapper doesn't detect wayland?
Hi.
Running keyd v2.4.3 under KDE Plasma 6 with a wayland session. From the terminal:
% KEYD_DEBUG=1 keyd-application-mapper -v
X detected
and no wayland windows are detected at all. If a run an X application then I start to get
Active window: root|
listed on window change out of a wayland window. Anyone else seeing this?
About this issue
- Original URL
- State: closed
- Created 4 months ago
- Comments: 17 (4 by maintainers)
Links to this issue
Commits related to this issue
- keyd-application-mapper: Add support for KDE (#694) Based on initial work done by Jon Wilts. — committed to rvaiya/keyd by rvaiya 3 months ago
Hello.
Good work for KDE compatibility. Thanks to both of you.
I’ve test this commit on both Kde Plasma 5 and 6 (Fedora) I have 3 comment :
In the Kwin Script, the client.resourceName seems to be less reliable than client.resourceClass to identify the class of an window. With mpv and Firefox (Flatpak) the 1st is empty but the 2nd is in all case populate.
The Kwin Script work with Plasma 6 but need some adjustment for Plasma 5 Line 127 workspace.windowActivated.connect => workspace.clientActivated.connect
ressourceClass vs ressourcename.txt
I’ve made a rough modification for testing
keyd-application-mapperMOD.txt
I hope that helps.
Denez1
Short answer is: yes
Longer answer is: read https://github.com/rvaiya/keyd particularly the section on Application Specific Remapping:
Ok - here’s a first pass at a KDE/Wayland version of keyd-application-mapper. This is alpha quality - beta at best - and requires a lot more testing. If anyone wants to test it, I’m happy to look at bugs/feedback.
Download: keyd-for-kde.zip
A few notes:
keyd-application-mappershould be a drop-in replacement for/usr/bin/keyd-application-mapper. There may be edge cases that I’ve missed, but works for me on KDE Plasma 6.0.2.keyd.kwinscriptis a kwinscript that can be installed viaSystem Settings -> Window Management -> KWin Scripts -> Install from File. See note below though.This
keyd-application-mapperis written in Perl (because that’s what I know!), and relies on the following modules:File::HomeDirNet::DBusProc::DaemonFile::FnMatchAfter installing the kwinscript, you might need to enable it in order for it to work. The most reliable way of doing this is
I’ll look into this and see if I can make this slicker.
Hurray! That’s great news. As far as I’m aware you’re the first user (other than me) - so please do let me know any problems that you come across.
Got it. Thanks. However I think there is a way to do this for KDE using KWin scripts and DBUS messaging. I’m working on a proof of concept now - will report back in a day or two.
With a bit of debugging, it looks like this is because the KDE 6 compositor doesn’t implement zwlr_foreign_toplevel_manager_v1
These are the interfaces that keyd-application-mapper gets back: