   (interactive)
   (when (eq major-mode 'twittering-mode)
     (twittering-kill-buffer)
-    (+workspace/close-window-or-workspace)))
+    (cond ((one-window-p) (+twitter/quit-all))
+          ((featurep! :feature workspaces)
+           (+workspace/close-window-or-workspace))
+          ((delete-window)))))
 
 ;;;###autoload
 (defun +twitter/quit-all ()
   "Close all open `twitter-mode' buffers and the associated workspace, if any."
   (interactive)
-  (+workspace/delete "*Twitter*")
+  (when (featurep! :feature workspaces)
+    (+workspace/delete +twitter-workspace-name))
+  (when +twitter--old-wconf
+    (set-window-configuration +twitter--old-wconf)
+    (setq +twitter--old-wconf nil))
   (dolist (buf (doom-buffers-in-mode 'twittering-mode (buffer-list) t))
     (twittering-kill-buffer buf)))
 

;; Commands
;;

;;;###autoload
(defun =twitter ()
  "Opens a workspace dedicated to `twittering-mode'."
  (interactive)
  (condition-case _
      (progn
        (+workspace/new "*Twitter*")
        (call-interactively #'twit)
        (unless (get-buffer (car twittering-initial-timeline-spec-string))
          (error "Failed to open twitter"))

;;; app/twitter/autoload.el -*- lexical-binding: t; -*-

(defvar +twitter-workspace-name "*Twitter*"
  "The name to use for the twitter workspace.")

;;;###autoload
(defun +twitter-display-buffer (buf)
