• lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    8
    ·
    3 months ago

    Or try using any form of desktop automation… which is a show-stopper and it doesn’t look like Wayland plans to do anything about it any time soon.

    • Metz@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      edit-2
      3 months ago

      I don’t see how this is a Wayland problem. X11 has no desktop automation integrated either. You had to use third party tools for that like Autokey. And admittedly, there is still no comparable replacement for Wayland as far i know (maybe KDE scripts? https://develop.kde.org/docs/plasma/kwin/api/ or https://github.com/ReimuNotMoe/ydotool ?). But that is because nobody has fully build one yet, not because some inherent absence of necessary wayland functions.

      • lemmyvore@feddit.nl
        link
        fedilink
        English
        arrow-up
        12
        ·
        3 months ago

        It actually is because of Wayland design. In their quest for “security” they’ve made it impossible for automation and accesibility tools to do their job.

        It’s a glaring omission in Wayland going forward, for zero gain. Most of the touted Wayland security advantages are hogwash.

        • thedeadwalking4242@lemmy.world
          link
          fedilink
          arrow-up
          7
          ·
          3 months ago

          I mean if it’s goal was to prevent scripts from using the graphics env maliciously then it seems to have made some progress if you can’t even automate it with good intentions

          • lemmyvore@feddit.nl
            link
            fedilink
            English
            arrow-up
            3
            ·
            3 months ago

            We need to keep a balance between security and convenience, to avoid systems becoming too awkward to use. Wayland tipped this balance too far on the side of security. Malicious local exploitation of the graphics stack has never been a big issue; consider the fact that someone or something would need to compromise your own account locally, at which point they could do much worse things than moving your windows around. It’s not that the security threat doesn’t exist, it’s that Wayland has approached it at the wrong end and killed a lot of useful functionality in the process.

            Also consider that this issue has existed for the entire history of desktop graphics on *nix and nobody has ever deemed it worth to destroy automation for it. If it were such a grave security hole surely someone would have raised the alarm and fixed it during all this time.

            My opinion is that Wayland has been using this as a red herring, to bolster its value proposition.

            • winterayars@sh.itjust.works
              link
              fedilink
              arrow-up
              1
              ·
              3 months ago

              Technically i think the worst they could do would be to record your screen. (Barring some extra fancy exploits or something.)

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      3 months ago

      Yup, or even a simple notify-send. Trying to work out which environment variables are needed to get the damn thing to focus on the window in question which may or may not be an X11 window within Wayland. The magic formula I’ve learned so far:

      DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -i)/bus" \
      XDG_RUNTIME_DIR=/run/user/$(id -u) \ 
      XAUTH=$(ps aux | grep "/usr/bin/Xwayland :0 -auth" \
             | grep -v grep | sed -r 's|.*-auth ([^ ]*).*$|\1|') \
      DISPLAY=:0 \
      XAUTHORITY=$XAUTH  <finally your command here>
      

      (oh and sometimes you might need to preface that all with a sudo, oh and there’s no guarantee that the Display is at :0, even if no other display is in use). Eaaazyyy peaaaazyyy

      I will say that wtype is the one wayland automation tool that does not need any preamble. It just works out of the box, genuinely good engineering by the developers on that project.