-
Notifications
You must be signed in to change notification settings - Fork 69
/
uosc.conf
238 lines (226 loc) · 12.8 KB
/
uosc.conf
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
# Display style of current position. available: line, bar
timeline_style=line
# Line display style config
timeline_line_width=2
# Timeline size when fully expanded, in pixels, 0 to disable
timeline_size=40
# Comma separated states when element should always be fully visible.
# Available: paused, audio, image, video, idle, windowed, fullscreen
timeline_persistency=
# Top border of background color to help visually separate timeline from video
timeline_border=1
# When scrolling above timeline, wheel will seek by this amount of seconds.
# Default uses fast seeking. Add `!` suffix to enable exact seeks. Example: `5!`
timeline_step=5
# Render cache indicators for streaming content
timeline_cache=yes
# When to display an always visible progress bar (minimized timeline). Can be: windowed, fullscreen, always, never
# Can also be toggled on demand with `toggle-progress` command.
progress=windowed
progress_size=2
progress_line_width=20
# A comma delimited list of controls 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`)
# - pick here: https://fonts.google.com/icons?icon.platform=web&icon.set=Material+Icons&icon.style=Rounded
# `{element}`s and their parameters:
# `{shorthand}` - preconfigured shorthands:
# `play-pause`, `menu`, `subtitles`, `audio`, `video`, `playlist`,
# `chapters`, `editions`, `stream-quality`, `open-file`, `items`,
# `next`, `prev`, `first`, `last`, `audio-device`, `fullscreen`,
# `loop-playlist`, `loop-file`, `shuffle`, `autoload`
# `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. shorthand for yes/no cycle below
# `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 script that manages this property if any. Set to `uosc` to tap into uosc options.
# `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
# `button:{name}` - button whose state, look, and click action are managed by external script
# 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_image` - true for files with a cover or other image 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 implementations:
# 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_margin=8
controls_spacing=2
controls_persistency=
# Where to display volume controls: none, left, right
volume=right
volume_size=40
volume_border=1
volume_step=1
volume_persistency=
# Playback speed widget: mouse drag or wheel to change, click to reset
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_min_width=260
menu_padding=4
# Determines if `/` or `ctrl+f` is required to activate the search, or if typing
# any text is sufficient.
# When enabled, you can no longer toggle a menu off with the same key that opened it, if the key is a unicode character.
menu_type_to_search=yes
# Top bar with window controls and media title
# Can be: never, no-border, always
top_bar=no-border
top_bar_size=40
# Can be: `no` (hide), left or right
top_bar_controls=right
# Can be: `no` (hide), `yes` (inherit title from mpv.conf), or a custom template string
top_bar_title=yes
# Template string to enable alternative top bar title. If alt title matches main title,
# it'll be hidden. Tip: use `${media-title}` for main, and `${filename}` for alt title.
top_bar_alt_title=
# Can be:
# `below` => display alt title below the main one
# `toggle` => toggle the top bar title text between main and alt by clicking
# the top bar, or calling `toggle-title` binding
top_bar_alt_title_place=below
# Flash top bar when any of these file types is loaded. Available: audio,video,image,chapter
top_bar_flash_on=video,audio
top_bar_persistency=
# Window border drawn in no-border mode
window_border_size=1
# If there's no playlist and file ends, load next file in directory
# Uses `load_types` config below to determine what type of file to load next.
# When enabled, usoc will set mpv config `keep-open` to `yes`, and `keep-open-pause` to `no`.
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
scale=1
# Scale in fullscreen
scale_fullscreen=1.3
# 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
# Border radius of buttons, menus, and all other rectangles
border_radius=4
# A comma delimited list of color overrides in RGB HEX format. Defaults:
# foreground=ffffff,foreground_text=000000,background=000000,background_text=ffffff,curtain=111111,success=a5e075,error=ff616e
color=
# A comma delimited list of opacity overrides for various UI element backgrounds and shapes.
# This does not affect any text, which is always rendered fully opaque. Defaults:
# timeline=0.9,position=1,chapters=0.8,slider=0.9,slider_gauge=1,controls=0,speed=0.6,menu=1,submenu=0.4,border=1,title=1,tooltip=1,thumbnail=1,curtain=0.8,idle_indicator=0.8,audio_indicator=0.5,buffering_indicator=0.3,playlist_position=0.8
opacity=
# A comma delimited list of features to refine at a cost of some performance impact.
# text_width - Use a more accurate text width measurement that measures each text string individually
# instead of just measuring the width of known letters once and adding them up.
# sorting - Use filename sorting that handles non-english languages better, especially asian ones.
# At the moment, this is only available on windows, and has no effect on other platforms.
refine=
# Duration of animations in milliseconds
animation_duration=100
# 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=40
proximity_out=120
# Use only bold font weight throughout the whole UI
font_bold=no
# One of `total`, `playtime-remaining` (scaled by the current speed), `time-remaining` (remaining length of file)
destination_time=playtime-remaining
# 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. Timing is controlled by `cursor-autohide` in `mpv.conf` (in milliseconds).
autohide=no
# Can be: flash, static, manual (controlled by flash-pause-indicator and decide-pause-indicator commands)
pause_indicator=flash
# Sizes to list in stream quality menu
stream_quality_options=4320,2160,1440,1080,720,480,360,240,144
# Types to identify media files
video_types=3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m
audio_types=aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv
image_types=apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp
subtitle_types=aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt
playlist_types=m3u,m3u8,pls,url,cue
# Type pools used by file navigation and `autoload` to determine what type of file to load next
# Available: video,audio,image,playlist,same. `same` means the same type pool (not just extension) as currently open file.
load_types=video,audio,image
# Default open-file menu directory. Use `{drives}` to open drives menu on windows (defaults to `/` on unix).
default_directory=~/
# List hidden files when reading directories. Due to environment limitations, this currently only hides
# files starting with a dot. Doesn't hide hidden files on windows (we have no way to tell they're hidden).
show_hidden_files=no
# Move files to trash (recycle bin) when deleting files. Dependencies:
# - Linux: `sudo apt install trash-cli`
# - MacOS: `brew install trash`
use_trash=no
# Adjusted osd margins based on the visibility of UI elements
adjust_osd_margins=yes
# Adds chapter range indicators to some common chapter types.
# Additionally to displaying the start of the chapter as a diamond icon on top of the timeline,
# the portion of the timeline of that chapter range is also colored based on the config below.
#
# The syntax is a comma-delimited list of `{type}:{color}` pairs, where:
# `{type}` => range type. Currently supported ones are:
# - `openings`, `endings` => anime openings/endings
# - `intros`, `outros` => video intros/outros
# - `ads` => segments created by sponsor-block software like https://github.com/po5/mpv_sponsorblock
# `{color}` => an RGB(A) HEX color code (`rrggbb`, or `rrggbbaa`)
#
# To exclude marking any of the range types, simply remove them from the list.
chapter_ranges=openings:30abf964,endings:30abf964,ads:c54e4e80
# Add alternative lua patterns to identify beginnings of simple chapter ranges (except for `ads`)
# Syntax: `{type}:{pattern}[,{patternN}][;{type}:{pattern}[,{patternN}]]`
chapter_range_patterns=openings:オープニング;endings:エンディング
# Localization language priority from highest to lowest.
# Also controls what languages are fetched by `download-subtitles` menu.
# Built in languages can be found in `uosc/intl`.
# `slang` is a keyword to inherit values from `--slang` mpv config.
# Supports paths to custom json files: `languages=~~/custom.json,slang,en`
languages=slang,en
# A comma separated list of element IDs to disable. Available IDs:
# window_border, top_bar, timeline, controls, volume,
# idle_indicator, audio_indicator, buffering_indicator, pause_indicator
disable_elements=