wl-present(1)

πŸ’… wl-present β€” like wl-mirror's cool younger sibling

ok so real talk, this is a page from the General Commands Manual for wl-present(1), and it's genuinely one of my faves. let's get into it 🫢

✨ NAME ✨

wl-present β€” an interactive client for wl-mirror(1). that's it, that's the vibe. πŸ’–

🌸 SYNOPSIS 🌸

wl-present [OPTIONS] <COMMAND> [args...]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so wl-present is a wrapper around wl-mirror(1) that uses its streaming mode together with pipectl(1) to interactively control what is being captured. literally the whole point. ✨

and here's the iconic part: the subcommands of wl-present are intended to be mapped to keyboard shortcuts in your wayland compositor for easy access. like, that's the design. keybind it and go off, bestie. βŒ¨οΈπŸ’…

πŸ‘‘ COMMANDS πŸ‘‘

  • help β€” show help message and exit. the classic. πŸŽ€
  • mirror [OUTPUT] [OPTIONS] β€” start wl-mirror(1) capturing OUTPUT. if no output is given, slurp(1) is used to select the output or region to capture. and if any additional OPTIONS are specified, they are passed on to wl-mirror. slay, options delegation. πŸ”₯
  • set-output [OUTPUT] β€” set the captured output of a running wl-present session. if no output is given, slurp(1) is used to select the output to capture. no cap, it just picks for you. πŸ¦‹
  • set-region [REGION] unset-region β€” set the captured region of a running wl-present session. if no region is given, slurp(1) us used to select a region to capture. (yes us, that's what the page says, we don't gatekeep typos here πŸ™ˆπŸ’€) also there's unset-region sitting right there in the same line, unbothered, iconic. πŸ’œ
  • set-scaling [SCALING] β€” set the scaling mode of a running wl-present session. if no region is given, dmenu(1) (or a compatible replacement) is used to select a scaling mode. 🌈
  • freeze, unfreeze, toggle-freeze β€” set the freeze state of a running wl-present session. freeze her πŸ’€, unfreeze her ✨, or let fate decide with toggle-freeze. πŸŽ€
  • fullscreen, unfullscreen β€” set the fullscreen state of a running wl-present session. main character energy, on and off. πŸ‘‘
  • fullscreen-output [OUTPUT] β€” set the fullscreen target output of a running wl-present session, and it implies fullscreen. two birds, one flag. 🐦
  • no-fullscreen-output β€” unset a previously set fullscreen target output of a running wl-present session, and it implies unfullscreen. undoing the thing, respectfully. πŸ™ˆ
  • custom [OPTIONS] β€” send custom options to a running wl-present session. if no options are given, dmenu(1) (or a compatible replacement) are used to select an option. build-your-own-adventure but make it flags. ⭐

πŸ’– OPTIONS πŸ’–

  • -n, --name β€” use an alternative pipe name (default is wl-present). this allows multiple instances of wl-present to run at the same time. multiverse of mirrors, fr fr. πŸŒ€

🧚 ENVIRONMENT VARIABLES 🧚

  • WL_PRESENT_DMENU β€” overrides the used dmenu implementation. when set, this command is used to select options instead of the default. when unset, wl-present attempts to use wofi(1), wmenu(1), fuzzel(1), rofi(1), and dmenu(1), in this order. look at that priority queue, it ate. πŸ“

Example:

WL_PRESENT_DMENU="rofi -dmenu -p present"
  • WL_PRESENT_PIPECTL β€” overrides the used pipectl implementation. when set, this command is used to pipe options to wl-mirror(1) instead of the default. when unset, wl-present attempts to use pipectl(1) or an included pipectl shim written in bash if pipectl is not available. bash shim fallback is so real of it. πŸ’…
  • WL_PRESENT_SLURP β€” overrides the used slurp implementation and options. when set, this command is used to select regions and outputs instead of the default. when unset, wl-present attempts to use slurp(1) without any additional options. πŸ’œ

Example:

WL_PRESENT_SLURP="slurp -c #859900 -w 2"
  • WL_PRESENT_PIPE_NAME β€” overrides the default pipe name (default is wl-present). this is equivalent to the --name option above. lowkey the same thing in a trench coat. πŸ§₯

Example:

WL_PRESENT_PIPE_NAME=monitor2 wl-present mirror HDMI-A-1

πŸŽ€ AUTHORS πŸŽ€

maintained by Ferdinand Bachmann <ferdinand.bachmann@yrlf.at>. more information on wl-mirror can be found at <https://github.com/Ferdi265/wl-mirror>. giving credit where credit is due, always. 🫢

πŸ”₯ SEE ALSO πŸ”₯

wl-mirror(1) pipectl(1) slurp(1) wofi(1) wmenu(1) fuzzel(1) rofi(1) dmenu(1)

go read the whole friend group, bestie. they all serve a purpose. 🌟


ngl this one's a 2026-02-10 kind of page β€” that's the date stamped on this wl-present(1) manual entry, and it's the version of the docs you're reading right now. mwah, hope this helped, ily, go keybind something. πŸ’–βœ¨πŸŽ€πŸ¦‹
πŸ“¦ where this page comes from