Refactor lib defuns
This commit is contained in:
parent
2b96795761
commit
0596a0cb23
3 changed files with 29 additions and 46 deletions
|
@ -67,7 +67,9 @@ Inspired from http://demonastery.org/2013/04/emacs-evil-narrow-region/"
|
|||
;;;###autoload
|
||||
(defun narf/get-buried-buffers (&optional buffer-list)
|
||||
"Get a list of buffers that are buried (i.e. not visible)"
|
||||
(-remove 'get-buffer-window (or buffer-list (narf/get-buffers))))
|
||||
(let* ((buffers (or buffer-list (narf/get-buffers)))
|
||||
(old-len (length buffers)))
|
||||
(-remove 'get-buffer-window buffers)))
|
||||
|
||||
;;;###autoload
|
||||
(defun narf/get-matching-buffers (pattern &optional buffer-list)
|
||||
|
@ -86,7 +88,10 @@ Inspired from http://demonastery.org/2013/04/emacs-evil-narrow-region/"
|
|||
(let ((bname (buffer-name)))
|
||||
(cond ((string-match-p "^\\*scratch\\*" bname)
|
||||
(erase-buffer))
|
||||
(t (kill-this-buffer))))
|
||||
(t
|
||||
(when window-system
|
||||
(mac-start-animation (get-buffer-window) :type 'fade-out :duration 0.3))
|
||||
(kill-this-buffer))))
|
||||
(if (and (eq (current-buffer) popwin:popup-buffer)
|
||||
(popwin:popup-window-live-p))
|
||||
(popwin:close-popup-window)
|
||||
|
@ -101,15 +106,16 @@ Inspired from http://demonastery.org/2013/04/emacs-evil-narrow-region/"
|
|||
(real-buffers (narf/get-real-buffers all-buffers))
|
||||
(kill-list (--filter (not (memq it real-buffers))
|
||||
(narf/get-buried-buffers all-buffers))))
|
||||
(message "Cleaned up %s buffers" (length kill-list))
|
||||
(mapc 'kill-buffer kill-list)
|
||||
(narf:kill-process-buffers)))
|
||||
(narf:kill-process-buffers)
|
||||
(message "Cleaned up %s buffers" (length kill-list))))
|
||||
|
||||
;;;###autoload
|
||||
(defun narf:kill-process-buffers ()
|
||||
"Kill all buffers that represent running processes and aren't visible."
|
||||
(interactive)
|
||||
(let ((buffer-list (narf/get-buffers)))
|
||||
(let ((buffer-list (narf/get-buffers))
|
||||
(killed-processes 0))
|
||||
(dolist (p (process-list))
|
||||
(let* ((process-name (process-name p))
|
||||
(assoc (assoc process-name narf-cleanup-processes-alist)))
|
||||
|
@ -119,8 +125,9 @@ Inspired from http://demonastery.org/2013/04/emacs-evil-narrow-region/"
|
|||
(not (--any? (let ((mode (buffer-local-value 'major-mode it)))
|
||||
(eq mode (cdr assoc)))
|
||||
buffer-list)))
|
||||
(message "Cleanup: killing %s" process-name)
|
||||
(delete-process p))))))
|
||||
(delete-process p)
|
||||
(incf killed-processes))))
|
||||
(message "Cleaned up %s processes" killed-processes)))
|
||||
|
||||
;;;###autoload
|
||||
(defun narf:kill-matching-buffers (regexp &optional buffer-list)
|
||||
|
@ -188,9 +195,10 @@ left, create a scratch buffer."
|
|||
"Kill buried buffers and report how many it found."
|
||||
:repeat nil
|
||||
(interactive "<!>")
|
||||
(let ((buffers (narf/get-buried-buffers (if bang (projectile-project-buffers) (narf/get-buffers)))))
|
||||
(message "Cleaned up %s buffers" (length buffers))
|
||||
(mapc 'kill-buffer buffers)))
|
||||
(let ((buffers (narf/get-buried-buffers (if bang (projectile-project-buffers) (narf/get-buffers))))
|
||||
(affected 0))
|
||||
(mapc (lambda (b) (when (kill-buffer b) (incf affected))) buffers)
|
||||
(message "Cleaned up %s buffers" affected)))
|
||||
|
||||
;;;###autoload (autoload 'narf:kill-all-buffers "defuns-buffers" nil t)
|
||||
(evil-define-command narf:kill-all-buffers (&optional bang)
|
||||
|
|
|
@ -17,37 +17,6 @@
|
|||
(writeroom-mode (if writeroom-mode -1 1))
|
||||
(set-frame-parameter nil 'fullscreen (if (not (frame-parameter nil 'fullscreen)) 'fullboth))))
|
||||
|
||||
;;;###autoload
|
||||
(defvar narf--write-mode nil)
|
||||
(defun narf:toggle-write-mode ()
|
||||
(interactive)
|
||||
(require 'writeroom-mode)
|
||||
(let ((writeroom-width 100)
|
||||
(writeroom-extra-line-spacing 12))
|
||||
(writeroom-mode (if writeroom-mode -1 1))
|
||||
(setq narf--write-mode writeroom-mode)
|
||||
|
||||
;; (setq truncate-lines (not narf--write-mode))
|
||||
;; (setq word-wrap narf--write-mode)
|
||||
(variable-pitch-mode narf--write-mode)
|
||||
|
||||
(if narf--write-mode
|
||||
(narf/load-theme 'solarized-light)
|
||||
(narf/reset-theme))
|
||||
|
||||
(fringe-mode (if narf--write-mode 0 '(3 . 6)))
|
||||
(auto-fill-mode (if narf--write-mode -1 +1))
|
||||
(text-scale-set (if narf--write-mode 2.5 0))
|
||||
(scroll-bar-mode (if narf--write-mode 1 -1))
|
||||
|
||||
(when IS-MAC
|
||||
(setq ;; sane trackpad/mouse scroll settings
|
||||
mac-mouse-wheel-smooth-scroll narf--write-mode
|
||||
mouse-wheel-progressive-speed narf--write-mode))
|
||||
|
||||
(when (eq major-mode 'org-mode)
|
||||
(org-indent-mode (if narf--write-mode -1 1)))))
|
||||
|
||||
(defvar narf--big-mode nil)
|
||||
;;;###autoload
|
||||
(defun narf:toggle-big-mode ()
|
||||
|
@ -63,9 +32,10 @@
|
|||
;;;###autoload
|
||||
(defun narf/load-theme (theme)
|
||||
(interactive)
|
||||
(mapc (lambda (th)
|
||||
(when (custom-theme-enabled-p th) (disable-theme th)))
|
||||
custom-enabled-themes)
|
||||
(ignore-errors
|
||||
(mapc (lambda (th)
|
||||
(when (custom-theme-enabled-p th) (disable-theme th)))
|
||||
custom-enabled-themes))
|
||||
(load-theme theme t))
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
@ -100,8 +100,13 @@
|
|||
;;;###autoload
|
||||
(defun narf:switch-to-workgroup-at-index (index)
|
||||
(interactive)
|
||||
(wg-switch-to-workgroup-at-index index)
|
||||
(narf:workgroup-display))
|
||||
(narf:workgroup-display)
|
||||
(let ((wgs (wg-workgroup-list-or-error)))
|
||||
(unless (eq (nth index wgs) (wg-current-workgroup t))
|
||||
(when (and IS-MAC window-system)
|
||||
(mac-start-animation (window-frame (get-buffer-window)) :type 'fade-out :duration 0.75))
|
||||
(wg-switch-to-workgroup-at-index index)
|
||||
(narf:workgroup-display))))
|
||||
|
||||
(provide 'defuns-workgroup)
|
||||
;;; defuns-workgroup.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue