Skip to content

Instantly share code, notes, and snippets.

@codeforkjeff
Created September 27, 2014 00:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codeforkjeff/37a350d9af3a2c158eac to your computer and use it in GitHub Desktop.
Save codeforkjeff/37a350d9af3a2c158eac to your computer and use it in GitHub Desktop.
;; after list-buffers is called, switch to it
(defadvice list-buffers (after jc-switch-to-other-win)
(if (not (equalp (buffer-name (current-buffer))
"*Buffer List*"))
(other-window 1))
(goto-char (+ 4 (point))))
;; emacs24 doesn't recognize Buffer-menu-sort-column so we do this
;; nonsense: after list-buffers is called and we've switched to it,
;; check whether the buffer matches what's stored in
;; jc-buffer-menu. If it doesn't match, it means it's new, so call
;; Buffer-menu-sort and update jc-buffer-menu so we don't sort again
;; on subsequent calls.
(when (>= emacs-major-version 24)
(setq jc-buffer-menu nil)
(defadvice list-buffers (after jc-buffer-menu-sort last)
(when (not (equal jc-buffer-menu (current-buffer)))
(setq jc-buffer-menu (current-buffer))
;; for debugging:
;;(message "sorting!")
(Buffer-menu-sort 6))))
(ad-activate 'list-buffers)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment