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.
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.
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
xdotool type --help
–file <filepath> - 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.
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.
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
forxdotool
andwl-paste
forxclip
wouldn’t work.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
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.ydotool has lots of limitations because of wayland; your other examples work better imo.
Espanso can do way more than just that, but it has a clipboard backend that you can use.
You have to post X events for the keystrokes. I may have some code around that does something similar, lemme look.
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.
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
Interesting case for a KWin plugin/addon