emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm ce2625d 1/8: Run hook upon input mode change


From: Chris Feng
Subject: [elpa] externals/exwm ce2625d 1/8: Run hook upon input mode change
Date: Sun, 10 May 2020 09:38:25 -0400 (EDT)

branch: externals/exwm
commit ce2625d050b1a4aa5815dc488880b85d0270d743
Author: Adrián Medraño Calvo <address@hidden>
Commit: Adrián Medraño Calvo <address@hidden>

    Run hook upon input mode change
    
        * exwm-input.el (exwm-input-input-mode-change-hook): Add new hook
        for code to run upon input mode change.
        (exwm-input--grab-keyboard, exwm-input--release-keyboard): Run it.
---
 exwm-input.el | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/exwm-input.el b/exwm-input.el
index 9ba3502..2d78407 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -145,6 +145,10 @@ This value should always be overwritten.")
 (defvar exwm-input--event-hook nil
   "Hook to run when EXWM receives an event.")
 
+(defvar exwm-input-input-mode-change-hook nil
+  "Hook to run when an input mode changes on an `exwm-mode' buffer.
+Current buffer will be the `exwm-mode' buffer when this hook runs.")
+
 (defvar exwm-workspace--current)
 (declare-function exwm-floating--do-moveresize "exwm-floating.el"
                   (data _synthetic))
@@ -793,7 +797,8 @@ button event."
     (let ((buffer (exwm--id->buffer id)))
       (when buffer
         (with-current-buffer buffer
-          (setq exwm--input-mode 'line-mode))))))
+          (setq exwm--input-mode 'line-mode)
+          (run-hooks 'exwm-input-input-mode-change-hook))))))
 
 (defun exwm-input--release-keyboard (&optional id)
   "Ungrab all key events on window ID."
@@ -810,7 +815,8 @@ button event."
     (let ((buffer (exwm--id->buffer id)))
       (when buffer
         (with-current-buffer buffer
-          (setq exwm--input-mode 'char-mode))))))
+          (setq exwm--input-mode 'char-mode)
+          (run-hooks 'exwm-input-input-mode-change-hook))))))
 
 ;;;###autoload
 (defun exwm-input-grab-keyboard (&optional id)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]