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?

  • superfes@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    9 months ago

    This may sound convoluted, but you could create a custom command in Keyboard->Shortcuts (Add New -> Command or Script) that uses ydotool (uses a service) that is basically ydotool type "|>" and then create a shortcut of Ctrl+$ for it.

    Edit: I just tried this, it seems like custom shortcuts aren’t working?

    Sorry, may need to submit a bug report.

    • flyos@jlai.luOP
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      Yeah, I tried this way, but due to the issue with keyboard layout, ydotool does not output |>, but some gibberish instead. I couldn’t reverse-engineer how to make it output a proper |>.

    • not_amm@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      8 months ago

      I second this. I’ve been using it for months, compilation may seem complicated, but you just prepare your environment once and you aren’t bothered again. You can ask for support if you find problems, and you can easily modify and backup your configuration for future uses or just in case :)

    • flyos@jlai.luOP
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      Seems interesting. I’m happy if it works with just as a text replacement. Seems a bit of a pain to install though! 😅

      I’ll have a look in more details tomorrow! Cheers!

  • flyos@jlai.luOP
    link
    fedilink
    arrow-up
    4
    ·
    8 months ago

    @superfes@lemmy.world @Andy@programming.dev @thingsiplay@beehaw.org

    After exploring all solutions, and fighting a few things to build either Hawck or Espanso on openSUSE (I’m not a dev), I finally managed to find instructions to get Espanso to build (it’s all there, fellow desperate random reader of the future). Since you can define the keyboard layout AND the variant of said keyboard you are using with Espanso, it’s working as expected.

    So now, I’ve associated “:$” with “|>”, not sure how well that’ll work in the future, but it’s far easier to type on my keyboard at least… Also, I gained a tool to insert greek symbols and smileys everywhere that I didn’t know I needed, but very quickly adopting! 😅

    Thanks all for your help!

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    9 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.

      • flyos@jlai.luOP
        link
        fedilink
        arrow-up
        2
        ·
        9 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).