MIRUCTL(1)

πŸ“¦ version 0.14.0, in nixpkgs unstable

✨ NAME ✨

okay so welcome to MIRUCTL(1), page from the miructl Manual β€” and the main character here is miructl, the control utility for miru-daemon(1). πŸ’… no cap, it's a tiny client with big "I just send one command" energy.

πŸ¦‹ SYNOPSIS πŸ¦‹

miructl <command>

🌸 DESCRIPTION 🌸

miructl is a small, Wayland-independent client. It connects to the Unix socket created by miru-daemon(1) ($XDG_RUNTIME_DIR/miru.sock) and sends a single command. it's giving "one job, but make it iconic." ✨

ngl bestie, the daemon has to already be running. if it's not, miructl fails with a connection error β€” no socket, no slay. 😭

πŸŽ€ COMMANDS πŸŽ€

  • toggle β€” show or hide the magnifier overlay. on the first toggle, the daemon captures one frame and displays the zoomed view; a second toggle tears it down β€” same as exiting with Esc when the in-overlay help panel is closed. πŸ’–
  • loupe β€” show or hide the magnifier overlay for a specific region. on the first toggle, the daemon captures one frame and lets the user drag a rectangle over the area to be zoomed; a second toggle tears it down β€” same as exiting with Esc when the in-overlay help panel is closed. πŸ¦‹
  • spotlight β€” show the standalone spotlight overlay. it has click-through, but no zooming and no cursor-follow. so specific, so main character. πŸ’…
  • quit β€” ask miru-daemon to shut down. bye bestie πŸ‘‹

⭐ OPTIONS ⭐

  • -h, --help β€” print usage and exit. the classic "help me help you" moment 🫢
  • -v, --version β€” print version information and exit (if supported by your build). check your build, bestie, because this one's conditional πŸ’€

🌈 ENVIRONMENT 🌈

  • XDG_RUNTIME_DIR β€” directory containing miru.sock (required for a normal session). lowkey essential for the socket energy ✨

πŸ“ EXAMPLES πŸ“

# start the daemon (once per session), then:
miructl toggle
miructl quit

🧚 SETTING UP A KEYBIND 🧚

bind a compositor key to miructl toggle/loupe/spotlight (Niri, Hyprland, Sway, Mango, etc.). make sure miru-daemon is already running (e.g. as a systemd user service). it's literally that easy β€” ok maybe not literally if the daemon isn't up, but you get the vibe. 😭

examples and paths: https://codeberg.org/Vaishnav-Sabari-Girish/miru#setting-up-a-keybind

πŸ‘‘ SEE ALSO πŸ‘‘

miru-daemon(1)

πŸ’œ AUTHORS πŸ’œ

maintained by Vaishnav Sabari Girish <vaishnav.sabari.girish@gmail.com>. 🫢

sources:

issues and pull requests: https://codeberg.org/Vaishnav-Sabari-Girish/miru


πŸ’– that's the whole page, bestie β€” Miru, 2026-10-14, MIRUCTL(1), out! πŸ’…βœ¨

πŸ“¦ where this page comes from