#######################################################
# This is the default config file for mpv-file-browser
# https://github.com/CogentRedTester/mpv-file-browser
#######################################################

# root 目录，以逗号分隔
# on linux，你可能想要添加"/"，
# on windows，这应该用于添加不同的驱动器号
# Examples：
# linux:
#   root=~/,/
# windows:
#   root=~/,C:/
root=~/

# characters 单独的根目录，每个字符单独工作
# 以防万一个人使用具有奇怪名称的目录
root_separators=,

# 要同时显示在屏幕上的条目数量
num_entries=20

# 要保留历史记录的目录数，大小为 0 时禁用历史记录
history_size=100

# 目录是否循环滚动，默认 yes
wrap=yes

# 是否启用插件，默认：no
addons=yes

# 启用自定义键绑定
# he keybind json 文件必须位于 ~~/script-opts
custom_keybinds=yes

# 自动检测 Windows 驱动器并将其添加到根目录
# 在根目录下使用 Ctrl+r 会运行另一次扫描
auto_detect_windows_drives=yes

# 当空闲模式下打开浏览器时，首选当前工作目录而不是根目录
# 工作目录无论如何都被设置为"当前"目录，因此播放时浏览器将自动定位至当前工作目录，即使此选项设置为 no
default_to_working_directory=no

# 打开浏览器时，更喜欢由文件浏览器的先前 MPV 实例打开的目录
# 覆盖`default_to_working_directory`选项
# 需要`save_last_opened_directory`为 yes
# 使用内部开放的 `last-opened-directory` 插件
default_to_last_opened_directory=no

# 是否保存最后一个打开的目录
save_last_opened_directory=no

# 播放文件更改时，将光标移至当前播放项目（如果有）
cursor_follows_playing_item=no

####################################
########## filter settings #########
####################################

# 只在浏览器中显示与 mpv 兼容的文件
filter_files=yes

# file 浏览器仅显示默认情况下与 mpv 兼容的文件
# 加入此列表中的文件扩展名将将其添加到扩展名白名单中
# 用根分隔符分隔，请勿使用任何空格
extension_whitelist=amv;bdmv;ifo;iso

# 加入此列表的文件扩展名以禁用默认文件类型
# 这将覆盖上面以及下面所有的白名单选项
#extension_blacklist=mpls

# 加入此列表中的文件扩展名将会添加到外挂音轨扩展名白名单中
# 用根分隔符分隔，请勿使用任何空格
audio_extensions=mka,dts,dtshd,dts-hd,truehd,true-hd,flac

# 加入此列表中的文件扩展名将会添加到字幕扩展名白名单中
# 用根分隔符分隔，请勿使用任何空格
subtitle_extensions=etf,etf8,utf-8,idx,sub,srt,rt,ssa,ass,mks,vtt,sup,scc,smi,lrc,pgs

# 过滤 .config 等以 '.' 开头的目录或文件
# 用于 linux 系统
#filter_dot_dirs=no
#filter_dot_files=no

####################################
###### file loading settings #######
####################################

# 这个选项可反转 alt+ENTER 键绑定的行为
# 当禁用密钥绑定，则需要为文件启用自动加载
# 当启用键绑定将禁用文件的自动加载
autoload=no

# 启用在将项目追加到播放列表时同时递归目录的功能（实验性），默认值：no
# 此功能在将插件与异步 IO 结合使用时具有巨大的性能改进潜力
concurrent_recursion=yes

# 可以并发运行的最大递归数量
# 如果此数字太高，则可能会使 mpv 事件队列溢出，从而导致某些目录被完全丢弃，默认值：16
max_concurrency=16

# 将本地文件追加到播放列表时，用正斜杠代替反斜杠
# 在 Windows 系统上可能有用，默认值：no
substitute_backslash=no

# 如果通过选择当前播放的文件触发自动加载，则当前文件在关闭和重新打开之前将保存其稍后观看的配置
# 禁用时当前文件将不会重新启动
autoload_save_current=yes

####################################
### directory parsing settings #####
####################################

# 目录缓存用于提高目录读取速度，
# 如果加载目录需要较长时间，可以启用此功能。
# 但可能会导致显示“幽灵”文件（已删除但仍然存在）
# 或者无法显示最近创建的文件。
# 使用 Ctrl+r 重新加载目录时不会使用缓存。
# 使用 Ctrl+Shift+r 可强制清除缓存。
cache=no

# 启用内部 `ls` 插件，该插件使用 `ls` 命令解析目录。
# 允许目录解析并行运行，从而防止浏览器卡顿。
# 在 Windows 系统上会自动禁用此功能。
ls_parser=yes

# 启用内部 `windir` 插件，该插件使用 cmd.exe 中的 `dir` 命令解析目录。
# 允许目录解析并行运行，从而防止浏览器卡顿。
# 在非 Windows 系统上会自动禁用此功能。
windir_parser=no

# 向上移动目录时，不要停止在空协议方案上，例如 `ftp://`
# 例如从 `ftp://localhost/` 向上移动将直接移动到根目录，而不是 `ftp://`
skip_protocol_schemes=yes

# 将光盘的驱动路径映射到它们各自的文件路径
# 例如，将 bd:// 映射到 bluray-device 属性的值
map_bd_device=yes
map_dvd_device=yes
map_cdda_device=yes

####################################
########## misc settings ###########
####################################

# 是否启用脚本信息来控制空闲屏幕上的徽标文字的显示
toggle_idlescreen=no

