pinwheel: Copy to clipboard via OSC 52 in Emacs so it works over SSH
This commit is contained in:
2 files changed
+19
-2
No files matched your search
@@ -86,8 +86,24 @@
|
|||||||
* Setup
|
* Setup
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Use wl-clipboard for interprocess copy/paste
|
** Use wl-clipboard and OSC 52 for interprocess copy/paste
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(setq kill-do-not-save-duplicates t)
|
||||||
|
|
||||||
|
(defun alex/osc52-copy (text)
|
||||||
|
(unless (display-graphic-p)
|
||||||
|
(send-string-to-terminal
|
||||||
|
(concat "\e]52;c;"
|
||||||
|
(base64-encode-string (encode-coding-string text 'utf-8) t)
|
||||||
|
"\a"))))
|
||||||
|
|
||||||
|
(defun alex/clipboard-copy (text)
|
||||||
|
(alex/osc52-copy text)
|
||||||
|
(when (fboundp 'wl-copy)
|
||||||
|
(wl-copy text)))
|
||||||
|
|
||||||
|
(setq interprogram-cut-function 'alex/clipboard-copy)
|
||||||
|
|
||||||
(setq wl-copy-process nil)
|
(setq wl-copy-process nil)
|
||||||
(when (string-prefix-p "wayland" (getenv "WAYLAND_DISPLAY"))
|
(when (string-prefix-p "wayland" (getenv "WAYLAND_DISPLAY"))
|
||||||
(defun wl-copy (text)
|
(defun wl-copy (text)
|
||||||
@@ -103,7 +119,6 @@
|
|||||||
nil ; should return nil if we're the current paste owner
|
nil ; should return nil if we're the current paste owner
|
||||||
(shell-command-to-string "wl-paste -n | tr -d \r")))
|
(shell-command-to-string "wl-paste -n | tr -d \r")))
|
||||||
|
|
||||||
(setq interprogram-cut-function 'wl-copy)
|
|
||||||
(setq interprogram-paste-function 'wl-paste))
|
(setq interprogram-paste-function 'wl-paste))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** Don't create backup files, don't create #autosave# files
|
** Don't create backup files, don't create #autosave# files
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
set-option -g allow-rename off
|
set-option -g allow-rename off
|
||||||
|
|
||||||
|
set -g set-clipboard on
|
||||||
|
|
||||||
# Status line colors
|
# Status line colors
|
||||||
set -g status-fg '#${config.lib.colors.foreground}'
|
set -g status-fg '#${config.lib.colors.foreground}'
|
||||||
set -g status-bg '#${config.lib.colors.background}'
|
set -g status-bg '#${config.lib.colors.background}'
|
||||||
|
|||||||
Reference in new issue
Block a user