summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2025-11-25 11:22:43 +0000
committerjao <jao@gnu.org>2025-11-25 11:22:43 +0000
commit3f778cff8bc51710496ccf3b2be250e24572d424 (patch)
tree06373dfa1212767b6ef0649d0f1ff4d2c88791d5
parenta78c2ad2ba4d7c137bbb8e1be69fd1599080f8ec (diff)
downloadelibs-3f778cff8bc51710496ccf3b2be250e24572d424.tar.gz
elibs-3f778cff8bc51710496ccf3b2be250e24572d424.tar.bz2
afio: better definition of default parameters
-rw-r--r--init.el5
-rw-r--r--lib/eos/jao-afio.el14
2 files changed, 13 insertions, 6 deletions
diff --git a/init.el b/init.el
index 9a0029b..eb880c8 100644
--- a/init.el
+++ b/init.el
@@ -1183,8 +1183,9 @@
(global-set-key (kbd "C-c t") #'jao-afio-goto-chats))
(jao-when-darwin
- (add-to-list 'jao-afio-frame-parameters
- '("docs" ((width . 195) (height . 70)))))
+ (jao-afio-add-frame-parameters "docs" (width . 195) (height . 70))
+ (jao-afio-add-frame-parameters nil (width . 163) (height . 70))
+ (add-to-list 'default-frame-alist '(width . 80)))
:bind (("C-c f" . 'jao-afio-goto-main)
("C-c g" . 'jao-afio-goto-mail)
diff --git a/lib/eos/jao-afio.el b/lib/eos/jao-afio.el
index c4445bd..74e1d78 100644
--- a/lib/eos/jao-afio.el
+++ b/lib/eos/jao-afio.el
@@ -34,9 +34,16 @@
(defvar jao-afio--configs '(?c ?w ?g ?p ?s ?t))
(defvar jao-afio--previous-config (car jao-afio--configs))
+(defvar jao-afio--config-names
+ '((?c . "main") (?s . "scratch") (?g . "mail")
+ (?p . "docs") (?w . "web") (?t . "chats")))
(define-multisession-variable jao-afio-configurations nil)
+(defmacro jao-afio-add-frame-parameters (name &rest params)
+ `(add-to-list 'jao-afio-frame-parameters
+ '(,(if name (format "%s" name) 'def) ,params)))
+
(defun jao-afio--current-wc ()
(window-state-get (frame-root-window) t))
@@ -61,7 +68,8 @@
(when jao-afio-use-frames
(let ((fn (jao-afio-frame-name cfg)))
(set-frame-name fn)
- (when-let* ((params (cadr (assoc fn jao-afio-frame-parameters))))
+ (when-let* ((params (cadr (or (assoc fn jao-afio-frame-parameters)
+ (assoc 'def jao-afio-frame-parameters)))))
(modify-frame-parameters nil params)))))
(defun jao-afio--init (&optional f)
@@ -205,9 +213,7 @@
(seq-find (lambda (f) (eq (jao-afio--current-config nil f) c)) (frame-list)))
(defun jao-afio-frame-name (&optional c)
- (alist-get (or c (jao-afio--current-config))
- '((?c . "main") (?s . "scratch") (?g . "mail")
- (?p . "docs") (?w . "web") (?t . "chats"))))
+ (alist-get (or c (jao-afio--current-config)) jao-afio--config-names))
(defun jao-afio-frame-no (&optional c)
(alist-get (or c (jao-afio--current-config))