emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/workroom ba1ca498d8 58/74: Switch to most recent workroom


From: ELPA Syncer
Subject: [nongnu] elpa/workroom ba1ca498d8 58/74: Switch to most recent workroom when kill the current workroom
Date: Sun, 27 Nov 2022 16:03:29 -0500 (EST)

branch: elpa/workroom
commit ba1ca498d8cc1852d92df164fe528beea9c2efac
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>

    Switch to most recent workroom when kill the current workroom
---
 workroom.el | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/workroom.el b/workroom.el
index 23cebeac50..95448bfe83 100644
--- a/workroom.el
+++ b/workroom.el
@@ -921,10 +921,17 @@ ROOM is should be a workroom, or a name of a workroom."
   (when (workroom-default-p room)
     (error "Cannot kill default workroom"))
   (when (eq room (workroom-current-room))
-    (workroom-switch-view (workroom-get-default)
-                          (workroom-view-get-create
-                           (workroom-get-default)
-                           workroom-default-view-name)))
+    (workroom-switch
+     (let ((r (cond
+               ((and (eq (car (workroom-previous-room-list))
+                         (workroom-current-room))
+                     (> (length (workroom-previous-room-list)) 1))
+                (cadr (workroom-previous-room-list)))
+               ((car (workroom-previous-room-list)))
+               (t (workroom-get-default)))))
+       (if (eq r room)
+           (workroom-get-default)
+         r))))
   (setf (workroom--room-name room) nil)
   (setq workroom--rooms (delete room workroom--rooms))
   (dolist (frame (frame-list))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]