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

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

[nongnu] elpa/eat 978aff9166 2/3: Implement terminal parameters


From: ELPA Syncer
Subject: [nongnu] elpa/eat 978aff9166 2/3: Implement terminal parameters
Date: Fri, 9 Dec 2022 15:58:44 -0500 (EST)

branch: elpa/eat
commit 978aff91668499354372d5088607c73d3cc080b2
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>

    Implement terminal parameters
    
    * eat.el (eat--t-term): New slot: 'params'.
    * eat.el (eat-term-parameter): New function and generalized
    variable.
    * eat.el (eat-set-term-parameter): New function.
---
 eat.el | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/eat.el b/eat.el
index 1a4d1e0d17..d76f7414e7 100644
--- a/eat.el
+++ b/eat.el
@@ -831,7 +831,8 @@ Nil when not in alternative display mode.")
   (focus-event-mode nil :documentation "Whether to send focus event.")
   (cut-buffers
    (1value (make-vector 10 nil))
-   :documentation "Cut buffers."))
+   :documentation "Cut buffers.")
+  (params nil :documentation "Hash table of terminal parameters."))
 
 (defvar eat--t-term nil
   "The current terminal.
@@ -3157,6 +3158,20 @@ DATA is the selection data encoded in base64."
     (eat--t-with-env terminal
       (eat--t-reset))))
 
+(defun eat-term-parameter (terminal parameter)
+  "Return the value of parameter PARAMETER of TERMINAL."
+  (cdr (assq parameter (eat--t-term-params terminal))))
+
+(defun eat-term-set-parameter (terminal parameter value)
+  "Set the value of parameter PARAMETER of TERMINAL to VALUE."
+  (let ((pair (assq parameter (eat--t-term-params terminal))))
+    (if pair
+        (setcdr pair value)
+      (push (cons parameter value) (eat--t-term-params terminal)))))
+
+(gv-define-setter eat-term-parameter (value terminal parameter)
+  `(eat-term-set-parameter ,terminal ,parameter ,value))
+
 (defun eat-term-input-function (terminal)
   "Return the function used to send input from TERMINAL.
 



reply via email to

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