[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/gpastel 9362fee 15/15: Add a global minor mode (idea fr
From: |
Stefan Monnier |
Subject: |
[elpa] externals/gpastel 9362fee 15/15: Add a global minor mode (idea from Stefan Monnier) |
Date: |
Wed, 19 Dec 2018 12:31:39 -0500 (EST) |
branch: externals/gpastel
commit 9362fee65c7a5f14d178353cc5ca9ce74de6e2f3
Author: Damien Cassou <address@hidden>
Commit: Damien Cassou <address@hidden>
Add a global minor mode (idea from Stefan Monnier)
---
README.org | 4 ++--
gpastel.el | 19 +++++++++++++++++++
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/README.org b/README.org
index a53bd7e..02d6f39 100644
--- a/README.org
+++ b/README.org
@@ -48,11 +48,11 @@ Add the following to your initialization file:
#+END_SRC
You also have to tell gpastel to start listening for GPaste events. If
-you are using EXWM, add ~gpastel-start-listening~ to
+you are using EXWM, add ~gpastel-mode~ to
~exwm-init-hook~. Otherwise, just add this line to your initialization file:
#+BEGIN_SRC emacs-lisp
- (gpastel-start-listening)
+ (gpastel-mode)
#+END_SRC
** Usage
diff --git a/gpastel.el b/gpastel.el
index c67cc8b..4381c35 100644
--- a/gpastel.el
+++ b/gpastel.el
@@ -138,5 +138,24 @@ all text in the GPaste clipboard."
(setq gpastel--dbus-object
(gpastel-dbus-call #'dbus-register-signal "Update"
#'gpastel--update-handler))))
+(defun gpastel-stop-listening ()
+ "Stop listening for GPaste events."
+ (interactive)
+ (when (dbus-unregister-object gpastel--dbus-object)
+ (setq gpastel--dbus-object nil)
+ (setq save-interprogram-paste-before-kill
gpastel--save-interprogram-paste-before-kill-orig)
+ (advice-remove interprogram-paste-function #'ignore)))
+
+;;;###autoload
+(define-minor-mode gpastel-mode
+ "Listen to GPaste events."
+ :group 'gpastel
+ :global t
+ :init-value nil
+ :require 'gpastel
+ (if gpastel-mode
+ (gpastel-start-listening)
+ (gpastel-stop-listening)))
+
(provide 'gpastel)
;;; gpastel.el ends here
- [elpa] externals/gpastel 863065e 03/15: Add link to EXWM, (continued)
- [elpa] externals/gpastel 863065e 03/15: Add link to EXWM, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel f4046a5 05/15: Check compatibility with Emacs 24., Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel 45f1798 11/15: Fix typo (thanks to Stefan Monnier for noticing), Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel bf79d2e 06/15: Release 0.2.0, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel ae11a0a 10/15: Update snippet in README to force the focus, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel fbccc7c 13/15: Use an override advice instead of replacing the variable's value, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel 927d344 07/15: Make interprogram-paste-function an empty lambda instead of nil, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel 21b7d79 09/15: Release 0.3.0, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel 4f80b88 08/15: Add EXWM-related snippets to README, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel 7bcdfdc 04/15: Explain EXWM binding a bit more., Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel 9362fee 15/15: Add a global minor mode (idea from Stefan Monnier),
Stefan Monnier <=
- [elpa] externals/gpastel c9e02e2 02/15: Initial version, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel fce251b 12/15: Upgrade Emacs requirement to at least 24.4, Stefan Monnier, 2018/12/19
- [elpa] externals/gpastel b2aab71 14/15: Save former value of a variable modified by gpastel-start-listening, Stefan Monnier, 2018/12/19