Tired of fiddling with Hyprland configs?
Monitor Maestro lets you switch between monitor layouts in a snap!
This Rust-powered TUI app lets you define layouts in a simple TOML or JSON file and switch between them with a few keystrokes.
Effortless Workflow:
- Define layouts in TOML or JSON.
- Simple TUI for easy selection.
- Switch layouts instantly.
The TUI runs on a terminal, so it's up to you to add a bind
in you Hyprland configs
If you want an example, take a look at my Hyprlad dotfiles and search for monitor_maestro
The program has 3 execution options:
- tui <MODE>: start the TUI, either in:
- list: list workspaces from config (specify with
-p / --path
) file and select one - interactive: draw current monitors with rectangles (needs a larger terminal window)
- list: list workspaces from config (specify with
- workspace <NAME>: no tui, only run the commands to start the specified workspace
- state: get the current workspace from the file
/tmp/monitor_maestro_state.txt
, auto-handled
Tui in mode:
list:
- j - k
: go down - up the list
- q - ESC
: exit
- Enter
: select monitor layout
interactive:
- h - l
: go left - right the monitor rectangles
- q - ESC
: exit
- Enter
: WIP
Clone the repo, then build with cargo
cargo build --release
and copy the executable monitor_maestro
wherever you choose.
An example workspaces configuration toml file is provided
Also json file.
A monitor can either be:
-
Enabled, and requires the fields:
- dimensions
- refresh rate
- position
- scaling
-
Disabled
- Dynamic TUI showing rectangles as current monitor layout, in a pseudo realistic way
- Toml configuration
- TUI for interactive monitor layout creation and json output