summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2025-09-22 13:14:06 +0100
committerjao <jao@gnu.org>2025-09-22 13:14:06 +0100
commitb1434dd1cbbf923385e4eef6ed288225e5280037 (patch)
tree422e036612a4f08c05421d49d59d99ae9fd5ad43
parentf111725d0543c491e694b40de1825d8535c1e1f4 (diff)
downloadelibs-b1434dd1cbbf923385e4eef6ed288225e5280037.tar.gz
elibs-b1434dd1cbbf923385e4eef6ed288225e5280037.tar.bz2
jao-doc-session: easier spec of saved docs
-rw-r--r--init.el4
-rw-r--r--lib/doc/jao-doc-session.el21
-rw-r--r--lib/eos/jao-afio.el11
3 files changed, 20 insertions, 16 deletions
diff --git a/init.el b/init.el
index 2153689..b7d41f4 100644
--- a/init.el
+++ b/init.el
@@ -508,7 +508,7 @@
(minibuffer-electric-default-mode 1)
(jao-d-l
- (jao-minibuffer-frame-title-mode)
+ (jao-minibuffer-mode-line-mode)
(jao-minibuffer-mode))
;;; Mode line
@@ -1159,6 +1159,8 @@
'face 'font-lock-warning-face))
(jao-minibuffer-add-variable '(jao-current--frame-id) 100)
+ (setq frame-title-format '("emacs - " (:eval (jao-afio-frame-name))))
+
(jao-when-linux
(global-set-key (kbd "C-c t") #'jao-afio-goto-chats))
diff --git a/lib/doc/jao-doc-session.el b/lib/doc/jao-doc-session.el
index 877a8cb..b54a942 100644
--- a/lib/doc/jao-doc-session.el
+++ b/lib/doc/jao-doc-session.el
@@ -1,6 +1,6 @@
;;; jao-doc-session.el --- persistent document sessions -*- lexical-binding: t; -*-
-;; Copyright (C) 2022, 2024 jao
+;; Copyright (C) 2022, 2024, 2025 jao
;; Author: jao <mail@jao.io>
;; Keywords: docs
@@ -22,11 +22,14 @@
(persist-defvar jao-doc-session nil "Documents session")
-(defvar-local jao-doc-session--is-doc nil)
+(defvar-local jao-doc-session-is-doc nil
+ "Setting this variable as t in a buffer will mark it as belonging to a session.
+
+See also `jao-doc-session-mark'.")
(defun jao-doc-session-is-doc (&optional buffer)
"Check whether the given or current buffer belong to the doc session."
- (buffer-local-value 'jao-doc-session--is-doc (or buffer (current-buffer))))
+ (buffer-local-value 'jao-doc-session-is-doc (or buffer (current-buffer))))
(defun jao-doc-session (&optional file) jao-doc-session)
@@ -36,24 +39,24 @@
(let ((docs '())
(cb (and skip-current (current-buffer))))
(dolist (b (buffer-list))
- (when-let (fs (and (not (eq cb b)) (jao-doc-session-is-doc b)))
+ (when-let* ((fs (and (not (eq cb b)) (jao-doc-session-is-doc b)))
+ (fs (if (listp fs) fs (list (buffer-file-name b)))))
(dolist (f fs) (add-to-list 'docs f))))
(when (or force (> (length docs) 0))
(setq jao-doc-session docs))))
(defun jao-doc-session-mark (&optional path)
"Mark the current buffer's file, or PATH, as persistent across sessions."
- (unless (listp jao-doc-session--is-doc)
- (setq jao-doc-session--is-doc (ensure-list jao-doc-session--is-doc)))
- (cl-pushnew (or path (buffer-file-name)) jao-doc-session--is-doc)
+ (unless (listp jao-doc-session-is-doc)
+ (setq jao-doc-session-is-doc (ensure-list jao-doc-session-is-doc)))
+ (cl-pushnew (or path (buffer-file-name)) jao-doc-session-is-doc)
(jao-doc-session-save))
(defun jao-doc-session--maybe-save ()
(when (jao-doc-session-is-doc) (jao-doc-session-save t)))
-(defvar jao-doc-session-inhibit-save nil)
-
(add-hook 'kill-buffer-hook #'jao-doc-session--maybe-save)
+(add-hook 'kill-emacs-hook #'jao-doc-session-save)
(provide 'jao-doc-session)
;;; jao-doc-session.el ends here
diff --git a/lib/eos/jao-afio.el b/lib/eos/jao-afio.el
index 4506bd8..0a6d8e6 100644
--- a/lib/eos/jao-afio.el
+++ b/lib/eos/jao-afio.el
@@ -71,12 +71,11 @@
;;;###autoload
(defun jao-afio-open-pdf-session (&optional docs)
(interactive)
- (let ((jao-doc-session-inhibit-save t))
- (dolist (doc (or docs (jao-doc-session)))
- (when (and doc (file-exists-p doc))
- (if (jao-pdf-is-pdf-file doc) (jao-open-doc doc) (find-file doc))
- (other-window 1)))
- (other-window 1)))
+ (dolist (doc (or docs (jao-doc-session)))
+ (when (and doc (file-exists-p doc))
+ (if (jao-pdf-is-pdf-file doc) (jao-open-doc doc) (find-file doc))
+ (other-window 1)))
+ (other-window 1))
(defun jao-afio-open-doc ()
(interactive)