this post was submitted on 19 Nov 2024
48 points (100.0% liked)

Linux

48372 readers
1471 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
 

This is one of the features I miss on Windows (https://github.com/Collective-Software/ClickPaste), I was wondering if there was an alternative to this for Linux?

Essentially instead of pasting all the text from your clipboard, it will type out the contents as though the letters were typed on the keyboard. One by one. This allowed me to "paste" into VMs and other places that I normally couldn't.

The ol' google gave me nothing but "How to paste into terminal" posts which is not what I want.

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 30 points 1 week ago* (last edited 1 week ago) (1 children)
xclip -o -selection clipboard | xdotool keyup Super_L type --delay 100 --clearmodifiers --file -

I use the code above with Win + T in KDE shortcuts to type the content from the clipboard.

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

Works awesome! Thanks for introducing me to xdotool, what a helpful utility. Question: what does the --file flag in your command do? I can't find it in the manpage

[–] [email protected] 4 points 1 week ago

xdotool type --help

--file - specify a file, the contents of which will be be typed as if passed as an argument. The filepath may also be '-' to read from stdin.

[–] [email protected] 20 points 1 week ago* (last edited 1 week ago)

https://man.archlinux.org/man/extra/xdotool/xdotool.1.en

https://man.archlinux.org/man/extra/wtype/wtype.1.en

Pipe your clipboard contents through either of those depending on your windowing system. I'd recommend putting that in a script and binding it to a keyboard shortcut.

[–] [email protected] 17 points 1 week ago (3 children)

I'm on Wayland these days, but if you happen to be using X11 this is the homebrew solution I used to use:

xdotool type --delay 50 "$(xclip -o -sel c)"

The --delay argument specifies the delay in milliseconds between keystrokes; if you go too low on that it tends to break things.

Interested to see what solrize comes up with because this method definitely has drawbacks -- no way to interrupt it and if you accidentally paste something large it takes a long time to finish due to the forced delays.

I've never really had the need for a Wayland version, but I don't see why subbing ydotool for xdotool and wl-paste for xclip wouldn't work.

[–] [email protected] 2 points 1 week ago

If you pasted something long, you could possible switch to a terminal (ctrl+alt+f2 or something), and kill the process.
Or you could grab another machine, and ssh into yours to kill the process.

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago)

ydotool has lots of caveats because of wayland; your other examples work better imo.

[–] [email protected] 1 points 1 week ago

Good solution, cheers! I also followed the other commenter's idea to add it as a KDE shortcut so I can use it on demand.

I guess I'll just need to be careful not to paste a bazillion lines of text lol

[–] [email protected] 4 points 1 week ago* (last edited 1 week ago)

Espanso can do way more than just that, but it has a clipboard backend that you can use.

[–] [email protected] 3 points 1 week ago

You have to post X events for the keystrokes. I may have some code around that does something similar, lemme look.

[–] [email protected] 2 points 1 week ago

I work around this by enabling rdp or ssh on guests as soon as possible and connect from my terminal for ssh, I use remmina for rdp, paste works there.

I don't know other situations where I would need this.

[–] [email protected] 0 points 1 week ago

If you want to paste into VMs, you can use spice, or if there's no graphical environment in the VM then SSH into it and paste into your terminal

[–] [email protected] -1 points 1 week ago

Interesting case for a KWin plugin/addon