hyprland-protocols/README.md

41 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2022-11-25 19:55:11 +00:00
# hyprland-protocols
2025-12-08 19:25:53 +02:00
2022-11-25 19:58:53 +00:00
Wayland protocol extensions for Hyprland.
2025-01-02 00:32:08 +01:00
This repository exists in an effort to bridge the gap between Hyprland and KDE/Gnome's functionality,
as well as allow apps for some extra neat functionality under Hyprland.
2022-11-25 19:58:53 +00:00
2024-10-06 12:39:52 +01:00
Since `wayland-protocols` is slow to change (on top of Hyprland not being allowed to contribute), we have to maintain
2025-01-02 00:32:08 +01:00
a set of protocols Hyprland uses to plumb some things / add some useful features.
Some of the protocols here also do not belong in w-p, as they are specific to Hyprland.
2022-11-25 19:58:53 +00:00
## Finished protocols
2025-12-08 19:25:53 +02:00
2022-12-04 21:13:47 +00:00
- `hyprland_toplevel_export` -> for exporting toplevel buffers (aka. windows) for screensharing
2022-11-25 19:58:53 +00:00
- `hyprland_global_keybindings` -> for managing global keybinds via D-Bus.
- `hyprland_focus_grab` -> for grabbing input focus, primarily for complex context menus.
2024-10-08 00:49:49 +01:00
- `hyprland_ctm_control` -> for managing CTMs of displays. See [hyprsunset](https://github.com/hyprwm/hyprsunset)
- `hyprland_surface` -> for setting hyprland specific wl_surface properties.
2025-01-17 16:26:27 +01:00
- `hyprland_lock_notify` -> for notifying a client about the screen being locked and unlocked.
2025-04-02 00:13:57 +01:00
- `hyprland_toplevel_mapping` -> for mapping toplevels to hyprland IDs.
2025-10-04 21:37:11 +01:00
- `hyprland_input_capture` -> for EIS input capture.
2022-11-25 19:58:53 +00:00
## Building
2025-12-08 19:25:53 +02:00
```sh
2025-12-08 19:25:53 +02:00
git clone https://github.com/hyprwm/hyprland-protocols && cd hyprland-protocols
cmake -S . -B ./build
cmake --build ./build
```
## Contributing
2025-12-08 19:25:53 +02:00
2025-01-02 00:32:08 +01:00
Adding new protocols is *discouraged*, as most things you think of can already be done one way or another.
However, if the protocol has a good reason to be, and you have an impl ready, feel free to make a PR.
We're always up for a discussion to improve things!
2022-11-25 19:58:53 +00:00
Fixing typos / adding explanations to existing protocols - welcome.
Adding functionality to protocols / new revisions - welcome, if accompanied with a reason and an impl.