;;; core-workgroups.el ;; see lib/workgroup-defuns.el (use-package workgroups2 :when window-system :init (setq split-height-threshold 8 wg-session-file (expand-file-name "wg-default" narf-temp-dir) wg-workgroup-directory (expand-file-name "workgroups" narf-temp-dir) wg-first-wg-name "main" wg-session-load-on-start t wg-mode-line-display-on nil wg-mess-with-buffer-list t wg-emacs-exit-save-behavior 'save ; Options: 'save 'ask nil wg-workgroups-mode-exit-save-behavior 'save wg-log-level 0 wg-list-display-decor-divider " : " wg-list-display-decor-current-left "[" wg-list-display-decor-current-right "]" wg-list-display-decor-previous-left "" wg-list-display-decor-previous-right "") :config (defvar narf/helm-source-wg '((name . "Workgroups") (candidates . wg-workgroup-names) (action . narf/wg-helm-switch-to-workgroup))) (defvar narf-wg-frames '()) (after! projectile ;; Create a new workgroup on switch-project (setq projectile-switch-project-action 'narf/wg-projectile-switch-project)) (add-hook! wg-before-switch-to-workgroup 'popwin:close-popup-window) ;; Initialize! (add-hook! after-init (workgroups-mode 1) (diminish 'workgroups-mode))) (provide 'core-workgroups) ;;; core-workgroups.el ends here