+;;;###autoload
+(defun ibuffer-mouse-toggle-filter-group (event)
+ "Toggle the display status of the filter group chosen with the mouse."
+ (interactive "e")
+ (ibuffer-toggle-filter-group-1 (save-excursion
+ (mouse-set-point event)
+ (point))))
+
+;;;###autoload
+(defun ibuffer-toggle-filter-group ()
+ "Toggle the display status of the filter group on this line."
+ (interactive)
+ (ibuffer-toggle-filter-group-1 (point)))
+
+(defun ibuffer-toggle-filter-group-1 (posn)
+ (let ((name (get-text-property posn 'ibuffer-filter-group-name)))
+ (unless (stringp name)
+ (error "No filtering group name present"))
+ (if (member name ibuffer-hidden-filtering-groups)
+ (setq ibuffer-hidden-filtering-groups
+ (delete name ibuffer-hidden-filtering-groups))
+ (push name ibuffer-hidden-filtering-groups))
+ (ibuffer-update nil t)))
+
+;;;###autoload
+(defun ibuffer-forward-filter-group (&optional count)
+ "Move point forwards by COUNT filtering groups."
+ (interactive "P")
+ (unless count
+ (setq count 1))
+ (when (> count 0)
+ (when (get-text-property (point) 'ibuffer-filter-group-name)
+ (goto-char (next-single-property-change
+ (point) 'ibuffer-filter-group-name
+ nil (point-max))))
+ (goto-char (next-single-property-change
+ (point) 'ibuffer-filter-group-name
+ nil (point-max)))
+ (ibuffer-forward-filter-group (1- count)))
+ (ibuffer-forward-line 0))
+
+;;;###autoload
+(defun ibuffer-backward-filter-group (&optional count)
+ "Move point backwards by COUNT filtering groups."
+ (interactive "P")
+ (unless count
+ (setq count 1))
+ (when (> count 0)
+ (when (get-text-property (point) 'ibuffer-filter-group-name)
+ (goto-char (previous-single-property-change
+ (point) 'ibuffer-filter-group-name
+ nil (point-min))))
+ (goto-char (previous-single-property-change
+ (point) 'ibuffer-filter-group-name
+ nil (point-min)))
+ (ibuffer-backward-filter-group (1- count)))
+ (when (= (point) (point-min))
+ (goto-char (point-max))
+ (ibuffer-backward-filter-group 1))
+ (ibuffer-forward-line 0))
+
+;;;###autoload (autoload 'ibuffer-do-shell-command-pipe "ibuf-ext.el")