FreeBSD Manual Pages
WAY-DISPLAYS(1) User Manuals WAY-DISPLAYS(1) NAME way-displays - Auto Manage Your Wayland Displays SYNOPSIS way-displays [OPTIONS...] [COMMAND] DESCRIPTION 1. Set resolution/refresh: preferred, highest or custom 2. Enable VRR / adaptive sync 3. Arrange in a row or a column 4. Auto scale based on DPI: 96 is a scale of 1 5. Update when displays plugged/unplugged 6. Update when laptop lid closed/opened Works out of the box: no configuration required. Wayland successor to xlayoutdisplay <https://github.com/alex-cour- tis/xlayoutdisplay>, inspired by kanshi <https://sr.ht/~emersion/kan- shi/>. See wiki for Configuration <https://github.com/alex-courtis/way-dis- plays/wiki/Configuration>, Recipes <https://github.com/alex-cour- tis/way-displays/wiki/Recipes>, Troubleshooting <https://github.com/alex-courtis/way-displays/wiki/Troubleshooting> and more. Server Background process that performs the management. Configuration is read from a file discovered in order: $XDG_CONFIG_HOME/way-displays/cfg.yaml $HOME/.config/way-displays/cfg.yaml /usr/local/etc/way-displays/cfg.yaml /etc/way-displays/cfg.yaml The file may be specified via the --config option. cfg.yaml will be monitored for changes, which will be immediately ap- plied. See the default /etc/way-displays/cfg.yaml and https://github.com/alex-courtis/way-displays/blob/master/doc/CONFIGURA- TION.md for details on individual configurable settings. Server is run when no commands are specified. Server responds to IPC requests to fetch and mutate state: https://github.com/alex-courtis/way-displays/blob/master/doc/IPC.md Client Manages the server. The active configuration and display state may be inspected, and the configuration modified. The active configuration can be written to disk, however any comments and formatting will be lost. REQUIREMENTS A wlroots based compositor that supports the WLR Output Management pro- tocol. way-displays is blessed for the sway <https://swaywm.org/> and river <https://github.com/riverwm/river>. It may work on others. Hpyrland <https://hyprland.org/> provides all way-displays functional- ity and you may experience issues. way-displays must be run as a daemon, a background server process. It will respond to your configuration changes as well as state changes such as plugging in a monitor or closing the lid. User should be a member of the input group for querying laptop lid state. OPTIONS -L | --l[og-threshold] <debug|info|warning|error|fatal> Overrides cfg.yaml. info is default. -c | --c[onfig] <path> Configuration file, falls back to defaults if not found. -y | --y[aml] Print client output as raw YAML COMMANDS -h | --h[elp] Print usage and exit. -v | --v[ersion] Display version information and exit. -g | --g[et] Show the active configuration, commands and current display state. -s | --s[et] Add a new setting or modify an existing. ARRANGE_ALIGN <row|column> <top|middle|bottom|left|right> Set vertical arrangement and the alignment. ORDER <name|!regex> ... Set the order of arrangement. Replaces previous order. SCALING <on|off> Enable scaling, overrides AUTO_SCALE and SCALE AUTO_SCALE <on|off> Enable auto scaling. SCALE <name> <scale> Set the scale for a specific display. MODE <name> MAX Highest available resolution / refresh. MODE <name> <width> <height> [<Hz>] Specified resolution at its highest refresh. Optional refresh will choose a mode +-0.5Hz. TRANSFORM <name> <90|180|270|flipped|flipped-90|flipped-180|flipped-270> Transform a specific display. VRR_OFF <name> Disable VRR for a display. DISABLED <name> Disable a display. CALLBACK_CMD <shell command> Sets a /bin/sh command to be executed following most events. Obeys LOG_THRESHOLD • Default: notify-send "way-displays ${CALLBACK_LEVEL}" "${CALL- BACK_MSG}" • ${CALLBACK_MSG} contains a human readable message • ${CALLBACK_LEVEL} LOG_THRESHOLD -d, --d[elete] Remove an existing setting. SCALE <name> Use auto scaling for the display, if enabled. MODE <name> Use preferred or highest availble if no preferred. TRANSFORM <name> Remove transformation for a display. VRR_OFF <name> Enable VRR for a display. DISABLED <name> Enable a display. CALLBACK_CMD <shell command> Remove command on display configuration success. -t, --t[oggle] Toggle a setting. SCALING Toggle scaling. AUTO_SCALE Toggle auto scaling. VRR_OFF <name> Toggle VRR for a display. DISABLED <name> Toggle a display. -w | --w[rite] Write active configuration to cfg.yaml; removes any whitespace or comments. NAMING You can configure displays by name or description. You can find these by looking at the logs e.g. DP-3 Arrived: info: name: 'DP-3' make: 'Monitor Maker' model: 'ABC123' desc: 'Monitor Maker ABC123 (DP-3 via HDMI)' It is recommended to use the description rather than the name, as the name may change over time and will most likely be different on differ- ent PCs. The description does contain information about how it is connected, so strip that out. In the above example, you would use the description `Monitor Maker ABC123'. The name should be at least 3 characters long, to avoid any unwanted extra matches. EXAMPLES exec way-displays > /tmp/way-displays.${XDG_VTNR}.${USER}.log 2>&1 Add to your sway config to start way-displays when sway starts. way-displays -g Show current configuration and display state. way-displays -s ARRANGE_ALIGN row bottom Arrange left to right, aligned at the bottom. way-displays -s ORDER "!^DP-[0-9]+$" HDMI-1 "monitor maker ABC model XYZ" eDP-1 Set the order for arrangement. way-displays -s SCALE "eDP-1" 3 Set the scale. way-displays -s MODE HDMI-A-1 3840 2160 24 Use 3840x2160@24Hz way-displays -w Persist your changes to your cfg.yaml SEE ALSO https://github.com/alex-courtis/way-displays AUTHORS Alexander Courtis. way-displays 2025/03/28 WAY-DISPLAYS(1)
NAME | SYNOPSIS | DESCRIPTION | REQUIREMENTS | OPTIONS | COMMANDS | NAMING | EXAMPLES | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=way-displays&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>