[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/xclip 9407231 12/18: * packages/xclip/xclip.el: Add ten
From: |
Stefan Monnier |
Subject: |
[elpa] externals/xclip 9407231 12/18: * packages/xclip/xclip.el: Add tentative support for wl-clipboard |
Date: |
Sat, 28 Nov 2020 14:27:56 -0500 (EST) |
branch: externals/xclip
commit 9407231981f6762fd4707423d19962db3cd60d27
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* packages/xclip/xclip.el: Add tentative support for wl-clipboard
(xclip-method): New possible value.
(xclip-set-selection, xclip-get-selection): Handle it.
---
xclip.el | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/xclip.el b/xclip.el
index 6302ff9..2c7be8c 100644
--- a/xclip.el
+++ b/xclip.el
@@ -74,6 +74,7 @@ If non-nil `xclip-program' is ignored.")
(and (eq system-type 'cygwin) (executable-find "getclip") 'getclip)
(and (executable-find "xclip") 'xclip)
(and (executable-find "xsel") 'xsel)
+ (and (executable-find "wl-copy") 'wl-copy) ;github.com/bugaevc/wl-clipboard
(and (fboundp 'x-create-frame) (getenv "DISPLAY") 'emacs)
'xclip)
"Method to use to access the GUI's clipboard.
@@ -84,6 +85,7 @@ and `getclip' under Cygwin, or `emacs' to use Emacs's GUI
code for that."
(const :tag "Cygwin: getclip/putclip" getclip)
(const :tag "X11: xclip" xclip)
(const :tag "X11: xsel" xsel)
+ (const :tag "Wayland: wl-copy" wl-copy)
(const :tag "X11: Emacs" emacs)))
(defcustom xclip-program (symbol-name xclip-method)
@@ -128,6 +130,12 @@ See also `x-set-selection'."
(start-process
"xsel" nil xclip-program
"-i" (concat "--" (downcase (symbol-name type))))))
+ (`wl-copy
+ (when (and (getenv "WAYLAND_DISPLAY")
+ (memq type '(clipboard CLIPBOARD primary PRIMARY)))
+ (apply #'start-process
+ "wl-copy" nil xclip-program
+ (if (memq type '(primary PRIMARY)) '("-p")))))
(method (error "Unknown `xclip-method': %S" method)))))
(when proc
(process-send-string proc data)
@@ -160,6 +168,14 @@ See also `x-set-selection'."
secondary SECONDARY)))
(call-process xclip-program nil standard-output nil
"-o" (concat "--" (downcase (symbol-name type))))))
+ (`wl-copy
+ (when (and (getenv "WAYLAND_DISPLAY")
+ (memq type '(clipboard CLIPBOARD primary PRIMARY)))
+ (apply #'call-process
+ (replace-regexp-in-string "\\(.*\\)copy" "\\1paste"
+ xclip-program 'fixedcase)
+ nil standard-output nil
+ (if (memq type '(primary PRIMARY)) '("-p")))))
(method (error "Unknown `xclip-method': %S" method))))))
;;;###autoload
- [elpa] externals/xclip 145cdb7 06/18: * xclip/xclip.el: Use gui-backend-*-selection in Emacs≥25, (continued)
- [elpa] externals/xclip 145cdb7 06/18: * xclip/xclip.el: Use gui-backend-*-selection in Emacs≥25, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 1c536bb 05/18: * xclip.el: Fix last change, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 6d62531 10/18: * xclip/xclip.el: Add new `emacs` method, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip ad395be 08/18: * xclip/xclip.el: Fix bug#33399, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 7b7b6d2 13/18: xclip.el: Add support for termux-clipboard-get/set, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 0029bde 16/18: * packages/xclip/xclip.el: Fix it when loaded before term/xterm.el, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 0118d7a 18/18: * .gitignore: New file, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 89e061e 14/18: * packages/xclip/xclip.el: Tweak last patch, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip a5e0330 02/18: * xclip.el: Better follow conventions., Stefan Monnier, 2020/11/28
- [elpa] externals/xclip ef584a0 11/18: * xclip/xclip.el: Don't use remote processes to get selection, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 9407231 12/18: * packages/xclip/xclip.el: Add tentative support for wl-clipboard,
Stefan Monnier <=
- [elpa] externals/xclip 9ced2ac 17/18: * packages/xclip/xclip.el: Add tentative WSL support, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip f7b69fa 07/18: * xclip/xclip.el: Add support for `xsel` and Cygwin's `getclip`, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip aed39ef 09/18: * xclip/xclip.el: Make it work again on Emacs<25, Stefan Monnier, 2020/11/28
- [elpa] externals/xclip 84b363d 15/18: * xclip.el (xclip-get-selection): Tell wl-paste not to add a newline, Stefan Monnier, 2020/11/28