@@ -2139,11 +2139,14 @@ <h2>Program Behavior</h2>
21392139separating them with the path separator (<tt class="docutils literal">:</tt> on Unix, <tt class="docutils literal">;</tt> on Windows).</p>
21402140<p class="last"><tt class="docutils literal"><span class="pre">--scripts</span></tt> is a path list option. See <a class="reference internal" href="#list-options">List Options</a> for details.</p>
21412141</dd>
2142- <dt><tt class="docutils literal"><span class="pre">--script-opts=key1=value1,key2=value2,...</span></tt></dt>
2142+ <dt><tt class="docutils literal"><span class="pre">--script-opt=<key=value></span></tt>, <tt class="docutils literal"><span class="pre">--script- opts=key1=value1,key2=value2,...</span></tt></dt>
21432143<dd><p class="first">Set options for scripts. A script can query an option by key. If an
21442144option is used and what semantics the option value has depends entirely on
21452145the loaded scripts. Values not claimed by any scripts are ignored.</p>
2146- <p class="last">This is a key/value list option. See <a class="reference internal" href="#list-options">List Options</a> for details.</p>
2146+ <p class="last">Each use of the <tt class="docutils literal"><span class="pre">--script-opt</span></tt> option will add another option to the
2147+ internal list, while <tt class="docutils literal"><span class="pre">--script-opts</span></tt> takes a list of options at once,
2148+ and overwrites the internal list with it. The latter is a key/value list
2149+ option. See <a class="reference internal" href="#list-options">List Options</a> for details.</p>
21472150</dd>
21482151<dt><tt class="docutils literal"><span class="pre">--merge-files</span></tt></dt>
21492152<dd>Pretend that all files passed to mpv are concatenated into a single, big
@@ -14442,10 +14445,13 @@ <h3>The Interface</h3>
1444214445<td>play previous file in playlist</td>
1444314446</tr>
1444414447<tr><td>right-click</td>
14445- <td>show playlist</td>
14448+ <td>open the playlist selector </td>
1444614449</tr>
1444714450<tr><td>shift+L-click</td>
14448- <td>show playlist</td>
14451+ <td>show the playlist</td>
14452+ </tr>
14453+ <tr><td>middle-click</td>
14454+ <td>show the playlist</td>
1444914455</tr>
1445014456</tbody>
1445114457</table>
@@ -14461,18 +14467,21 @@ <h3>The Interface</h3>
1446114467<td>play next file in playlist</td>
1446214468</tr>
1446314469<tr><td>right-click</td>
14464- <td>show playlist</td>
14470+ <td>open the playlist selector </td>
1446514471</tr>
1446614472<tr><td>shift+L-click</td>
14467- <td>show playlist</td>
14473+ <td>show the playlist</td>
14474+ </tr>
14475+ <tr><td>middle-click</td>
14476+ <td>show the playlist</td>
1446814477</tr>
1446914478</tbody>
1447014479</table>
1447114480</dd>
1447214481<dt>title</dt>
1447314482<dd><div class="first line-block">
14474- <div class="line">Displays current media-title, filename, custom title, or target chapter
14475- name while hovering the seekbar.</div>
14483+ <div class="line">Displays the current playlist position and media-title, filename or custom
14484+ title, or the target chapter name while hovering the seekbar.</div>
1447614485</div>
1447714486<table border="1" class="last docutils">
1447814487<colgroup>
@@ -14481,10 +14490,13 @@ <h3>The Interface</h3>
1448114490</colgroup>
1448214491<tbody valign="top">
1448314492<tr><td>left-click</td>
14484- <td>show playlist position and length and full title</td>
14493+ <td>open the playlist selector</td>
14494+ </tr>
14495+ <tr><td>middle-click</td>
14496+ <td>show the filename</td>
1448514497</tr>
1448614498<tr><td>right-click</td>
14487- <td>show filename </td>
14499+ <td>show file and track info </td>
1448814500</tr>
1448914501</tbody>
1449014502</table>
@@ -14504,6 +14516,9 @@ <h3>The Interface</h3>
1450414516<tr><td>left-click</td>
1450514517<td>toggle play/pause</td>
1450614518</tr>
14519+ <tr><td>right-click</td>
14520+ <td>toggle infinite looping</td>
14521+ </tr>
1450714522</tbody>
1450814523</table>
1450914524</dd>
@@ -14574,6 +14589,9 @@ <h3>The Interface</h3>
1457414589<tr><td>left-click</td>
1457514590<td>seek to position</td>
1457614591</tr>
14592+ <tr><td>right-click</td>
14593+ <td>seek to the nearest chapter</td>
14594+ </tr>
1457714595<tr><td>mouse wheel</td>
1457814596<td>seek forward/backward</td>
1457914597</tr>
@@ -14607,14 +14625,17 @@ <h3>The Interface</h3>
1460714625</colgroup>
1460814626<tbody valign="top">
1460914627<tr><td>left-click</td>
14610- <td>cycle audio/sub tracks forward</td>
14611- </tr>
14612- <tr><td>right-click</td>
14613- <td>cycle audio/sub tracks backwards</td>
14628+ <td>open the audio/sub track selector</td>
1461414629</tr>
1461514630<tr><td>shift+L-click</td>
1461614631<td>show available audio/sub tracks</td>
1461714632</tr>
14633+ <tr><td>middle-click</td>
14634+ <td>show available audio/sub tracks</td>
14635+ </tr>
14636+ <tr><td>right-click</td>
14637+ <td>show available audio/sub tracks</td>
14638+ </tr>
1461814639<tr><td>mouse wheel</td>
1461914640<td>cycle audio/sub tracks forward/backwards</td>
1462014641</tr>
@@ -14631,6 +14652,9 @@ <h3>The Interface</h3>
1463114652<tr><td>left-click</td>
1463214653<td>toggle mute</td>
1463314654</tr>
14655+ <tr><td>right-click</td>
14656+ <td>open the audio device selector</td>
14657+ </tr>
1463414658<tr><td>mouse wheel</td>
1463514659<td>volume up/down</td>
1463614660</tr>
@@ -14647,6 +14671,9 @@ <h3>The Interface</h3>
1464714671<tr><td>left-click</td>
1464814672<td>toggle fullscreen</td>
1464914673</tr>
14674+ <tr><td>right-click</td>
14675+ <td>toggle whether the window is maximized</td>
14676+ </tr>
1465014677</tbody>
1465114678</table>
1465214679</dd>
@@ -14804,7 +14831,7 @@ <h3>Configurable Options</h3>
1480414831<p class="last">Duration of fade out in ms, 0 = no fade</p>
1480514832</dd>
1480614833<dt><tt class="docutils literal">title</tt></dt>
14807- <dd><p class="first">Default: ${media-title}</p>
14834+ <dd><p class="first">Default: ${!playlist-count==1:[${playlist-pos-1}/${playlist-count}] }${ media-title}</p>
1480814835<p class="last">String that supports property expansion that will be displayed as
1480914836OSC title.
1481014837ASS tags are escaped and newlines are converted to spaces.</p>
@@ -14968,6 +14995,44 @@ <h3>Configurable Options</h3>
1496814995<p class="last">Use display fps to calculate the interval between OSC redraws.</p>
1496914996</dd>
1497014997</dl>
14998+ <p>The following options configure what commands are run when the buttons are
14999+ clicked. <tt class="docutils literal">mbtn_mid</tt> commands are also triggered with <tt class="docutils literal">shift+mbtn_left</tt>.</p>
15000+ <p><tt class="docutils literal"><span class="pre">title_mbtn_left_command=script-binding</span> <span class="pre">select/select-playlist;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15001+ <p><tt class="docutils literal"><span class="pre">title_mbtn_mid_command=show-text</span> ${filename}</tt></p>
15002+ <p><tt class="docutils literal"><span class="pre">title_mbtn_right_command=script-binding</span> <span class="pre">stats/display-page-5</span></tt></p>
15003+ <p><tt class="docutils literal"><span class="pre">playlist_prev_mbtn_left_command=playlist-prev;</span> <span class="pre">show-text</span> ${playlist} 3000</tt></p>
15004+ <p><tt class="docutils literal"><span class="pre">playlist_prev_mbtn_mid_command=show-text</span> ${playlist} 3000</tt></p>
15005+ <p><tt class="docutils literal"><span class="pre">playlist_prev_mbtn_right_command=script-binding</span> <span class="pre">select/select-playlist;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15006+ <p><tt class="docutils literal"><span class="pre">playlist_next_mbtn_left_command=playlist-next;</span> <span class="pre">show-text</span> ${playlist} 3000</tt></p>
15007+ <p><tt class="docutils literal"><span class="pre">playlist_next_mbtn_mid_command=show-text</span> ${playlist} 3000</tt></p>
15008+ <p><tt class="docutils literal"><span class="pre">playlist_next_mbtn_right_command=script-binding</span> <span class="pre">select/select-playlist;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15009+ <p><tt class="docutils literal">play_pause_mbtn_left_command=cycle pause</tt></p>
15010+ <p><tt class="docutils literal">play_pause_mbtn_mid_command=</tt></p>
15011+ <p><tt class="docutils literal"><span class="pre">play_pause_mbtn_right_command=cycle-values</span> <span class="pre">loop-file</span> inf no</tt></p>
15012+ <p><tt class="docutils literal"><span class="pre">chapter_prev_mbtn_left_command=no-osd</span> add chapter <span class="pre">-1;</span> <span class="pre">show-text</span> <span class="pre">${chapter-list}</span> 3000</tt></p>
15013+ <p><tt class="docutils literal"><span class="pre">chapter_prev_mbtn_mid_command=show-text</span> <span class="pre">${chapter-list}</span> 3000</tt></p>
15014+ <p><tt class="docutils literal"><span class="pre">chapter_prev_mbtn_right_command=script-binding</span> <span class="pre">select/select-chapter;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15015+ <p><tt class="docutils literal"><span class="pre">chapter_next_mbtn_left_command=no-osd</span> add chapter 1; <span class="pre">show-text</span> <span class="pre">${chapter-list}</span> 3000</tt></p>
15016+ <p><tt class="docutils literal"><span class="pre">chapter_next_mbtn_mid_command=show-text</span> <span class="pre">${chapter-list}</span> 3000</tt></p>
15017+ <p><tt class="docutils literal"><span class="pre">chapter_next_mbtn_right_command=script-binding</span> <span class="pre">select/select-chapter;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15018+ <p><tt class="docutils literal"><span class="pre">audio_track_mbtn_left_command=script-binding</span> <span class="pre">select/select-aid;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15019+ <p><tt class="docutils literal"><span class="pre">audio_track_mbtn_mid_command=show-text</span> <span class="pre">${track-list/audio}</span> 2000</tt></p>
15020+ <p><tt class="docutils literal"><span class="pre">audio_track_mbtn_right_command=show-text</span> <span class="pre">${track-list/audio}</span> 2000</tt></p>
15021+ <p><tt class="docutils literal">audio_track_wheel_down_command=cycle audio</tt></p>
15022+ <p><tt class="docutils literal">audio_track_wheel_up_command=cycle audio down</tt></p>
15023+ <p><tt class="docutils literal"><span class="pre">sub_track_mbtn_left_command=script-binding</span> <span class="pre">select/select-sid;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15024+ <p><tt class="docutils literal"><span class="pre">sub_track_mbtn_mid_command=show-text</span> <span class="pre">${track-list/sub}</span> 2000</tt></p>
15025+ <p><tt class="docutils literal"><span class="pre">sub_track_mbtn_right_command=show-text</span> <span class="pre">${track-list/sub}</span> 2000</tt></p>
15026+ <p><tt class="docutils literal">sub_track_wheel_down_command=cycle sub</tt></p>
15027+ <p><tt class="docutils literal">sub_track_wheel_up_command=cycle sub down</tt></p>
15028+ <p><tt class="docutils literal"><span class="pre">volume_mbtn_left_command=no-osd</span> cycle mute</tt></p>
15029+ <p><tt class="docutils literal">volume_mbtn_mid_command=</tt></p>
15030+ <p><tt class="docutils literal"><span class="pre">volume_mbtn_right_command=script-binding</span> <span class="pre">select/select-audio-device;</span> <span class="pre">script-message-to</span> osc <span class="pre">osc-hide</span></tt></p>
15031+ <p><tt class="docutils literal">volume_wheel_down_command=add volume <span class="pre">-5</span></tt></p>
15032+ <p><tt class="docutils literal">volume_wheel_up_command=add volume 5</tt></p>
15033+ <p><tt class="docutils literal"><span class="pre">fullscreen_mbtn_left_command="cycle</span> fullscreen"</tt></p>
15034+ <p><tt class="docutils literal">fullscreen_mbtn_mid_command=</tt></p>
15035+ <p><tt class="docutils literal"><span class="pre">fullscreen_mbtn_right_command="cycle</span> <span class="pre">window-maximized"</span></tt></p>
1497115036</div>
1497215037<div class="section" id="script-commands">
1497315038<h3>Script Commands</h3>
@@ -14979,6 +15044,8 @@ <h3>Script Commands</h3>
1497915044and also <tt class="docutils literal">cycle</tt> to cycle between the modes.</dd>
1498015045<dt><tt class="docutils literal"><span class="pre">osc-show</span></tt></dt>
1498115046<dd>Triggers the OSC to show up, just as if user moved mouse.</dd>
15047+ <dt><tt class="docutils literal"><span class="pre">osc-hide</span></tt></dt>
15048+ <dd>Hide the OSC when <tt class="docutils literal">visibility</tt> is <tt class="docutils literal">auto</tt>.</dd>
1498215049</dl>
1498315050<p>Example</p>
1498415051<p>You could put this into <tt class="docutils literal">input.conf</tt> to hide the OSC with the <tt class="docutils literal">a</tt> key and
@@ -15261,11 +15328,11 @@ <h3>Active key bindings page</h3>
1526115328<p>The keys are grouped automatically using a simple analysis of the command
1526215329string, and one should not expect documentation-level grouping accuracy,
1526315330however, it should still be reasonably useful.</p>
15264- <p>Using <tt class="docutils literal"><span class="pre">--idle</span> <span class="pre">--script-opts-append =stats-bindlist=yes</span></tt> will print the list to
15331+ <p>Using <tt class="docutils literal"><span class="pre">--idle</span> <span class="pre">--script-opt =stats-bindlist=yes</span></tt> will print the list to
1526515332the terminal and quit immediately. Long lines are clipped to the terminal width
15266- unless this is disabled with <tt class="docutils literal"><span class="pre">--script-opts-append =stats-term_clip=no</span></tt>. Escape
15333+ unless this is disabled with <tt class="docutils literal"><span class="pre">--script-opt =stats-term_clip=no</span></tt>. Escape
1526715334sequences can be disabled by adding <tt class="docutils literal">-</tt> before <tt class="docutils literal">yes</tt>, i.e.
15268- <tt class="docutils literal"><span class="pre">--script-opts-append =stats-bindlist=-yes</span></tt>.</p>
15335+ <tt class="docutils literal"><span class="pre">--script-opt =stats-bindlist=-yes</span></tt>.</p>
1526915336<p>Like with <tt class="docutils literal"><span class="pre">--input-test</span></tt>, the list includes bindings from <tt class="docutils literal">input.conf</tt> and
1527015337from user scripts. Use <tt class="docutils literal"><span class="pre">--no-config</span></tt> to list only built-in bindings.</p>
1527115338</div>
0 commit comments