X11
合併主要和剪貼板 X 選擇
如果沒有兩個不同的選擇(主要和剪貼板),那麼它將完全按照我的意願工作。這將如何工作是:
- 如果有任何東西想將文本放在主要或剪貼板上,則文本會放在兩者上。
- 當從主機板或剪貼板讀取任何內容時,每次都會讀取相同的文本,這要歸功於#1。
這可能嗎?
帶有Clipnotify的 Shell 腳本
這是一個程序,只要 X 選擇更改,它就會簡單地退出。所以把它放在一個while循環中,當它退出時,確定剪貼板或主要是否發生了變化,並將改變的選擇的內容填充到另一個選擇中。
get_selections_keep_newline() { c2=$(xsel -o --clipboard; printf x) c2=${c2%x} p2=$(xsel -o --primary ; printf x) p2=${p2%x} } get_selections_keep_newline while clipnotify; do c1=$c2 p1=$p2 get_selections_keep_newline if [ "$c1" != "$c2" ]; then printf '%s' "$c2" | xsel -i --primary elif [ "$p1" != "$p2" ]; then printf '%s' "$p2" | xsel -i --clipboard fi done
將其另存為
mergexsel
,使其可執行並執行。該函式包含一個 kludge 來保留尾隨換行符 (
abc\n
不同於abc
);除了腳本是不言自明的。自動切割
它必須為主要和剪貼板執行(如超級使用者上的這個答案所示)。
autocutsel -s CLIPBOARD & autocutsel -s PRIMARY &
Diodon,一個 GUI 剪貼板管理器
讓它在後台執行
diodon &
。點擊托盤圖示或發出另一個diodon
命令以彈出其 GUI 菜單,其中包含剪貼板內容的歷史記錄和“首選項”項。選擇“首選項”,然後在打開的視窗中,檢查項目
- 使用剪貼板 (Ctrl+C)
- 使用主要選擇
- 同步剪貼板
進一步閱讀:剪貼板——用於上下文和更多剪貼板管理器的Arch Wiki 。