From 6b970e2fa94d7604a3da16b2161156654196a786 Mon Sep 17 00:00:00 2001 From: Macoy Madson Date: Tue, 31 Jul 2018 11:52:05 -0700 Subject: [PATCH] Added convenient sublime-like desktop management --- Emacs/emacsConfig.txt | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/Emacs/emacsConfig.txt b/Emacs/emacsConfig.txt index 6c0e5f8..148aa6a 100644 --- a/Emacs/emacsConfig.txt +++ b/Emacs/emacsConfig.txt @@ -421,9 +421,32 @@ ;; Use swiper for search instead of isearch (use e.g. space to fuzzy search) (global-set-key (kbd "C-f") 'macoy-swiper-search-mark) -;; "Desktops" replace sublime workspaces. This makes it easier to switch desktops -;; This causes an annoying "desktop already registered" prompt. Fucking stupid -;;(desktop-registry-auto-register 1) +;; +;; Faster desktop creation/switching +;; +(setq macoy-desktop-dir "~/.emacs.d/macoy-desktops/") +(unless (file-exists-p macoy-desktop-dir) + (make-directory macoy-desktop-dir) + ) + +(defun macoy-save-desktop (new-desktop-name) + "Save a desktop to the desktop registry for easy switching" + (interactive "sNew desktop name:") + (let ((new-desktop (concat macoy-desktop-dir new-desktop-name))) + (make-directory new-desktop) + (desktop-save new-desktop) + (message "Created desktop at %s" new-desktop) + )) + +(defun macoy-switch-desktop () + "Use ido to list desktops to switch to" + (interactive) + (desktop-change-dir + (concat macoy-desktop-dir + (ido-completing-read "Desktop:" + (remove "." + (remove ".." + (directory-files macoy-desktop-dir))))))) ;; Open file in explorer (defun browse-file-directory ()