From 6ad4d3dfd32b569f9485d24f80a768ed3ca19e46 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Thu, 29 Jan 2026 00:47:07 -0500 Subject: improve init and sway --- .config/emacs/init.el | 8 ++++++++ .config/emacs/lisp/proj | 2 +- .config/emacs/lisp/toggle-window.el | 1 + .config/emacs/lisp/toggle-window/toggle-window.el | 23 +++++++++++++++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) create mode 120000 .config/emacs/lisp/toggle-window.el create mode 100644 .config/emacs/lisp/toggle-window/toggle-window.el (limited to '.config/emacs') diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 25f5311..9f80569 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -536,5 +536,13 @@ (setq proj-locations '("~/development/" "~/opt/" "~/classes/psoft/" "~/classes/parallel-programming/" "~/classes/operating-systems/") proj-find-params '("-mindepth 1" "-maxdepth 1" "-path '*/.git'" "-prune -o" "-type d" "-print")) + (global-set-key (kbd "C-x b") `proj-switch-to-buffer) (global-set-key (kbd "C-c b") `switch-to-buffer) + +(global-set-key (kbd "C-x k") `proj-kill-buffer) +(global-set-key (kbd "C-c k") `kill-buffer) + +;; == toggle-window +(require 'toggle-window) +(global-set-key (kbd "C-c w") 'toggle-window) diff --git a/.config/emacs/lisp/proj b/.config/emacs/lisp/proj index b84a1fe..2c3e705 160000 --- a/.config/emacs/lisp/proj +++ b/.config/emacs/lisp/proj @@ -1 +1 @@ -Subproject commit b84a1feb35a528d6bcfa4e807c0b416d23dfeebe +Subproject commit 2c3e7050a2cf6d51dd274f7a03721d1fdb8fbf37 diff --git a/.config/emacs/lisp/toggle-window.el b/.config/emacs/lisp/toggle-window.el new file mode 120000 index 0000000..1da50be --- /dev/null +++ b/.config/emacs/lisp/toggle-window.el @@ -0,0 +1 @@ +toggle-window/toggle-window.el \ No newline at end of file diff --git a/.config/emacs/lisp/toggle-window/toggle-window.el b/.config/emacs/lisp/toggle-window/toggle-window.el new file mode 100644 index 0000000..28c7c62 --- /dev/null +++ b/.config/emacs/lisp/toggle-window/toggle-window.el @@ -0,0 +1,23 @@ +(defvar toggle-window-configuration nil + "Stores the window configuration") + +;; should rewrite to not do the save configuration thing + +(defun toggle-window () + (interactive) + (if (count-windows) + (if (one-window-p) + ;; reset configuration if single window + (if toggle-window-configuration + (progn + (set-window-configuration toggle-window-configuration) + (setq toggle-window-configuration nil)) + (message "No previous window layout to restore.")) + ;; if multiple windows save configuration + (setq toggle-window-configuration (current-window-configuration)) + ;; delete current or other window + (if (derived-mode-p 'compilation-mode) + (delete-window) + (delete-other-windows))))) + +(provide 'toggle-window) -- cgit v1.2.3