# 将路径中的反斜杠 '\' 解释为正斜杠 '/'
# 这在 Windows 上很有用，因为 Windows 本身使用反斜杠。
# 由于反斜杠是 Unix 系统中有效的文件名字符，因此可能导致路径损坏，但此类文件名很少见
# 使用"yes"和"no"启用/禁用。"auto"尝试使用 MPV 的 "platform" 该属性（mpv v0.36+）来决定
# 如果该属性不可用，则默认为 "yes"
normalise_backslash=auto

# 在`user-data`属性的`file_browser/open`字段中设置浏览器当前的打开状态
# 此属性仅在 mpv v0.36+ 中可用
set_user_data=yes

# 在`shared-script-properties`属性的`file_browser-open`字段中设置浏览器当前的打开状态
# 该属性已被弃用
set_shared_script_properties=no

####################################
########## file overrides  #########
####################################

# directory 加载外部模块
module_directory=~~/script-modules
addon_directory=~~/script-modules/file-browser-addons
custom_keybinds_file=~~/script-opts/file-browser-keybinds.json
last_opened_directory_file=~~/files/file_browser-last_opened_directory


####################################
######### style settings ###########
####################################

# 用"~/"在标题中替换用户的主目录，使用内部标签插件实现
home_label=yes

# 设置文件浏览器以使用特定的文本对齐方式（默认：左上角）
# 使用 ASS 标签对齐编号：https://aegi.vmoe.info/docs/3.0/ASS_Tags/#index23h3
# 设置为 'auto' 以使用默认的 mpv osd 对齐选项
# 选项：'auto'|'top'|'center'|'bottom'
align_y=top
# 选项： 'auto'|'left'|'center'|'right'
align_x=left

# 用于标头的格式字符串。使用自定义键绑定替换代码
# 动态更改标头的内容。请参阅：docs/custom-keybinds.md#codes
# 例如，要添加文件编号请将其设置为： {\fnMonospace}[%i/%x]{\fn<font_name_header or blank>} %q\N----------------------------------------------------
format_string_header=%q\N----------------------------------------------------

# 用于包装器的格式字符串。支持自定义键绑定替换代码，以及支持两个附加代码：'%<'和'%>'，分别显示可见列表前后的项数
# 将这些选项设置为空字符串将禁用包装器
format_string_topwrapper=%< 项 覆盖\N
format_string_bottomwrapper=\N%> 项 剩余

# 允许为光标和文件夹自定义图标，可以为矢量图形或 Unicode 字形。示例即为默认设置（矢量图形）
#folder_icon={\p1}m 6.52 0 l 1.63 0 b 0.73 0 0.01 0.73 0.01 1.63 l 0 11.41 b 0 12.32 0.73 13.05 1.63 13.05 l 14.68 13.05 b 15.58 13.05 16.31 12.32 16.31 11.41 l 16.31 3.26 b 16.31 2.36 15.58 1.63 14.68 1.63 l 8.15 1.63{\p0}\h
#cursor_icon={\p1}m 14.11 6.86 l 0.34 0.02 b 0.25 -0.02 0.13 -0 0.06 0.08 b -0.01 0.16 -0.02 0.28 0.04 0.36 l 3.38 5.55 l 3.38 5.55 3.67 6.15 3.81 6.79 3.79 7.45 3.61 8.08 3.39 8.5l 0.04 13.77 b -0.02 13.86 -0.01 13.98 0.06 14.06 b 0.11 14.11 0.17 14.13 0.24 14.13 b 0.27 14.13 0.31 14.13 0.34 14.11 l 14.11 7.28 b 14.2 7.24 14.25 7.16 14.25 7.07 b 14.25 6.98 14.2 6.9 14.11 6.86{\p0}\h
#cursor_icon_flipped={\p1}m 0.13 6.86 l 13.9 0.02 b 14 -0.02 14.11 -0 14.19 0.08 b 14.26 0.16 14.27 0.28 14.21 0.36 l 10.87 5.55 l 10.87 5.55 10.44 6.79 10.64 8.08 10.86 8.5l 14.21 13.77 b 14.27 13.86 14.26 13.98 14.19 14.06 b 14.14 14.11 14.07 14.13 14.01 14.13 b 13.97 14.13 13.94 14.13 13.9 14.11 l 0.13 7.28 b 0.05 7.24 0 7.16 0 7.07 b 0 6.98 0.05 6.9 0.13 6.86{\p0}\h

# 设置字体的不透明度（十六进制），从 00（不透明）到 FF（透明）
font_opacity_selection_marker=99

# 页眉使用粗体
font_bold_header=yes

# 指定缩放浏览器的大小；2 会使大小增加一倍，0.5 会将其减半，依此类推。
# header 和 wrappers 相对于 base 的大小进行缩放
scaling_factor_base=1
scaling_factor_header=1.4
scaling_factor_wrappers=0.64

# 自定义字体名称，默认值为空白
# 设置文件夹/光标的自定义字体可以修复损坏或丢失的图标
#font_name_header=
font_name_body=Noto Sans Mono CJK SC
#font_name_wrappers=
#font_name_folder=
#font_name_cursor=

# 自定义字体颜色
# colours 采用十六进制格式，按蓝绿色红色顺序排列
# 这与大多数 RGB 颜色代码的顺序相反
font_colour_header=00ccff
font_colour_body=ffffff
font_colour_wrappers=00ccff
font_colour_cursor=00ccff
font_colour_escape_chars=413eff

# 以下选项是应用于不同状态的列表项的颜色
font_colour_selected=fce788
font_colour_multiselect=fcad88
font_colour_playing=33ff66
font_colour_playing_multiselected=22b547
