From 2a7e8c00d8a9fb3c4eb29c19a35ab98943c1f142 Mon Sep 17 00:00:00 2001 From: jao Date: Thu, 22 Apr 2021 05:23:02 +0100 Subject: eww: choosing a better next buffer when closing current page --- eww.org | 6 +++--- lib/net/jao-eww-session.el | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/eww.org b/eww.org index 0e9dfec..fc09a70 100644 --- a/eww.org +++ b/eww.org @@ -88,9 +88,9 @@ (interactive nil eww-mode) (when-let (current (eww-current-url)) (add-to-list 'jao-eww--closed-urls current)) - (kill-current-buffer) - (when-let (b (car (jao-eww-session--list-buffers))) - (switch-to-buffer b))) + (let ((nxt (car (jao-eww-session-invisible-buffers)))) + (kill-current-buffer) + (when nxt (switch-to-buffer nxt nil t)))) (defun jao-eww-reopen (arg) (interactive "P") diff --git a/lib/net/jao-eww-session.el b/lib/net/jao-eww-session.el index b0dfc46..c9e8a35 100644 --- a/lib/net/jao-eww-session.el +++ b/lib/net/jao-eww-session.el @@ -92,6 +92,10 @@ the session is already displayed in a eww tab, jao-eww-session can: (with-current-buffer b (derived-mode-p 'eww-mode)))) (buffer-list))) +(defun jao-eww-session-invisible-buffers () + (seq-filter (lambda (b) (null (get-buffer-window b))) + (jao-eww-session--list-buffers (current-buffer)))) + (defun jao-eww--current-url () (when-let (url (eww-current-url)) (url-encode-url url))) -- cgit v1.2.3