summaryrefslogtreecommitdiffstats
path: root/.config/mpv/script-opts/uosc.conf
blob: 9ef976a914d478585d4e45889f947f34eaefe696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# Display style of current position. available: line, bar
timeline_style=line
# Line display style config
timeline_line_width=2
timeline_line_width_fullscreen=2
# Scale the width of the line when minimized (timeline_size_min)
timeline_line_width_minimized_scale=2
# Timeline size when minimized, 0 will hide it completely
timeline_size_min=0
# Timeline size when fully expanded, in pixels, 0 to disable
timeline_size_max=40
# Same as ^ but when in fullscreen
timeline_size_min_fullscreen=0
timeline_size_max_fullscreen=50
# Same thing as calling toggle-progress command once on startup
timeline_start_hidden=no
# Comma separated states when timeline should always be visible. available: paused, audio, image, video, idle
timeline_persistency=
# Timeline opacity
timeline_opacity=1
# Top border of background color to help visually separate timeline from video
timeline_border=2
# When scrolling above timeline, wheel will seek by this amount of seconds
timeline_step=5
# Opacity of chapter indicators in timeline, 0 to disable
timeline_chapters_opacity=0.8
# Render cache indicators for streaming content
timeline_cache=yes

# A comma delimited list of items to construct the controls bar above the timeline. Set to `never` to disable.
# Parameter spec: enclosed in `{}` means value, enclosed in `[]` means optional
# Full item syntax: `[<[!]{disposition1}[,[!]{dispositionN}]>]{element}[:{paramN}][#{badge}[>{limit}]][?{tooltip}]`
# Common properties:
#   `{icon}` - parameter used to specify an icon name (example: `face`)
#            - you can pick one here: https://fonts.google.com/icons?selected=Material+Icons&icon.style=Rounded
# `{element}`s and their parameters:
#   `{usoc_command}` - preconfigured shorthands for uosc commands that make sense to have as buttons:
#      - `menu`, `subtitles`, `audio`, `video`, `playlist`, `chapters`, `editions`, `stream-quality`,
#        `open-file`, `items`, `next`, `prev`, `first`, `last`, `audio-device`
#   `fullscreen` - toggle fullscreen
#   `loop-playlist` - button to toggle playlist looping
#   `loop-file` - button to toggle current file looping
#   `shuffle` - toggle for uosc's shuffle mode
#   `speed[:{scale}]` - display speed slider, [{scale}] - factor of controls_size, default: 1.3
#   `command:{icon}:{command}` - button that executes a {command} when pressed
#   `toggle:{icon}:{prop}[@{owner}]` - button that toggles mpv property
#   `cycle:{default_icon}:{prop}[@{owner}]:{value1}[={icon1}][!]/{valueN}[={iconN}][!]`
#     - button that cycles mpv property between values, each optionally having different icon and active flag
#     - presence of `!` at the end will style the button as active
#     - `{owner}` is the name of a scrip that manages this property if any
#   `gap[:{scale}]` - display an empty gap, {scale} - factor of controls_size, default: 0.3
#   `space` - fills all available space between previous and next item, useful to align items to the right
#           - multiple spaces divide the available space among themselves, which can be used for centering
# Item visibility control:
#   `<[!]{disposition1}[,[!]{dispositionN}]>` - optional prefix to control element's visibility
#   - `{disposition}` can be one of:
#     - `idle` - true if mpv is in idle mode (no file loaded)
#     - `image` - true if current file is a single image
#     - `audio` - true for audio only files
#     - `video` - true for files with a video track
#     - `has_many_video` - true for files with more than one video track
#     - `has_audio` - true for files with an audio track
#     - `has_many_audio` - true for files with more than one audio track
#     - `has_sub` - true for files with an subtitle track
#     - `has_many_sub` - true for files with more than one subtitle track
#     - `has_many_edition` - true for files with more than one edition
#     - `has_chapter` - true for files with chapter list
#     - `stream` - true if current file is read from a stream
#     - `has_playlist` - true if current playlist has 2 or more items in it
#   - prefix with `!` to negate the required disposition
#   Examples:
#     - `<stream>stream-quality` - show stream quality button only for streams
#     - `<has_audio,!audio>audio` - show audio tracks button for all files that have
#                                   an audio track, but are not exclusively audio only files
# Place `#{badge}[>{limit}]` after the element params to give it a badge. Available badges:
#   `sub`, `audio`, `video` - track type counters
#   `{mpv_prop}` - any mpv prop that makes sense to you: https://mpv.io/manual/master/#property-list
#                - if prop value is an array it'll display its size
#   `>{limit}` will display the badge only if it's numerical value is above this threshold.
#   Example: `#audio>1`
# Place `?{tooltip}` after the element config to give it a tooltip.
#   Example: `<stream>stream-quality?Stream quality`
# Example implementations of some of the available shorthands:
#   menu = command:menu:script-binding uosc/menu-blurred?Menu
#   subtitles = command:subtitles:script-binding uosc/subtitles#sub?Subtitles
#   fullscreen = cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?Fullscreen
#   loop-playlist = cycle:repeat:loop-playlist:no/inf!?Loop playlist
#   toggle:{icon}:{prop} = cycle:{icon}:{prop}:no/yes!
controls=menu,gap,subtitles,<has_many_audio>audio,<has_many_video>video,<has_many_edition>editions,<stream>stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen
controls_size=32
controls_size_fullscreen=40
controls_margin=8
controls_spacing=2
controls_persistency=

# Where to display volume controls: none, left, right
volume=right
volume_size=40
volume_size_fullscreen=52
volume_opacity=0.9
volume_border=1
volume_step=1
volume_persistency=

# Playback speed widget: mouse drag or wheel to change, click to reset
speed_opacity=0.6
speed_step=0.1
speed_step_is_factor=no
speed_persistency=

# Controls all menus, such as context menu, subtitle loader/selector, etc
menu_item_height=36
menu_item_height_fullscreen=50
menu_min_width=260
menu_min_width_fullscreen=360
menu_opacity=1
menu_parent_opacity=0.4

# Top bar with window controls and media title
# Can be: never, no-border, always
top_bar=no-border
top_bar_size=40
top_bar_size_fullscreen=46
top_bar_controls=yes
top_bar_title=yes
top_bar_title_opacity=0.8
top_bar_persistency=

# Window border drawn in no-border mode
window_border_size=1
window_border_opacity=0.8

# If there's no playlist and file ends, load next file in the directory
# Requires `keep-open=yes` in `mpv.conf`.
autoload=no
# Enable uosc's playlist/directory shuffle mode
# This simply makes the next selected playlist or directory item be random, just
# like any other player in the world. It also has an easily togglable control button.
shuffle=no

# Scale the interface by this factor
ui_scale=1
# Adjust the text scaling to fit your font
font_scale=1
# Border of text and icons when drawn directly on top of video
text_border=1.2
# Use a faster estimation method instead of accurate measurement
# setting this to `no` might have a noticable impact on performance, especially in large menus.
text_width_estimation=yes
# Execute command for background clicks shorter than this number of milliseconds, 0 to disable
# Execution always waits for `input-doubleclick-time` to filter out double-clicks
click_threshold=0
click_command=cycle pause; script-binding uosc/flash-pause-indicator
# Flash duration in milliseconds used by `flash-{element}` commands
flash_duration=1000
# Distances in pixels below which elements are fully faded in/out
proximity_in=60
proximity_out=120
# RGB HEX color codes
foreground=ebdbb2
foreground_text=1d2021
background=1d2021
background_text=ebdbb2
# Use only bold font weight throughout the whole UI
font_bold=no
# Show total time instead of time remaining
total_time=yes
# Display sub second fraction in timestamps up to this precision
time_precision=0
# Display stream's buffered time in timeline if it's lower than this amount of seconds, 0 to disable
buffered_time_threshold=60
# Hide UI when mpv autohides the cursor
autohide=yes
# Can be: none, flash, static, manual (controlled by flash-pause-indicator and decide-pause-indicator commands)
pause_indicator=none
# Screen dim when stuff like menu is open, 0 to disable
curtain_opacity=0.4
# Sizes to list in stream quality menu
stream_quality_options=4320,2160,1440,1080,720,480,360,240,144
# File types to look for when navigating media files
media_types=3g2,3gp,aac,aiff,ape,apng,asf,au,avi,avif,bmp,dsf,f4v,flac,flv,gif,h264,h265,j2k,jp2,jfif,jpeg,jpg,jxl,m2ts,m4a,m4v,mid,midi,mj2,mka,mkv,mov,mp3,mp4,mp4a,mp4v,mpeg,mpg,oga,ogg,ogm,ogv,opus,png,rm,rmvb,spx,svg,tak,tga,tta,tif,tiff,ts,vob,wav,weba,webm,webp,wma,wmv,wv,y4m
# File types to look for when loading external subtitles
subtitle_types=aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt
# Default open-file menu directory
default_directory=~/

# Convers some common chapter types into chapter range indicators.
# Instead of displaying the start of the chapter as a diamond icon on top of the
# timeline, the portion of the timeline owned by that chapter is colored based
# on the config below.
#
# The syntax is a comma delimited list of `{type}:{color}` pairs, where.
# `{type}` - range type. Currently suported ones are:
#   - `openings`, `endings` - anime openings/endings
#   - `intros`, `outros` - video intros/outros
#   - `ads` - sponsor segments created by script: https://github.com/po5/mpv_sponsorblock
# `{color}` - an RGB(A) HEX color code (`rrggbb`, or `rrggbbaa`)
#
# To not convert any of the range types, simply removed it from the list.
chapter_ranges=openings:30abf964,endings:30abf964,ads:c54e4e80
# Add alternative lua patterns to identify begining's of simple chapter ranges (all but `ads`)
# Syntax: `{type}:{pattern}[,{patternN}][;{type}:{pattern}[,{patternN}]]`
chapter_range_patterns=openings:オープニング;endings:エンディング