# 时间轴中当前位置的显示样式。可用：line, bar
timeline_style=bar
# 时间线（line）宽度（窗口/全屏模式）
timeline_line_width=2
# 进度条完全展开时的时间轴大小，以像素为单位，0 表示禁用
timeline_size=30
# 背景颜色的顶部边框，有助于在视觉上将时间轴与视频分开
timeline_border=1
# 指定在时间线上使用鼠标滚轮时，跳转的步进秒数。默认：5
# 默认使用快速查找。添加 '!' 后缀以启用精确查找。示例：'5!'
timeline_step=5
# 是否在时间轴上显示网络内容的渲染缓存指标，默认：yes
timeline_cache=yes
# 设置时间轴应始终可见的状态。使用逗号分隔，可用：paused, audio, image, video, idle, windowed, fullscreen
timeline_persistency=
# 设置何时显示始终可见的进度条（最小化时间线）。可以是：windowed(默认值), fullscreen, always, never
# 也可以使用 `toggle-progress` 命令按需切换
progress=windowed
progress_size=2
progress_line_width=10

# 以逗号分隔的项列表，用于构造时间轴上方的控制栏。设置为`never`以禁用
# 参数规范：括在`{}`中表示值，括在`[]`中表示可选
# 完整的条目语法：`[<[!]{disposition1}[,[!]{dispositionN}]>]{element}[:{paramN}][#{badge}[>{limit}]][?{tooltip}]`
#
# 常用属性参考：
# `{icon}` 指定图标名称的参数（例如 face）这里查询所有可用的值 https://fonts.google.com/icons?icon.platform=web&icon.set=Material+Icons&icon.style=Rounded
# `{element}`的参数及介绍：
#   `{shorthand}` - 以下的可用值都是预配置好的快捷指令，可作为按钮：
#      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}]            （速度滑块 其中控件系数的尺寸，默认 1.3）
#      command:{icon}:{command}   （按下该按钮时执行的指令）
#      toggle:{icon}:{prop}       （切换 mpv 属性的按钮）
#
#      cycle:{default_icon}:{prop}:{value1}[={icon1}][!]/{valueN}[={iconN}][!]
#        在不同 mpv 属性的值之间循环的按钮，每个值都可以选择不同的 {icon} 和激活标记。结尾处赋予可选的半角感叹号，将使该按钮成为可激活的样式。
#
#      gap[:{scale}]   （留出一个间隔 其中系数的尺寸，默认 0.3）
#      space（填补上两个控件之间的所有空间，对于将条目右对齐非常有用。用多个 space 可在它们之间分配空间，可用于居中对齐）
#
# 控件条目的可见性控制：
##   `<[!]{disposition1}[+[!]{dispositionN}][,{more_dispositions}]>` - 可选的前缀是用于控制 {element} 的可见性
#   - `+` 创建 AND 条件，`,` 拆分为 OR 组。示例：`<foo,bar+baz>` -> `foo OR (bar AND baz)`
#   - `{disposition}` 的可用值：
##      idle             如果 mpv 处于空闲状态则为 true
##      image            如果当前文件为单帧图片则为 true
##      audio            如果当前文件为纯音频则为 true
##      video            如果当前文件存在视频轨则为 true
##      has_many_video   如果当前文件存在多个视频轨则为 true
##      has_image        如果当前文件带有封面或其他图像轨道则为 true
##      has_audio        如果当前文件存在音轨则为 true
##      has_many_audio   如果当前文件存在多个音轨则为 true
##      has_sub          如果当前文件存在字幕轨则为 true
##      has_many_sub     如果当前文件存在多个字幕轨则为 true
##      has_many_edition 如果当前文件存在多个版本则为 true
##      has_chapter      如果当前文件存在章节则为 true
##      stream           如果当前文件为流则为 true
##      has_playlist     如果当前列表存在多个文件则为 true
##      {mpv_prop}       任何 mpv 属性（注意：可以在脚本中设置 `user-data/foo` 以添加自定义属性）
##     可选的`!`前缀可用来反转所需的处理方式
## 示例：
##     - `<stream>stream-quality` - 仅对流媒体显示“流式传输品质偏好”按钮
##     - `<has_audio,!audio>audio` - 对所有存在音轨的文件显示“音轨列表”按钮，但不包括纯音频的文件
#
# 将 `#{badge}[>{limit}]` 放在 `{element}` 参数后，可赋予它一个徽章标记。可用的 `badge` 值：
##   `sub`, `audio`, `video` - 轨道计数值
##   `{mpv_prop}` -  如果 mpv 的属性值是一个数组，将显示其大小。可用的属性参见：https://mpv.io/manual/master/#property-list
##   `>{limit}` 只有当它的数值高于此阈值时，才会显示徽章标记
##   示例：`#audio>1`
#
# 将 `?{tooltip}` 放在 `{element}` 的设置后面，赋予它一个工具提示
## 示例：`<stream>stream-quality?Stream quality`
#
# 一些可用的快捷指令的实现示范：
##   menu = command:menu:script-binding uosc/menu-blurred?Menu
##   subtitles = command:subtitles:script-binding uosc/subtitles#sub>1?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,open-file,<idle>command:history:script-binding recentmenu/open?最近播放,<idle>command:bookmarks:script-binding simplebookmark/open-list?书签菜单,<idle>command:file_copy:script-binding smartcopypaste_II/open-list?剪贴菜单,gap,<!idle>command:analytics:script-binding stats/display-stats-toggle?统计,<stream>stream-quality,<audio,has_image>command:image:script-binding uosc/video#video?封面,<has_many_edition>editions,<video>video,<has_audio+!audio>audio,<video,audio>subtitles,<has_chapter>chapters,space,<has_chapter>command:skip_previous:add chapter -1?上一章节,<video,audio>speed,<has_chapter>command:skip_next:add chapter 1?下一章节,space,loop-file,shuffle,loop-playlist,gap,<has_playlist>prev,<has_playlist>playlist,<has_playlist>next,gap,audio-device,gap,fullscreen
controls_size=32
controls_margin=8
controls_spacing=2
controls_persistency=idle

