Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Hyprland #85

Closed
wants to merge 1 commit into from
Closed

Conversation

andresilva
Copy link

@andresilva andresilva commented Apr 15, 2024

#50

@andresilva
Copy link
Author

Everything works except actually pasting the contents, although that's unrelated to this PR. The content is successfully copied to the clipboard. I also tried using wtype instead with the same result. If I do wtype -M shift -k insert in a terminal it works as expected (same for ydotool).

emacs-everywhere.el Outdated Show resolved Hide resolved
@tecosaur
Copy link
Owner

Hmm, I'm onboard with implementing specific support for Gnome, KDE, and probably wlroots directly in emacs-everywhere.el, however given how many more niche DEs there are, I'm not sure how far I want to go in baking in support for them.

Perhaps as a first step, I could try making the app-info function used a variable, and changing the window :id to always be a string.

@andresilva
Copy link
Author

Hyprland is wlroots-based, I don't know of any way to implement this generically for all wlroots compositors. For sway you'll need to use sway-specific tooling as well as far as I know. Hyprland is the most popular wlroots compositor.

@tecosaur
Copy link
Owner

tecosaur commented Apr 16, 2024

Mmm, while it may not currently be possible to implement a wlroots-generic method, I don't think that supporting the entire set of wayland compositors is a sensible goal (also, I was under the impression that Sway remains more common that Hyprland).

What we can do though is have say a wiki page for less common ones though, and link to it in the docstring.

@andresilva
Copy link
Author

Yeah, I might have been a bit overzealous claiming that Hyprland is the most popular wlroots-based compositor 😬. It's hard to measure, but I think it's fair to say that it's as popular as sway, or at least that it's definitely not a niche compositor as far as wlroots-based compositors go. I understand your reluctance regarding adding support for a bunch of different compositors though. I rebased the PR over your latest changes in master. Feel free to close the PR though.

@tecosaur
Copy link
Owner

I think I'll close this PR for now, but let's not waste your work! I'll start a wiki page on adding support for less-common wayland compositors, and you can paste your code there 🙂

@tecosaur
Copy link
Owner

@tecosaur tecosaur closed this Apr 16, 2024
@tecosaur
Copy link
Owner

(the wiki page should be publically editable)

@andresilva
Copy link
Author

Thanks, I added instructions for Hyprland there.

@edrex
Copy link

edrex commented Jun 13, 2024

I don't know of any way to implement this generically for all wlroots compositors

There is https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1 supported by (most?) wlroots compositors as well as hyprland. There is a CLI at https://sr.ht/~leon_plickat/lswt/ (it's in nixpkgs) edit: lswt wasn't showing active windows under hyprland when I tested, but another client exists, waylevel, which does: , waylevel -j | , fx

(note that the protocol also supports window activation, though those clients don't support it)

edit 2: just found https://git.sr.ht/~brocellous/wlrctl, which supports all the input-side stuff like activation and typing. A wlrctl + waylevel impl seems viable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants