19 releases

0.3.13 Feb 3, 2024
0.3.12 Sep 19, 2023
0.3.9 Aug 3, 2023
0.3.8 Jul 10, 2023
0.2.4 Aug 18, 2022

#27 in GUI

Download history 381/week @ 2023-12-23 371/week @ 2023-12-30 650/week @ 2024-01-06 480/week @ 2024-01-13 471/week @ 2024-01-20 517/week @ 2024-01-27 569/week @ 2024-02-03 654/week @ 2024-02-10 941/week @ 2024-02-17 1012/week @ 2024-02-24 923/week @ 2024-03-02 1242/week @ 2024-03-09 1236/week @ 2024-03-16 1415/week @ 2024-03-23 1372/week @ 2024-03-30 1033/week @ 2024-04-06

5,212 downloads per month
Used in 16 crates

GPL-3.0-or-later

165KB
3.5K SLoC

Hyprland-rs

Crates.io Crates.io Crates.io docs.rs Hyprland Discord

An unofficial rust wrapper for Hyprland's IPC

Disclaimer

If something doesn't work, doesn't matter what, make sure you are on the latest version (or commit) of Hyprland before making an issue!

Getting started!

Let's get started with Hyprland-rs!

Adding to your project

Add the code below to the dependencies section of your Cargo.toml file!

hyprland = "0.3.12"

Reading the docs

Hyprland-rs has a ton of types (and some really long ones)! Its important you know how the ones you will be using work! The docs can be found at docs.rs/hyprland

Master version

If Hyprland-rs is broken (or other reason) and is taking too long for a release to come out, you can use the master branch in Cargo (will not allow the crate to be published to crates.io):

hyprland = { git = "https://github.com/hyprland-community/hyprland-rs", branch = "master" }

What this crate provides

This crate provides 6 modules (+1 for shared things)

  • data for getting information on the compositor
  • event_listener which provides the EventListener struct for listening for events
  • dispatch for calling dispatchers
  • keyword for dealing with config option (aka keywords)
  • config::binds for changing binds (in future config might have config generation)
  • ctl for calling hyprctl commands

Example Usage

Check the examples in the examples directory

Dependencies

~6–21MB
~266K SLoC