# 显示音量控制的位置：none, left, right
# 设置音量控制条的样式
volume=right
volume_size=40
volume_border=1
volume_step=1
volume_persistency=

# 播放速度小部件：鼠标拖动或滚轮更改，单击以重置
speed_step=0.1
speed_step_is_factor=no
speed_persistency=

# 控制所有菜单，如上下文菜单，字幕加载器/选择器等
menu_item_height=36
menu_min_width=260
menu_padding=1
# 确定激活搜索需要`/`或`ctrl+f`或者是否键入任何文本就足够了
# 启用后，如果菜单是 unicode 字符，则无法再使用打开菜单的相同键关闭菜单
menu_type_to_search=no


# 顶栏的显隐逻辑（仅在无边框和全屏模式下显示），默认 no-border 其它可用的值：never, always
top_bar=no-border
top_bar_size=40
# 启用顶栏的右侧控制按钮，示例即默认值
top_bar_controls=yes
# 可以是：`no` (隐藏), `yes` (从 mpv.conf 继承标题), 或自定义模板字符串
top_bar_title=yes
# 使用模板字符串以启用替代顶部栏标题。如果替代标题与主标题匹配，它将被隐藏
# 提示：使用 '${media-title}' 表示主标题，使用 '${filename}' 表示替代标题
top_bar_alt_title=${?media-title:${media-title}}
# 可以是：
#   `below`  => 在主标题下方显示替代标题
#   `toggle` => 通过单击顶部栏在主标题和 alt 之间切换顶部栏标题文本，或调用`toggle-title`绑定
top_bar_alt_title_place=below
# 加载以下类型的内容时闪烁顶部栏。可用：audio,image,video,chapter。默认：video,audio，特殊值 none 禁用闪烁
top_bar_flash_on=video,audio
top_bar_persistency=

# 边框模式下绘制的内边框和透明度
window_border_size=1

# 如果没有播放列表和文件结束，加载目录中符合 load_types 选项指定的下一个文件，默认：no
# 当该选项被启用时 uosc 将主动设置 mpv 选项状态：`keep-open=yes`；`keep-open-pause=no`
autoload=no
# 启用播放列表/目录导航随机播放，默认：no
# 这是实现按预期工作的洗牌所必需的，包括目录导航，因为 mpv 内置的“随机播放”选项基本上无法使用
shuffle=no

# 指定 UI 的缩放比例，请参考显示器的 HIDPI 缩放比例
scale=1
# 指定 UI 在全屏时的缩放比例。默认值：1.3
scale_fullscreen=1.3
# 自定义 UI 要使用的字体，推荐使用等宽字体以获得更好的显示效果。默认留空以使用'osd-font'
# font=Noto Sans CJK SC,Noto Color Emoji
# 调整文字缩放以适合您的字体
font_scale=1
# 指定直接在视频顶部绘制时文本和图标的边框。默认值：1.2
text_border=1.2
# 指定按钮、菜单和所有其他矩形的边框半径。默认值：4
border_radius=2
# 设置以逗号分隔的颜色覆盖列表，采用 RGB 十六进制格式：`rrggbb`
# 默认值： foreground=ffffff,foreground_text=000000,background=000000,background_text=ffffff,curtain=111111,match=69c5ff
color=foreground=FFFBFE,foreground_text=1C1B1F,background=1C1B1F,background_text=FFFBFE
# 设置以逗号分隔的不透明度覆盖列表，用于各种 UI 元素背景和形状。文本始终为 100%
# 示例: opacity=timeline=0.5,title=0.5
# 默认: 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=menu=0.9,submenu=0.7,curtain=0.5
# 以逗号分隔的功能列表，以牺牲一些性能影响为代价进行优化。默认：空白
# text_width - 使用更准确的文本宽度测量，单独测量每个文本字符串而不是只测量一次已知字母的宽度并将它们相加
# sorting    - 使用文件名排序可以更好地处理非英语语言，尤其是亚洲语言。目前，此功能仅在 Windows 上可用，对其他平台没有影响
refine=sorting
# 指定过渡动画的持续时间（以毫秒为单位）。默认值：100
animation_duration=100
# `flash-{element}`命令使用的闪存持续时间（以毫秒为单位）
flash_duration=1000
# 以像素为单位的距离，低于该像素的元素完全淡入/淡出
proximity_in=40
proximity_out=120
# 是否在整个 UI 中仅使用粗体字体粗细，默认：no
font_bold=no
# 指定按何种方式显示时间轴右侧时间：`total`, `playtime-remaining`（按当前速度缩放）, `time-remaining` (文件的剩余长度)
destination_time=playtime-remaining
# 指定显示时间戳的亚秒级精度，精确等效到秒的小数点后的位数。默认 0
time_precision=3
# 在时间轴中显示流的缓冲时间，如果它低于此秒数，0 表示禁用
buffered_time_threshold=60
# 是否在 mpv 自动隐藏光标时隐藏 UI，默认：no
autohide=no
# 指定切换暂停状态时显示的指示器样式
# 可以是：none, flash, static, manual (由 flash-pause-indicator 和 decide-pause-indicator 命令控制)
pause_indicator=manual
# 指定在流质量菜单中列出的大小
stream_quality_options=4320,2160,1440,1080,720,480,360,240,144
# 指定导航媒体文件时要查找的文件类型
video_types=3g2,3gp,asf,avi,bdmv,f4v,flv,h264,h265,iso,ifo,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m
audio_types=aac,ac3,aiff,ape,au,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
playlist_types=m3u,m3u8,pls,url,cue
# 指定加载外部字幕时要查找的文件类型
subtitle_types=aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,slt,smi,sub,sup,sbv,srt,ssa,ssf,ttxt,txt,usf,vt,vtt
# 自动加载或请求播放下一个文件时接受哪些类型作为下一个条目
# 可选：video,audio,image,playlist,same。特殊值 same 意味着只加载和当前文件属于同一类型的媒体文件
load_types=same
# 指定打开文件菜单时的默认目录，默认值：~/。使用特殊值 '{drives}' 打开 Windows 上的驱动器菜单（在 unix 上默认为 '/'）
default_directory={drives}
# 读取目录时是否列出隐藏文件，默认：no。由于环境限制，这目前仅隐藏以'.'点开头的文件
# 不会隐藏 Windows 上的隐藏文件（我们无法判断它们是隐藏的）
show_hidden_files=no
# 删除文件时移动到回收站，默认：no
use_trash=yes
# 根据 UI 元素的可见性调整了 OSD 边距，默认：yes
adjust_osd_margins=no


# 将一些常见的章节类型转换为章节范围指标，该章节拥有的时间轴部分基于彩色
# 章节范围指标语法是逗号分隔的“{type}:{color}”
# `{type}` - 范围类型。目前支持有：
#  - `openings` - 开场白和动画开场
#  - `endings` - 外传和动画结局
#  - `ads` - 由脚本创建的赞助商块：https://github.com/po5/mpv_sponsorblock
# `{color}` - 颜色代码，格式为 RRGGBB(AA)
#
# 要不转换任何范围类型，只需将其从列表中删除即可，全部留空即为不启用此特性
# 示例：chapter_ranges=openings:38869680,endings:38869680,ads:a5353580
chapter_ranges=openings:30abf964,endings:30abf964,intros:3fb95080,outros:3fb95080,ads:c54e4e80
# 补充额外的 lua 模式来识别章节范围的起始点（除`ads`外的所有章节）
# 语法：`{type}:{pattern}[,{patternN}][;{type}:{pattern}[,{patternN}]]`
# 目前可定义的章节范围`type`有：openings;endings;intros;outros
chapter_range_patterns=openings:^Intro%s*Start,オープニング$,^片头$,片头开始$;endings:^end$,^End$,エンディング$;intros:preview$,预告$,予告$;outros:credits$

# 指定本地化语言优先级，从高到低
# 内置语言可以在 'uosc/intl' 中找到。
# 'slang' 是从 '--slang' 属性继承值的关键字
# 支持自定义 json 文件的路径：`languages=~~/custom.json,slang,en`
languages=slang,en

# 默认情况下，将字幕下载到当前打开的文件的目录中
# 如果从 URL 播放文件，我们将使用此目录（扩展到 `{mpv_config_dir}/subtitles`）
# 在路径前加上`!`以强制将所有字幕保存在那里，示例：`!~~/subtitles`
subtitles_directory=~~/subtitles

# 指定要禁用的元素 ID 的列表，使用逗号分隔，默认留空。可用 ID：
#   window_border, top_bar, timeline, controls, volume,
#   idle_indicator, audio_indicator, buffering_indicator, pause_indicator
disable_elements=idle_indicator,audio_indicator

# 指定`ziggy`的可执行文件的路径。默认：default, 即 `~~/scripts/uosc/bin`
# 留空将在系统 PATH 中查找可执行文件，Windows 上还会在 mpv.exe 所在目录中查找
# ziggy_path=
