branch: elpa/iwindow commit a32c522f802b1e72883b74544c5fcb9630d89bbf Author: Akib Azmain Turja <a...@disroot.org> Commit: Akib Azmain Turja <a...@disroot.org>
Add iwindow-delete and iwindow-delete-others --- README.org | 4 ++++ iwindow.el | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 1b0a4fb9e8..e6401006cd 100644 --- a/README.org +++ b/README.org @@ -14,6 +14,10 @@ to somewhere, for example: (global-set-key (kbd "C-x o") #'iwindow-select) #+end_src +You can swap windows with `iwindow-swap'. To delete a window, you can +use `iwindow-delete'. And there is `iwindow-delete-others' to delete +all window except the chosen one. + * Installation IWindow isn't available on any ELPA right now. So, you have to follow diff --git a/iwindow.el b/iwindow.el index f63a0eb48b..d744f3230f 100644 --- a/iwindow.el +++ b/iwindow.el @@ -39,6 +39,10 @@ ;; (global-set-key (kbd "C-x o") #'iwindow-select) +;; You can swap windows with `iwindow-swap'. To delete a window, you +;; can use `iwindow-delete'. And there is `iwindow-delete-others' to +;; delete all window except the chosen one. + ;;; Code: (require 'cl-lib) @@ -285,7 +289,7 @@ WINDOWS and CALLBACK is described in the docstring of ;;;###autoload (defun iwindow-swap () - "Swap buffers of current window and WINDOW." + "Interactively swap two windows." (interactive) (when-let ((window (iwindow-choose (lambda (window) @@ -297,5 +301,17 @@ WINDOWS and CALLBACK is described in the docstring of (set-window-buffer window current-buffer) (select-window window)))) +;;;###autoload +(defun iwindow-delete () + "Interactively delete a window." + (interactive) + (delete-window (iwindow-choose))) + +;;;###autoload +(defun iwindow-delete-others () + "Interactively delete a window." + (interactive) + (delete-other-windows (iwindow-choose))) + (provide 'iwindow) ;;; iwindow.el ends here