summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--eww.org6
-rw-r--r--lib/net/jao-eww-session.el4
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)))