Browse Source

org-agenda: Add only-window setup option

* lisp/org-agenda.el (org-agenda-window-setup, org-agenda-prepare-window):
  Add option to show agenda as the only window in the current frame.
Kyle Meyer 4 years ago
2 changed files with 8 additions and 0 deletions
  1. 3 0
  2. 5 0

+ 3 - 0

@@ -192,6 +192,9 @@ manual for details.
 *** Countdown timers can now be paused.
 ~org-timer-pause-time~ now pauses and restarts both relative and
 countdown timers.
+*** New option ~only-window~ for ~org-agenda-window-setup~
+When ~org-agenda-window-setup~ is set to ~only-window~, the agenda is
+displayed as the sole window of the current frame.
 ** Miscellaneous
 *** Strip all meta data from ITEM special property
 ITEM special property does not contain TODO, priority or tags anymore.

+ 5 - 0

@@ -1095,6 +1095,7 @@ Possible values for this option are:
 current-window    Show agenda in the current window, keeping all other windows.
 other-window      Use `switch-to-buffer-other-window' to display agenda.
+only-window       Show agenda, deleting all other windows.
 reorganize-frame  Show only two windows on the current frame, the current
                   window and the agenda.
 other-frame       Use `switch-to-buffer-other-frame' to display agenda.
@@ -1105,6 +1106,7 @@ See also the variable `org-agenda-restore-windows-after-quit'."
 	  (const current-window)
 	  (const other-frame)
 	  (const other-window)
+	  (const only-window)
 	  (const reorganize-frame)))
 (defcustom org-agenda-window-frame-fractions '(0.5 . 0.75)
@@ -3621,6 +3623,9 @@ FILTER-ALIST is an alist of filters we need to apply when
       (org-switch-to-buffer-other-window abuf))
      ((equal org-agenda-window-setup 'other-frame)
       (switch-to-buffer-other-frame abuf))
+     ((eq org-agenda-window-setup 'only-window)
+      (delete-other-windows)
+      (org-pop-to-buffer-same-window abuf))
      ((equal org-agenda-window-setup 'reorganize-frame)
       (org-switch-to-buffer-other-window abuf)))