diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-07-22T04·26+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-07-22T04·26+0800 |
commit | d86db3edd675d4c9fc00b4c3677507a9fd453c54 (patch) | |
tree | 26ec4d6f2c8a8cce3098de8d19e8a564cc65aaea | |
parent | 86777c54f341e3a0921c0970a4ed3fb99753e66d (diff) |
Add minibuffer toggle command
* exwm-workspace.el (exwm-workspace-toggle-minibuffer): Add minibuffer toggle command. * exwm-core.el (exwm-mode-menu, exwm-mode-map): Substitute minibuffer attach/detach commands with minibuffer toggle command. * exwm-workspace.el (exwm-workspace-toggle-minibuffer): Insert various auto load cookies.
-rw-r--r-- | exwm-core.el | 7 | ||||
-rw-r--r-- | exwm-workspace.el | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/exwm-core.el b/exwm-core.el index 09e16582be6a..7606a9e9416b 100644 --- a/exwm-core.el +++ b/exwm-core.el @@ -199,12 +199,7 @@ ["Swap workspaces" exwm-workspace-swap] ["Move X window to" exwm-workspace-move-window :keys "C-c C-m"] ["Move X window from" exwm-workspace-switch-to-buffer] - ["Attach minibuffer" exwm-workspace-attach-minibuffer - (and (exwm-workspace--minibuffer-own-frame-p) - (not (exwm-workspace--minibuffer-attached-p)))] - ["Detach minibuffer" exwm-workspace-detach-minibuffer - (and (exwm-workspace--minibuffer-own-frame-p) - (exwm-workspace--minibuffer-attached-p))] + ["Toggle minibuffer" exwm-workspace-toggle-minibuffer] ["Switch workspace" exwm-workspace-switch] ;; Place this entry at bottom to avoid selecting others by accident. ("Switch to" :filter diff --git a/exwm-workspace.el b/exwm-workspace.el index b3c2390936c3..e58c55411416 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -500,6 +500,7 @@ The optional FORCE option is for internal use only." "Number of workspaces `exwm-workspace-switch-create' allowed to create each time.") +;;;###autoload (defun exwm-workspace-switch-create (frame-or-index) "Switch to workspace FRAME-OR-INDEX, creating it if it does not exist yet." (interactive) @@ -835,6 +836,7 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first." (assq (frame-parameter exwm-workspace--minibuffer 'exwm-container) exwm-workspace--id-struts-alist)) +;;;###autoload (defun exwm-workspace-attach-minibuffer () "Attach the minibuffer so that it always shows." (interactive) @@ -858,6 +860,7 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first." (exwm-workspace--set-fullscreen f)) (exwm-workspace--show-minibuffer)))) +;;;###autoload (defun exwm-workspace-detach-minibuffer () "Detach the minibuffer so that it automatically hides." (interactive) @@ -874,6 +877,15 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first." (exwm-workspace--set-fullscreen f)) (exwm-workspace--hide-minibuffer)))) +;;;###autoload +(defun exwm-workspace-toggle-minibuffer () + "Attach the minibuffer if it's detached, or detach it if it's attached." + (interactive) + (when (exwm-workspace--minibuffer-own-frame-p) + (if (exwm-workspace--minibuffer-attached-p) + (exwm-workspace-detach-minibuffer) + (exwm-workspace-attach-minibuffer)))) + (defun exwm-workspace--update-minibuffer-height (&optional echo-area) "Update the minibuffer frame height." (let ((height |