OK, so I’m a heavy user of the native pipe in R which goes like this “|>”. This is particularly painful to type on French keyboard, so on Plasma X11, I had a little script using xdotools to input |> when I pressed Ctrl+$. Very comfortable!

With the switch to Plasma 6, I’m now using Wayland because one needs to live with one time, I guess. But this means I lost the ability to use xdotools to do that.

I tried wtype, which seemed easy, but it doesn’t seem to work in Plasma (and is not maintained any more?).

I tried ydotools, which is harder to set up (it requires running a deamon as root, which is not convenient and also defeats the security purpose of Wayland I guess? Maybe not, I’m no expert). The problem with ydotools is that it doesn’t seem to be aware of the keyboard layout, and since my keyboard is French AZERTY, it outputs gibberish instead of, well, |>.

So, here’s my question for you guys: do you know of any other (if possible, easy as wtype is/was) way to setup a string input associated to a shortcut?

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    You could use a clipboard tool to copy something to the clipboard and then paste it in one command. There is such a common tool for Wayland: https://github.com/YaLTeR/wl-clipboard-rs . It’s at least in the official repository in Archlinux. The command could be something like this:

    wl-copy "|>" ; wl-paste

    Off course you would lose the current clipboard content this way. But I guess a script could easily be written to backup and restore clipboard, but not entirely sure how safe it is.

    • flyosOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      Interesting take! Worth a shot!

      • flyosOP
        link
        fedilink
        arrow-up
        2
        ·
        7 months ago

        Hm, I don’t think it works, because as far as I understand, wl-paste is outputting the content of clipboard into stdout, not actually “pasting” the content (or at least, I can’t make it paste something outside of stdout, maybe I’m being thick).