HyprPresto
current version: 0.1.0
JP -> here}
A minimal, keyboard-centric application launcher for Linux, designed for speed and efficiency. HyprPresto allows you to launch your favorite applications with a single keystroke.
Features
- Instant Launch: Trigger applications with a single key press.
- Modern UI: Clean, dark-themed interface built with GTK4.
- Wayland Native: Built with
gtk4-layer-shell, perfect for compositors like Hyprland and Sway. - Lightweight: Fast startup and minimal resource usage.
- Simple Configuration: Easy-to-read TOML configuration.
Usage

- Ensure you have your
config.tomlready. - Run the application:
- The launcher window will appear.
- Press the key corresponding to the app you want to launch (e.g., press
f). - The app will launch, and HyprPresto will close automatically.
- To close without launching, press
Esc.
Dependencies
To run HyprPresto, you need the following installed on your system:
- GTK4
- gtk4-layer-shell
To build from source, you will also need:
- Rust (cargo)
blueprint-compiler
How to Install
HyprPresto is now available on crates.io. You can install it with the following command.
It is also available as a binary release at Release.
- Go to the Releases page.
- Download the latest
hypr-prestobinary. - Make it executable:
- (Optional) Move it to a directory in your
$PATH, e.g.,/usr/local/bin:
Configuration
HyprPresto follows the XDG Base Directory Specification for its configuration.
Path: ~/.config/hypr-presto/config.toml
Structure
The configuration file uses the TOML format. Define your shortcuts under the [apps] section. The key is the single character you want to press, and the value is the Desktop Entry ID of the application (usually the filename of the .desktop file without the extension).
Example config.toml
[]
= "firefox" # Press 'f' to launch Firefox
= "com.mitchellh.ghostty" # Press 'g' to launch Ghostty
= "code-oss" # Press 'c' to launch VS Code
my config: https://github.com/Uliboooo/dotfiles/tree/main/.config/hypr-presto
Note: To find the correct App ID, look at the filenames in
/usr/share/applications/(e.g., forspotify.desktop, usespotify).
Integration with Hyprland
You can bind HyprPresto to a key in your hyprland.conf:
bind = $mainMod, P, exec, hypr-presto(bin path)