Skip to content

An unofficial rust wrapper for hyprland's IPC [maintainers=@yavko,@cyrinux]

License

Notifications You must be signed in to change notification settings

thrombe/hyprland-rs

 
 

Repository files navigation

Hyprland-rs

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

An unofficial rust wrapper for Hyprland's IPC

Help Wanted!

We need help with developing the next version of hyprland-rs 0.4, if you know how to do the things in https://github.com/hyprland-community/hyprland-rs/milestone/4 contributions in those areas would be greatly appreciated!

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.13"

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

About

An unofficial rust wrapper for hyprland's IPC [maintainers=@yavko,@cyrinux]

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.3%
  • Other 0.7%