diff options
-rw-r--r-- | init.el | 4 | ||||
-rw-r--r-- | lib/doc/jao-doc-session.el | 21 | ||||
-rw-r--r-- | lib/eos/jao-afio.el | 11 |
3 files changed, 20 insertions, 16 deletions
@@ -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) |