How to toggle or turn off text selection being sent to the clipboard
I was messing around and accidentally enabled the Synchronize contents of the clipboard and the selection option in KDE Plasma's Clipboard application. Un-checking this solved a similar problem for me.
First a misconception:
any selected text is immediately sent to the clipboard
Actually text is never "sent" anywhere until it is requested by a receiving application. When you select text, the application only claims the selection, which means basically that it raises a flag to say that from now on it owns it.
Now on to your question:
In X11 there can be multiple selections. 2 of them have well-known names and are standardized. They are called PRIMARY and CLIPBOARD. Their respective conventional behaviors are as follows:
- PRIMARY
- Applications claim PRIMARY when text is selected
- Applications request PRIMARY from the owning application and paste its contents on middle click.
- CLIPBOARD
- Applications claim CLIPBOARD when an explicit command is given, typically Ctrl-c.
- Applications request CLIPBOARD from the owning application and paste its contents when an explicit command is given, typically Ctrl-v.
- There might be additional rules I'm unsure about, like if no application owns CLIPBOARD but some application owns PRIMARY, paste primary instead upon Ctrl-v.
It seems like CLIPBOARD already does what you need. You can ignore PRIMARY if you want (but note that some older applications like xterm
may only support PRIMARY). Personally I do the opposite: I ignore CLIPBOARD and use only PRIMARY. I guess that's just the way I learned to use X11, I wasn't even aware that there was CLIPBOARD at first. But in order to mitigate the problem you describe, I often wish there was a pushable & poppable stack of PRIMARY selections, so I could "pop" to the previous selection after clobbering it with a different one.
In response to your explicit question about whether the PRIMARY behaviour can be disabled, I think that would be quite difficult. The most straightforward way would be to individually disable it in each application (or toolkits which the applications use) which is surely not feasible. I suppose a kind of "X11 firewall" which blocks requests to claim PRIMARY could be constructed, but I don't think that would really buy you anything more than you can already get by ignoring PRIMARY and using CLIPBOARD only.
More information: What's the difference between Primary Selection and Clipboard Buffer?
For all Gnome applications the Middle Click Paste can be disabled from Gnome-Tweaks/Keyboard & Mouse/Middle Click Paste (which toggles the gtk-enable-primary-paste Gnome option).
A solution working for the whole X and not disabling completely the middle click (e.g. for closing tabs in the browser) is XMousePasteBlock which should be run by the user, it is also packaged for Arch in AUR.