diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-18 15:38:49 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-18 15:38:49 -0500 |
| commit | 52c031775dca66d308cc341271900258f36b5895 (patch) | |
| tree | 82d3a0bcd07c02666fb0509f091f85a9ddeda831 /modules | |
| parent | bf3857602f3bbc9a485f27ba8b4f461107601367 (diff) | |
| download | dotemacs-52c031775dca66d308cc341271900258f36b5895.tar.gz dotemacs-52c031775dca66d308cc341271900258f36b5895.zip | |
fix(music): show the cursor on the row number and open the dock taller
With point pinned at the row start, redisplay drew the cursor after the number's before-string, on the album-art thumbnail, where a block cursor is invisible. A cursor property on the number string makes redisplay draw it on the number.
The dock also kept reopening too short: its height memory remembered whatever size the window had at toggle-off, including squeezes from window churn. The squeezed fraction then overrode the default on every later open. The default rises to a third of the frame, and the toggle discards captured heights below it (a deliberate enlargement still sticks for the session).
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/music-config.el | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/modules/music-config.el b/modules/music-config.el index 02df2467..5f35d2cc 100644 --- a/modules/music-config.el +++ b/modules/music-config.el @@ -393,9 +393,14 @@ debounce timer can outlive the playlist buffer." (let ((ov (make-overlay (line-beginning-position) (1+ (line-beginning-position))))) (overlay-put ov 'cj-music-row-number t) + ;; The cursor property makes redisplay draw the cursor ON + ;; the number when point sits at the row start; without it + ;; the cursor lands after the before-string, on the + ;; album-art thumbnail, where it's invisible. (overlay-put ov 'before-string (propertize (format "%3d " n) - 'face 'cj/music-keyhint-face)))) + 'face 'cj/music-keyhint-face + 'cursor t)))) (forward-line 1)))))))) (defun cj/music--schedule-renumber (&rest _) @@ -893,11 +898,13 @@ Intended for use on `emms-player-finished-hook'." ) -(defvar cj/music-playlist-window-height 0.3 +(defvar cj/music-playlist-window-height 0.33 "Default fraction of frame height for the F10 music playlist side window. +A third of the frame, so a playlist of real length shows enough rows. Used when the playlist hasn't been resized and toggled off this session; after that, the toggled-off height is remembered in -`cj/--music-playlist-height'.") +`cj/--music-playlist-height' -- but only when it's at least this default +\(see the discard in `cj/music-playlist-toggle').") (defvar cj/--music-playlist-height nil "Last height fraction the playlist was toggled off at. @@ -920,6 +927,13 @@ resized and toggled off this session, it reopens at that remembered height." (if win (progn (cj/side-window-capture-size win 'bottom 'cj/--music-playlist-height) + ;; Remember enlargements only. Window churn (another side window + ;; opening) squeezes the dock, and remembering the squeeze reopens + ;; it too short on every later toggle. A deliberate shrink is the + ;; rare case; losing it costs one resize. + (when (and (numberp cj/--music-playlist-height) + (< cj/--music-playlist-height cj/music-playlist-window-height)) + (setq cj/--music-playlist-height nil)) (delete-window win) (message "Playlist window closed")) (progn |
