Run or raise implemented for Hyprland. It will raise window if it exists, or cycle to next window if current window matches class to focus. Otherwise it will launch new window.
$ raise
Usage: raise -c <class> -e <launch>
Raise window if it exists, otherwise launch new window.
Options:
-c, --class class to focus
-e, --launch command to launch
--help display usage information
There are multiple ways to install this:
- Go to releases
cargo install --git https://github.com/knarkzel/raise
- Add
github:knarkzel/raise
as a flake to your NixOS configuration
For NixOS, add raise to your flake inputs:
inputs = {
raise.url = "github:knarkzel/raise";
};
Then add it to your system, for instance: environment.systemPackages = [raise.defaultPackage.x86_64-linux];
I like having Super + <key>
bound to run or raise, and Super + Shift + <key>
to launch application regularly.
bind = SUPER, V, exec, raise --class "Alacritty" --launch "alacritty"
bind = SUPER_SHIFT, V, exec, alacritty
bind = SUPER, C, exec, raise --class "firefox" --launch "firefox"
bind = SUPER_SHIFT, C, exec, firefox
bind = SUPER, F, exec, raise --class "emacs" --launch "emacsclient --create-frame"
bind = SUPER_SHIFT, F, exec, emacsclient --create-frame
Run hyprctl clients
while window is open, and look for class: <class>
.