No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-18 00:56:19 +02:00
bin Initial commit 2026-09-18 00:56:19 +02:00
README.md Initial commit 2026-09-18 00:56:19 +02:00

mon

Apply a screen layout under Hyprland (Lua config, >= 0.55.1).

Screens have roles, mapped to real outputs in the config. A layout is the list of roles to enable: positions are computed left to right, every configured output not listed is disabled.

mon p            primary only
mon p s          primary and secondary
mon s            secondary only
mon t qhd        tv only, in the qhd preset
mon p s t        everything, tv in its default preset
mon ls           list outputs known to Hyprland (needs jq)

p, s and t can also be written primary, secondary and tv.

Config

~/.tpm/config/mon/env, sourced by the script, values in single quotes. Unset roles are ignored, and a layout that asks for one fails with an error.

PRIMARY='DP-3'
PRIMARY_MODE='2560x1440'
SECONDARY='DP-2'
SECONDARY_MODE='1920x1080@60'
SECONDARY_SIDE='right'
TV='HDMI-A-1'
TV_PRESETS='hd:1280x720@60:1 qhd:2560x1440@59.95:2 uhd:3840x2160@60:2'
  • PRIMARY, SECONDARY, TV: output names as shown by mon ls.
  • *_MODE: WxH or WxH@Hz, as Hyprland expects it.
  • SECONDARY_SIDE: left or right of the primary. The tv is always rightmost.
  • TV_PRESETS: space separated name:mode:scale entries. The first one is the default when no preset is given on the command line.