Function: assist-key-modeline

assist-key-modeline is a byte-compiled function defined in hui-window.el.

Signature

(assist-key-modeline)

Documentation

Handle Assist Key depresses on a window mode line.

If the Assist Key is:
 (1) clicked on the first blank character of a window's modeline,
     bottom buffer in buffer list is unburied and placed in window;
 (2) clicked on right edge of a window's modeline,
     the summary of Smart Key behavior is displayed, or if already
     displayed and the modeline clicked belongs to a window displaying
     the summary, the summary buffer is hidden;
 (3) clicked on the buffer id of a window's modeline,
     the next buffer in sequence is displayed in the window
 (4) clicked anywhere in the middle of a window's modeline,
     the function given by assist-key-modeline-function is called;
 (5) dragged vertically from non-bottommost modeline to within a window,
     the modeline is moved to point of key release, thereby resizing
     its window and potentially its vertical neighbors.
 (6) dragged from a bottommost modeline in a frame with a non-nil
     drag-with-mode-line parameter (use frame-set-parameter),
     moves the frame as the drag occurs.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hui-window.el
(defun assist-key-modeline ()
  "Handle Assist Key depresses on a window mode line.
If the Assist Key is:
 (1) clicked on the first blank character of a window's modeline,
     bottom buffer in buffer list is unburied and placed in window;
 (2) clicked on right edge of a window's modeline,
     the summary of Smart Key behavior is displayed, or if already
     displayed and the modeline clicked belongs to a window displaying
     the summary, the summary buffer is hidden;
 (3) clicked on the buffer id of a window's modeline,
     the next buffer in sequence is displayed in the window
 (4) clicked anywhere in the middle of a window's modeline,
     the function given by `assist-key-modeline-function' is called;
 (5) dragged vertically from non-bottommost modeline to within a window,
     the modeline is moved to point of key release, thereby resizing
     its window and potentially its vertical neighbors.
 (6) dragged from a bottommost modeline in a frame with a non-nil
     `drag-with-mode-line' parameter (use `frame-set-parameter'),
     moves the frame as the drag occurs."
  ;; Modeline window resizing is now handled in assist-key-depress
  ;; via a call to mouse-drag-mode-line, providing live visual
  ;; feedback.
  (let ((w (smart-window-of-coords assist-key-depress-args)))
    (when w (select-window w))
    (when (hmouse-modeline-click)
	   (cond ((hmouse-emacs-at-modeline-buffer-id-p)
		  (next-buffer))
		 ((hmouse-release-left-edge)
		  (funcall assist-key-modeline-left-edge-function))
		 ((hmouse-release-right-edge)
		  (funcall assist-key-modeline-right-edge-function))
		 (t (funcall assist-key-modeline-function))))))