Define window-manager-swap-workspaces
This is a wrapper around the existing `exwm-workspace-swap` except it's aware of my `window-manager-workspace` struct.
This commit is contained in:
parent
869bcf3fc8
commit
b4b929a55b
1 changed files with 16 additions and 0 deletions
|
@ -375,6 +375,22 @@ predicate."
|
|||
cycle-current
|
||||
window-manager--named-workspace-label))
|
||||
|
||||
(defun window-manager-swap-workspaces ()
|
||||
"Prompt the user to switch the current workspace with another."
|
||||
(interactive)
|
||||
(let* ((selection (->> window-manager--named-workspaces
|
||||
(-map #'window-manager--named-workspace-label)
|
||||
(-reject
|
||||
(lambda (x)
|
||||
(s-equals? x (window-manager-current-workspace))))
|
||||
(completing-read
|
||||
(format "Swap current workspace (i.e. \"%s\") with: "
|
||||
(window-manager-current-workspace)))))
|
||||
(i (-find-index (lambda (x)
|
||||
(s-equals? selection (window-manager--named-workspace-label x)))
|
||||
window-manager--named-workspaces)))
|
||||
(exwm-workspace-swap exwm-workspace--current (elt exwm-workspace--list i))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Startup Applications in `window-manager--named-workspaces'
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
|
Loading…
Reference in a new issue