
Hyprinator is a simple tool used to automatically setup
windows in Hyprland with YAML files.
- clone repository:
git clone https://gitlab.com/sn1o/devbox/hyprinator.git
cd hyprinator- build the binary:
go build -o hyprinatorhyprinator setup [space-name] [flags]| Command | Description |
|---|---|
setup |
automatically setup environment of windows and workspaces based on .yaml file |
| Option | Description |
|---|---|
--config |
receive a string with the path to the custom config file (only support: yaml) |
| Attribute | Type | Description |
|---|---|---|
app |
string | The app name that must be open/run - (eg.: alacritty, brave, vscodium, etc.) |
workspace |
number | Hyprland workspace where the app should be opened |
monitor |
string | Monitor name where the app should be moved to - (eg.: DP-1, HDMI-1, etc.) |
cwd |
string | Current working directory path to set by terminal - (only for terminal applications) |
exec |
array[string] | List of terminal commands to execute - (onl for terminal applications) |
focus |
boolean | What application should be focused at the setups ending |
delay |
number | How much time the CLI need to wait until execute a new iteration |
# /home/john-doe/.hyprinator.yaml
---
main:
- app: alacritty
cwd: /home/john-doe/projects
exec:
- tmuxp load projects /home/john-doe/.tmuxp-sessions.yaml
workspace: 1
monitor: HDMI-1
delay: 1000
- app: brave
workspace: 2
monitor: DP-2
delay: 1000
focus: true To execute the previous .hyprinator.yaml configuration:
hyprinator setup main --config=$HOME/john-doe/.hyprinator- Execute a list of applications via Hyprland APIs
- Can create many spaces with different setups
- Move windows to any workspaces defined by the configuration
- Windows focusing
- Better user-level configuration
- Ensure a default
spaceis executed if no space name is passed as an argument tosetupcommand - Ensure execute
cwdandexecconfiguration attributes only ifappis a terminal application - Ensure run the application on a fallback monitor if the name passed does not exist or is incorrect
- Implement a better handling for
execlist of commands to execute on terminal application - Implement tests
- Define windows layouts (tabbed, horizontal, vertical)
- Define window position layout
- Define window dimensions
- Support
jsonandtomlconfiguration file types - Emit pop-up notifications with log level type (
info,warning,error) - Integration with Tmux
- Integration with Podman (maybe)
Do you like this project? Come on:
- Star and follow the repository on Gitlab.