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

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

[nongnu] elpa/subed 80a5d27185 4/6: Merge pull request #72 from rndusr/f


From: ELPA Syncer
Subject: [nongnu] elpa/subed 80a5d27185 4/6: Merge pull request #72 from rndusr/fix/terminal-focus-events
Date: Fri, 5 Jul 2024 10:00:55 -0400 (EDT)

branch: elpa/subed
commit 80a5d27185aabe23291427430ac6cd45d4f2efbb
Merge: d1e375213d f5d8ebf28d
Author: Sacha Chua <sacha@sachachua.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #72 from rndusr/fix/terminal-focus-events
    
    Fix "I"/"O" insertion on focus events when Emacs runs in terminal
---
 README.org     |  7 ++++---
 subed/subed.el | 14 ++++++++++++--
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/README.org b/README.org
index 28525cecf2..dc0ab1fa8b 100644
--- a/README.org
+++ b/README.org
@@ -34,9 +34,10 @@ formats are:
   many subtitles to insert and whether they are inserted before or after the
   current subtitle.
 - Kill subtitles (~M-k~).
-- Adjust subtitle start (~M-[~ / ~M-]~) and stop (~M-{~ / ~M-}~) time.  A
-  prefix argument sets the number of milliseconds for the current session
-  (e.g. ~C-u 1000 M-[ M-[ M-[~ decreases start time by 3 seconds).
+- Adjust subtitle start (~M-[~ / ~M-]~ or ~C-M-[~ / ~C-M-]~ if Emacs lives in a
+  terminal) and stop (~M-{~ / ~M-}~) time.  A prefix argument sets the number 
of
+  milliseconds for the current session (e.g. ~C-u 1000 M-[ M-[ M-[~ decreases
+  start time by 3 seconds).
 - Move the current subtitle or all marked subtitles
   (~subed-move-subtitles~) forward (~C-M-n~) or backward (~C-M-p~) in
   time without changing subtitle duration.  A prefix argument sets the
diff --git a/subed/subed.el b/subed/subed.el
index b4b1d8b81c..11c83a54ff 100644
--- a/subed/subed.el
+++ b/subed/subed.el
@@ -52,8 +52,18 @@
     (define-key subed-mode-map (kbd "M-p") #'subed-backward-subtitle-text)
     (define-key subed-mode-map (kbd "C-M-a") #'subed-jump-to-subtitle-text)
     (define-key subed-mode-map (kbd "C-M-e") #'subed-jump-to-subtitle-end)
-    (define-key subed-mode-map (kbd "M-[") #'subed-decrease-start-time)
-    (define-key subed-mode-map (kbd "M-]") #'subed-increase-start-time)
+    ;; Binding M-[ when Emacs runs in a terminal emulator inserts "O" and "I"
+    ;; every time the terminal window looses/gains focus.
+    ;; https://emacs.stackexchange.com/questions/48738
+    ;; 
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-FocusIn_FocusOut
+    ;; 
https://www.gnu.org/software/emacs/manual/html_node/elisp/Input-Focus.html
+    (if (display-graphic-p)
+        (progn
+          (define-key subed-mode-map (kbd "M-[") #'subed-decrease-start-time)
+          (define-key subed-mode-map (kbd "M-]") #'subed-increase-start-time))
+      (progn
+        (define-key subed-mode-map (kbd "C-M-[") #'subed-decrease-start-time)
+        (define-key subed-mode-map (kbd "C-M-]") #'subed-increase-start-time)))
     (define-key subed-mode-map (kbd "M-{") #'subed-decrease-stop-time)
     (define-key subed-mode-map (kbd "M-}") #'subed-increase-stop-time)
     (define-key subed-mode-map (kbd "C-M-n") #'subed-move-subtitle-forward)



reply via email to

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