this post was submitted on 09 Apr 2024
28 points (100.0% liked)

Linux

48067 readers
780 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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?

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 7 months ago (2 children)

It's more about replacing typed text than using shortcuts, but there's espanso.

[–] [email protected] 2 points 7 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!

[–] [email protected] 2 points 7 months ago* (last edited 7 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 :)

[–] [email protected] 5 points 7 months ago* (last edited 7 months ago) (1 children)

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.

[–] [email protected] 1 points 7 months ago (1 children)

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 |>.

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago) (1 children)

Maybe this?

https://github.com/xremap/xremap

Edit: I haven't figured it out yet, so still a maybe.

[–] [email protected] 1 points 7 months ago (1 children)

Looks interesting. I'm not entirely sure it can output two keys since it's a remapper, but I'll dig into more details tomorrow, thanks!

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

I also found this, which looks specifically able to do exactly what you want.

https://github.com/snyball/Hawck

But there are some hoops to jump through and I haven't tested it.

(Edit: I just wish Plasma's key bindings worked, perhaps it'll work again soon)

[–] [email protected] 4 points 7 months ago (1 children)

@[email protected] @[email protected] @[email protected]

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!

[–] [email protected] 2 points 7 months ago

Thank you for the final resolution. That's always neat to see. :-)

[–] [email protected] 2 points 7 months ago (1 children)

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.

[–] [email protected] 2 points 7 months ago (1 children)

Interesting take! Worth a shot!

[–] [email protected] 2 points 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).