ch11ng/exwm

group of exwm workspaces

SylvianHemus opened this issue · 0 comments

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