[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm e491118 10/19: Support swapping workspaces
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm e491118 10/19: Support swapping workspaces |
Date: |
Tue, 19 Jul 2016 03:07:08 +0000 (UTC) |
branch: externals/exwm
commit e4911181d317942e9946da4cbceeeb4c6ca98884
Author: Adrián Medraño Calvo <address@hidden>
Commit: Adrián Medraño Calvo <address@hidden>
Support swapping workspaces
* exwm-workspace.el (exwm-workspace-swap-workspaces): New
function to interchange the position of two workspaces.
---
exwm-workspace.el | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 21a415e..8627432 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -394,6 +394,28 @@ The optional FORCE option is for internal use only."
(xcb:flush exwm--connection))
(run-hooks 'exwm-workspace-switch-hook)))
+;;;###autoload
+(defun exwm-workspace-swap-workspaces (workspace1 workspace2)
+ "Swap position of WORKSPACE1 with that of WORKSPACE2."
+ (interactive
+ (unless (and (eq major-mode 'exwm-mode) exwm--fullscreen) ;it's invisible
+ (list
+ (exwm-workspace--prompt-for-workspace)
+ (exwm-workspace--prompt-for-workspace))))
+ (let ((pos1 (exwm-workspace--position workspace1))
+ (pos2 (exwm-workspace--position workspace2)))
+ (if (and pos1 pos2)
+ (progn
+ (setf (elt exwm-workspace--list pos1) workspace2)
+ (setf (elt exwm-workspace--list pos2) workspace1)
+ (cond
+ ((eq exwm-workspace--current workspace1)
+ (setq exwm-workspace-current-index pos2))
+ ((eq exwm-workspace--current workspace2)
+ (setq exwm-workspace-current-index pos1))))
+ (user-error "[EXWM] Frames are not workspaces"))))
+
+
(defun exwm-workspace--on-focus-in ()
"Handle unexpected frame switch."
;; `focus-in-hook' is run by `handle-switch-frame'.
- [elpa] externals/exwm updated (c22f356 -> b409d87), Chris Feng, 2016/07/18
- [elpa] externals/exwm ed6a18a 04/19: Add `exwm-workspace--position' helper, Chris Feng, 2016/07/18
- [elpa] externals/exwm f4b8cc4 11/19: Support moving workspaces, Chris Feng, 2016/07/18
- [elpa] externals/exwm 9018545 06/19: New function exwm-workspace--workspace-p, Chris Feng, 2016/07/18
- [elpa] externals/exwm cd1372e 03/19: Apply minibuffer in own frame configuration to created frames, Chris Feng, 2016/07/18
- [elpa] externals/exwm d0797d0 13/19: Remove `exwm-worspace-number', Chris Feng, 2016/07/18
- [elpa] externals/exwm 18fc95d 01/19: Minor cleanup, Chris Feng, 2016/07/18
- [elpa] externals/exwm 983fd46 02/19: Add missing declarations, Chris Feng, 2016/07/18
- [elpa] externals/exwm 35e1655 07/19: Move defvars to the top, Chris Feng, 2016/07/18
- [elpa] externals/exwm e491118 10/19: Support swapping workspaces,
Chris Feng <=
- [elpa] externals/exwm 8e2da00 05/19: Add helper for counting number of workspaces, Chris Feng, 2016/07/18
- [elpa] externals/exwm 2de2d42 09/19: Factor out prompt for workspace, Chris Feng, 2016/07/18
- [elpa] externals/exwm b51f3e6 18/19: Mention dynamic workspace in various places, Chris Feng, 2016/07/18
- [elpa] externals/exwm 2ebeec1 17/19: Adapt dynamic workspace for RandR module, Chris Feng, 2016/07/18
- [elpa] externals/exwm 4c9afc2 16/19: Adapt dynamic workspace for floating module, Chris Feng, 2016/07/18
- [elpa] externals/exwm 622618a 15/19: Improve the handling of workspaces, Chris Feng, 2016/07/18
- [elpa] externals/exwm 73d890a 14/19: Fix various minor issues, Chris Feng, 2016/07/18
- [elpa] externals/exwm 07120a0 08/19: Work with workspace frames instead of indices, Chris Feng, 2016/07/18
- [elpa] externals/exwm 0fbc725 12/19: Support adding and removing workspaces, Chris Feng, 2016/07/18
- [elpa] externals/exwm b409d87 19/19: Merge branch 'medranocalvo/dynamic-workspaces' into externals/exwm, Chris Feng, 2016/07/18