(defcustom ibuffer-fontification-alist
`((10 buffer-read-only font-lock-constant-face)
(15 (string-match "^*" (buffer-name)) font-lock-keyword-face)
- (20 (string-match "^ " (buffer-name)) font-lock-warning-face)
+ (20 (and (string-match "^ " (buffer-name))
+ (null buffer-file-name))
+ italic)
(25 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face)
(30 (eq major-mode 'dired-mode) font-lock-function-name-face))
"An alist describing how to fontify buffers.
(define-key map (kbd "s m") 'ibuffer-do-sort-by-major-mode)
(define-key map (kbd "/ m") 'ibuffer-filter-by-mode)
+ (define-key map (kbd "/ M") 'ibuffer-filter-by-used-mode)
(define-key map (kbd "/ n") 'ibuffer-filter-by-name)
(define-key map (kbd "/ c") 'ibuffer-filter-by-content)
(define-key map (kbd "/ e") 'ibuffer-filter-by-predicate)
:enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)))
(define-key-after map [menu-bar view filter filter-by-mode]
'(menu-item "Add filter by major mode..." ibuffer-filter-by-mode))
+ (define-key-after map [menu-bar view filter filter-by-mode]
+ '(menu-item "Add filter by major mode in use..." ibuffer-filter-by-used-mode))
(define-key-after map [menu-bar view filter filter-by-name]
'(menu-item "Add filter by buffer name..." ibuffer-filter-by-name))
(define-key-after map [menu-bar view filter filter-by-filename]
(ibuffer-forward-line 0)
(let* ((bufs (buffer-list))
(blist (ibuffer-filter-buffers
- (current-buffer)
- (if (and
- (cadr bufs)
- (eq ibuffer-always-show-last-buffer
- :nomini)
- ;; This is a hack.
- (string-match " \\*Minibuf"
- (buffer-name (cadr bufs))))
- (caddr bufs)
- (cadr bufs))
- (ibuffer-current-buffers-with-marks bufs)
- arg)))
+ (current-buffer)
+ (if (and
+ (cadr bufs)
+ (eq ibuffer-always-show-last-buffer
+ :nomini)
+ (with-current-buffer (cadr bufs)
+ (minibufferp)))
+ (caddr bufs)
+ (cadr bufs))
+ (ibuffer-current-buffers-with-marks bufs)
+ arg)))
(when (null blist)
(if (and (featurep 'ibuf-ext)
ibuffer-filtering-qualifiers)
Filtering commands:
'\\[ibuffer-filter-by-mode]' - Add a filter by major mode.
+ '\\[ibuffer-filter-by-used-mode]' - Add a filter by major mode now in use.
'\\[ibuffer-filter-by-name]' - Add a filter by buffer name.
'\\[ibuffer-filter-by-content]' - Add a filter by buffer content.
'\\[ibuffer-filter-by-filename]' - Add a filter by filename.
(ibuffer-update-format)
(when ibuffer-default-directory
(setq default-directory ibuffer-default-directory))
+ (add-hook 'change-major-mode-hook 'font-lock-defontify nil t)
(run-hooks 'ibuffer-mode-hooks)
;; called after mode hooks to allow the user to add filters
(ibuffer-update-mode-name))