• dion_starfire@lemm.ee
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    3
    ·
    8 months ago

    I have a small script to toggle the visibility of a window when I press a hotkey. Press once, it launches the app if it’s not running, or unhides and raises the window if it is. Press again, it hides the window.

    My distro recently switched KDE to Plasma 6 on Wayland, and of course the script stopped working. Researched how to make a Wayland equivalent. You can’t. It’s literally impossible to hide (or even minimize) windows from the command line.

    • Kogasa@programming.dev
      link
      fedilink
      arrow-up
      12
      arrow-down
      1
      ·
      edit-2
      8 months ago

      The compositor will have to implement a CLI. Sway has an IPC socket and CLI just like i3 and I can use this to hide windows.

    • palordrolap@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      Untested partial solution that you may already have tried:

      1. In the window manager’s keyboard settings, create keybinds for raising and lowering windows.

      2. Create a script that uses dotool, a third party tool which can send keyboard events and mouse movements, to call the previously configured keybinds.

      3. Missing bit: Figuring out whether the window is raised or lowered to know which keybind to send.

      The author of dotool says that they wrote it because ydotool (the alleged successor to xdotool, I assume), needs root and a background daemon. That said, the linked page seems to indicate that dotool also needs some permissions.

      I’m not affiliated with either.