Files
.emacs.d/lisp/init-workspace.el

82 lines
2.7 KiB
EmacsLisp
Raw Normal View History

2025-12-20 15:13:13 +11:00
;; -*- lexical-binding: t; -*-
2025-12-21 12:57:53 +11:00
2026-03-14 11:42:48 +11:00
;; (use-package project)
(use-package projectile
:hook elpaca-after-init
:config
;; Recommended keymap prefix on macOS
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
;; Recommended keymap prefix on Windows/Linux
(define-key projectile-mode-map (kbd "C-x p") 'projectile-command-map))
2026-01-30 03:52:15 +11:00
2026-03-22 20:26:17 +11:00
(use-package ibuffer-projectile
:config
(add-hook 'ibuffer-hook
(lambda ()
(ibuffer-projectile-set-filter-groups)
(unless (eq ibuffer-sorting-mode 'alphabetic)
(ibuffer-do-sort-by-alphabetic)))))
(use-package consult-projectile
:bind (([remap projectile-find-file] . consult-projectile-find-file)
([remap projectile-recentf] . consult-projectile-recentf)
([remap projectile-switch-project] . consult-projectile-switch-project)
([remap projectile-switch-to-buffer] . consult-projectile-switch-to-buffer)
([remap projectile-find-dir] . consult-projectile-find-dir)))
;; (use-package org-project-capture)
;; (use-package org-projectile
;; :config
;; (setq org-project-capture-default-backend
;; (make-instance 'org-project-capture-projectile-backend)))
2026-03-11 21:08:31 +11:00
(global-set-key (kbd "C-x C-b") #'ibuffer)
2026-03-14 19:46:30 +11:00
;; (use-package beframe
;; :hook elpaca-after-init
;; :bind (("C-x b" . beframe-switch-buffer)
;; ("C-x C-b" . beframe-buffer-menu)
;; ("C-x f" . other-frame-prefix))
;; :config
;; (define-key global-map (kbd "C-c b") #'beframe-prefix-map))
2026-02-08 20:12:13 +11:00
2026-03-14 11:42:48 +11:00
(use-package eyebrowse
:hook elpaca-after-init
:custom
(eyebrowse-new-workspace t))
2026-03-14 19:46:30 +11:00
(use-package easysession
2026-03-22 23:57:48 +11:00
:diminish
2026-03-14 19:46:30 +11:00
:demand t
2026-03-14 20:30:40 +11:00
;; :hook (elpaca-after-init easysession-scratch-mode)
;; :hook (elpaca-after-init easysession-magit-mode)
:bind (("s-1" . eyebrowse-switch-to-window-config-1)
("s-2" . eyebrowse-switch-to-window-config-2)
("s-3" . eyebrowse-switch-to-window-config-3)
("s-4" . eyebrowse-switch-to-window-config-4)
("s-5" . eyebrowse-switch-to-window-config-5)
("s-6" . eyebrowse-switch-to-window-config-6)
("s-7" . eyebrowse-switch-to-window-config-7)
2026-03-22 23:57:48 +11:00
("s-8" . eyebrowse-switch-to-window-config-8))
;; ("C-c C-s l" . easysession-switch-to)
;; ("C-c C-s L" . easysession-switch-to-and-restore-geometry)
;; ("C-c C-s s" . easysession-save)
;; ("C-c C-s r" . easysession-rename)
;; ("C-c C-s R" . easysession-reset)
;; ("C-c C-s u" . easysession-unload)
;; ("C-c C-s d" . easysession-delete))
2026-03-20 00:44:25 +11:00
2026-03-14 19:46:30 +11:00
:custom
(easysession-switch-to-save-session t)
(easysession-switch-to-exclude-current nil)
:config
(setq easysession-setup-load-session t)
2026-03-20 00:44:25 +11:00
(easysession-setup)
(easysession-magit-mode)
(easysession-scratch-mode))
2026-03-14 19:46:30 +11:00
2025-12-20 15:13:13 +11:00
(provide 'init-workspace)