branch: externals/window-commander
commit 71ce9f8ae043950964585f31c891b21c2ae642f8
Author: Daniel Semyonov <[email protected]>
Commit: Daniel Semyonov <[email protected]>

    Add menu for window commands
    
    * window-commander.el (wincom-mode-menu): New menu keymap.
    (wincom-mode): Bind 'wincom-mode-menu' to the menu bar in 'wincom-mode-map'.
---
 window-commander.el | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/window-commander.el b/window-commander.el
index e13d271081..b11ad8d91d 100644
--- a/window-commander.el
+++ b/window-commander.el
@@ -486,6 +486,27 @@ selection.")
 
 ;;;; wincom mode:
 
+(defvar wincom-mode-menu
+  (let ((map (make-sparse-keymap "Windows")))
+    (define-key map [swap]
+                '("Swap with current..." . wincom-swap))
+    (when (fboundp 'display-buffer-override-next-command)
+      (define-key map [prefix]
+                  '("Redirect buffer of next command..."
+                    . wincom-selected-window-prefix)))
+    (define-key map [split-right]
+                '("New on right..." . wincom-split-window-right))
+    (define-key map [split-below]
+                '("New below..." . wincom-split-window-below))
+    (define-key map [delete-other]
+                '("Remove others..." . wincom-delete-other))
+    (define-key map [delete]
+                '("Remove..." . wincom-delete))
+    (define-key map [select]
+                '("Select..." . wincom-select))
+    map)
+  "Menu for window commands.")
+
 ;;;###autoload
 (define-minor-mode wincom-mode
   "Toggle Window Commander mode.
@@ -504,6 +525,8 @@ selection:
                        (wincom-format-id (selected-window))))
   :keymap (let ((map (make-sparse-keymap)))
             (define-key map [remap other-window] #'wincom-select)
+            (define-key map [menu-bar wincom]
+                        (cons "Windows" wincom-mode-menu))
             map)
   (if wincom-mode
       (progn

Reply via email to