Files
SubMiner/docs-site/subtitle-sidebar.md
T
sudacode 9eecb7358b docs: refresh user-facing guides and examples
- Clarify current integration, media review, and Anki behavior
- Remove obsolete AI translation and configuration references
- Standardize headings and prose across docs
2026-09-08 00:23:38 -07:00

6.5 KiB

Subtitle sidebar

The subtitle sidebar puts the whole parsed cue list for the active subtitle file in a scrollable panel next to mpv. Scroll back through lines you already passed, look ahead at what is coming, and click any cue to seek straight to it. The overlay only ever shows the current line; the sidebar shows the rest.

The sidebar is enabled by default. Set subtitleSidebar.enabled to false if you want to turn it off.

How it works

When SubMiner parses the active subtitle source into a cue list, the sidebar becomes available. Toggle it with the \ key (configurable via subtitleSidebar.toggleKey). While open:

  • The active cue is highlighted and kept in view as playback advances (when autoScroll is true).
  • Clicking any cue seeks mpv into that line. For overlapping ASS karaoke, SubMiner moves past the previous line's exit animation when the selected cue has enough time remaining.
  • The sidebar and the overlay share one cue list, so a media change or subtitle source switch updates both at once.

For typeset ASS karaoke and animated signs, SubMiner collapses generated animation frames and repeated full-line color phases before they reach the sidebar. It recovers a clean complete line from a matching timed authoring comment or from full-line events surrounding generated fragments. Ordinary ASS comments, editor notes, alternate lines, repeated dialogue, and separately positioned signs remain distinct.

The sidebar only opens when a parsed cue list exists. Subtitle sources SubMiner cannot parse, such as embedded ASS tracks that mpv renders itself, leave it empty.

Selecting and copying dialogue

Drag across subtitle text to select an excerpt, including across multiple rows. Scroll to extend a selection through a longer conversation. Ctrl/Cmd+C or the Copy button copies the highlighted text in subtitle order, without timestamps. Partial first and last lines are preserved, with a blank line between subtitle cues.

Dragging to select does not seek playback. Playback-following auto-scroll stops while you drag or have a selection, so the excerpt stays in view. Press Escape to clear the selection. An ordinary click with no selection still seeks to that cue.

Selection survives playback updates and Yomitan popup dismissal. Changing media or subtitle sources, refreshing the cue list, or closing the sidebar clears it. Copying an excerpt does not require creating an Anki card.

Layout modes

Two layout modes are available via subtitleSidebar.layout:

overlay (default) - The sidebar floats over mpv as a panel. It does not affect the player window size or position.

embedded - Reserves space on the right side of the player and shifts the video area over, giving you a split pane. Use this when you want the cue list up without it covering the video. Positioning depends on the compositor, so switch back to overlay if the geometry comes out wrong.

Configuration

Enable and configure the sidebar under subtitleSidebar in your config file:

{
  "subtitleSidebar": {
    "enabled": true,
    "autoOpen": false,
    "layout": "overlay",
    "toggleKey": "Backslash",
    "pauseVideoOnHover": true,
    "autoScroll": true,
    "css": {
      "font-family": "Hiragino Sans, M PLUS 1, Source Han Sans JP, Noto Sans CJK JP",
      "color": "#cad3f5",
      "background-color": "rgba(73, 77, 100, 0.9)",
      "font-size": "16px",
      "opacity": "0.95",
      "--subtitle-sidebar-max-width": "420px",
      "--subtitle-sidebar-timestamp-color": "#a5adcb",
      "--subtitle-sidebar-active-line-color": "#f5bde6",
      "--subtitle-sidebar-active-background-color": "rgba(138, 173, 244, 0.22)",
      "--subtitle-sidebar-hover-background-color": "rgba(54, 58, 79, 0.84)"
    }
  }
}

Styling lives under the css object, using CSS property names and CSS custom properties (the same pattern as subtitleStyle.css).

Option Type Default Description
enabled boolean true Enable subtitle sidebar support
autoOpen boolean false Open the sidebar automatically on overlay startup
layout string "overlay" "overlay" floats over mpv; "embedded" reserves right-side player space
toggleKey string "Backslash" KeyboardEvent.code for the toggle shortcut
pauseVideoOnHover boolean true Pause playback while hovering the cue list
autoScroll boolean true Keep the active cue in view during playback
css property Default Description
font-family Hiragino Sans, M PLUS 1, Source Han Sans JP, Noto Sans CJK JP Cue text font family
color #cad3f5 Default cue text color
background-color rgba(73, 77, 100, 0.9) Sidebar shell background color
font-size 16px Base cue font size
opacity 0.95 Sidebar opacity between 0 and 1
--subtitle-sidebar-max-width 420px Maximum sidebar width
--subtitle-sidebar-timestamp-color #a5adcb Cue timestamp color
--subtitle-sidebar-active-line-color #f5bde6 Active cue text color
--subtitle-sidebar-active-background-color rgba(138, 173, 244, 0.22) Active cue background color
--subtitle-sidebar-hover-background-color rgba(54, 58, 79, 0.84) Hovered cue background color

Keyboard shortcut

Key Action Config key
\ Toggle subtitle sidebar subtitleSidebar.toggleKey

The toggle is overlay-local and only opens when SubMiner has a parsed cue list for the active subtitle source. See Keyboard Shortcuts for the full shortcut reference.