group of exwm workspaces
SylvianHemus opened this issue · 0 comments
SylvianHemus commented
exwm workspace grouping ideally recursive
switch between workspace group that is composed of workspaces
e.g.,
Workspace group (CAR): (exwm-workspace-group webdev)
webdev workspace-group members (CDR): (exwm-workspace front-end) (exwm-workspace backend))
ideas on howto?
(defun switch-to-workspace-group (group-name)
"Switch to the specified workspace group."
(interactive "sEnter workspace group name: ")
(let ((workspaces (seq-filter (lambda (ws)
(string-prefix-p group-name (exwm-workspace-name ws)))
(exwm-workspace--list))))
(if workspace
(exwm-workspace-switch (car workspaces))
(message "Workspace group not found"))))
(defun create-workspace-group (group-name workspaces)
"Create a new workspace group with the specified name and list of workspaces."
(interactive "sEnter workspace group name: \nSEnter list of workspaces: ")
(let* ((group-name (concat "Group:" group-name))
(group (seq-map (lambda (ws)
(exwm-workspace-name ws))
workspaces)))
(setq exwm-workspace-list-names (cons group exwm-workspace-list-names))
(exwm-workspace-rename-buffer group-name)))
)
how to defgroup define exwm-workspace-name data type link it up to exwm-workspace.el / exwm.el? am noob