1 unstable release
new 0.1.1 | Apr 20, 2025 |
---|
#1083 in Web programming
150KB
3.5K
SLoC
hyprshell
Overview
hyprshell is a Rust-based GUI designed to enhance window management in Hyprland. It provides a powerful and customizable interface for switching between windows using keyboard shortcuts and GUI. The application also includes a launcher for running applications directly from the GUI.
Features
- Window Switching: Switch between windows using keyboard shortcuts in a GUI.
- Customizable Keybindings: Define your own keybindings for window switching and GUI interactions.
- Config: Interactive config file generation for easy setup.
- Launcher Integration: Launch applications directly from the GUI, sorted by usage frequency.
- Sorting and Filtering: windows sorted by position, can be filtered by class, workspace, or monitor.
- Theming: Customize the GUI appearance using CSS.
- Dynamic Configuration: Automatically reloads configuration/style changes without restarting the application.
Installation
From Source
gtk4 and gtk4-layer-shell must be installed
cargo install hyprshell
Arch Linux (TODO Add)
paru -S hyprshell
# or
yay -S hyprshell
Nixos
- add
hyprshell.url = "github:h3rmt/hyprshell/release";
to flake inputs - add
specialArgs = { inherit inputs; };
tonixpkgs.lib.nixosSystem
- add
inputs.hyprshell.packages.x86_64-linux.default
to yourenvironment.systemPackages
- available systems:
aarch64-linux
,i686-linux
,riscv32-linux
,riscv64-linux
,x86_64-linux
Usage
Run hyprshell --help
to see available commands and options.
Config generation
To generate a default configuration file, run:
hyprshell config generate
This launches an interactive prompt to set up your configuration.
The generated file will be located at ~/.config/hypr/hyprshell.conf
.
Config validation
To validate your configuration file, run:
hyprshell config check
This checks for any syntax errors or issues in your configuration file andshows a explanation
of how to use hyprshell.
Initialization
Add the following to your Hyprland configuration (~/.config/hypr/hyprland.conf
):
exec-once = hyprshell run &
Or enable the systemd service (generated with hyprshell config generate
):
systemctl --user enable --now hyprshell.service
Dependencies
~27–40MB
~748K SLoC