# Language and display
# set language (for available options, see: https://github.com/Samillion/ModernZ/blob/main/docs/TRANSLATIONS.md)
language=en
# font for the OSC (default: mpv-osd-symbols or the one set in mpv.conf)
font=mpv-osd-symbols

# show mpv logo when idle
idlescreen=yes
# show OSC window top bar: "auto", "yes", or "no" (borderless/fullscreen)
window_top_bar=auto
# show OSC when windowed
showwindowed=yes
# show OSC when fullscreen
showfullscreen=yes
# show OSC when paused
showonpause=no
# disable OSC hide timeout when paused
keeponpause=yes
# disable Santa hat in December
greenandgrumpy=no

# OSC behaviour and scaling
# time (in ms) before OSC hides if no mouse movement
hidetimeout=1500
# if seeking should reset the hidetimeout
seek_resets_hidetimeout=yes
# fade-out duration (in ms), set to 0 for no fade
fadeduration=200
# whether to enable fade-in effect
fadein=no
# minimum mouse movement (in pixels) required to show OSC
minmousemove=0
# show OSC only when hovering at the bottom
bottomhover=yes
# height of hover zone for bottomhover (in pixels)
bottomhover_zone=130
# show OSC when seeking
osc_on_seek=no
# show OSC on start of every file
osc_on_start=no
# pause video while seeking with mouse move (on button hold)
mouse_seek_pause=yes
# force show seekbar tooltip on mouse drag, even if not hovering seekbar
force_seek_tooltip=no

# scale osc with the video
vidscale=auto
# osc scale factor when windowed
scalewindowed=1.0
# osc scale factor when fullscreen
scalefullscreen=1.0

# Elements display
# show title in the OSC (above seekbar)
show_title=yes
# title above seekbar format: "${media-title}" or "${filename}"
title=${media-title}
# font size of the title text (above seekbar)
title_font_size=24
# chapter title font size
chapter_title_font_size=14
# show cached time information
cache_info=no
# show cache speed per second
cache_info_speed=no
# font size of the cache information
cache_info_font_size=12

# show chapter title alongside timestamp (below seekbar)
show_chapter_title=yes
# format for chapter display on seekbar hover (set to "no" to disable)
chapter_fmt=%s

# show total time instead of remaining time
timetotal=yes
# show timecodes with milliseconds
timems=no
# use the Unicode minus sign in remaining time
unicodeminus=no
# "dynamic" or "fixed". dynamic shows MM:SS when possible, fixed always shows HH:MM:SS
time_format=dynamic
# font size of the time display
time_font_size=16
# tooltips font size
tooltip_font_size=14

# Title bar settings
# show window title in borderless/fullscreen mode
window_title=no
# show window controls (close, minimize, maximize) in borderless/fullscreen
window_controls=yes
# same as title but for window_top_bar
windowcontrols_title=${media-title}

# Subtitle display settings
# raise subtitles above the OSC when shown
raise_subtitles=yes
# amount by which subtitles are raised when the OSC is shown (in pixels)
raise_subtitle_amount=125

# Buttons display and functionality
# show the jump backward and forward buttons
jump_buttons=yes
# change the jump amount in seconds
jump_amount=10
# change the jump amount in seconds when right-clicking jump buttons and shift-clicking chapter skip buttons
jump_more_amount=60
# show different icon when jump_amount is set to 5, 10, or 30
jump_icon_number=yes
# seek mode for jump buttons
jump_mode=relative
# enable continuous jumping when holding down seek buttons
jump_softrepeat=yes
# show the chapter skip backward and forward buttons
chapter_skip_buttons=no
# enable continuous skipping when holding down chapter skip buttons
chapter_softrepeat=yes
# show next/previous playlist track buttons
track_nextprev_buttons=yes

# show mute button and volume slider
volume_control=yes
# volume scale type: "linear" or "logarithmic"
volume_control_type=linear
# show playlist button: Left-click for simple playlist, Right-click for interactive playlist
playlist_button=yes
# hide playlist button when no playlist exists
hide_empty_playlist_button=no
# gray out the playlist button when no playlist exists
gray_empty_playlist_button=no

# show download button on web videos (requires yt-dlp and ffmpeg)
download_button=yes
# default download directory for videos (https://mpv.io/manual/master/#paths)
download_path=~/Videos/mpv Downloads/
# show screenshot button
screenshot_button=yes
# flag for screenshot button: "subtitles", "video", "window", "each-frame"
screenshot_flag=subtitles

# show window on top button
ontop_button=yes
# show loop button
loop_button=yes
# show speed control button
speed_button=yes
# speed change amount per click
speed_button_click=1
# speed change amount on scroll
speed_button_scroll=0.25
# show info button
info_button=yes
# show fullscreen toggle button
fullscreen_button=yes

# enable looping by right-clicking pause
loop_in_pause=yes

# force buttons to always be active. can add: playlist_prev,playlist_next
buttons_always_active=none

# icon size for the play/pause button
playpause_size=28
# icon size for the middle buttons
midbuttons_size=24
# icon size for the side buttons
sidebuttons_size=24

# show zoom controls in image viewer mode
zoom_control=yes
# maximum zoom in value
zoom_in_max=4
# minimum zoom out value
zoom_out_min=-1

# Colors and style
# accent color of the OSC and title bar
osc_color=#000000
# color of the title in borderless/fullscreen mode
window_title_color=#FFFFFF
# color of the window controls (close, minimize, maximize) in borderless/fullscreen mode
window_controls_color=#FFFFFF
# color of close window control on hover
windowcontrols_close_hover=#F45C5B
# color of maximize window controls on hover
windowcontrols_max_hover=#F8BC3A
# color of minimize window controls on hover
windowcontrols_min_hover=#43CB44
# color of the title (above seekbar)
title_color=#FFFFFF
# color of the cache information
cache_info_color=#FFFFFF
# color of the seekbar progress and handle
seekbarfg_color=#FB8C00
# color of the remaining seekbar
seekbarbg_color=#94754F
# color of the cache ranges on the seekbar
seekbar_cache_color=#918F8E
# match volume bar color with seekbar color (ignores side_buttons_color)
volumebar_match_seek_color=no
# color of the timestamps (below seekbar)
time_color=#FFFFFF
# color of the chapter title next to timestamp (below seekbar)
chapter_title_color=#FFFFFF
# color of the side buttons (audio, subtitles, playlist, etc.)
side_buttons_color=#FFFFFF
# color of the middle buttons (skip, jump, chapter, etc.)
middle_buttons_color=#FFFFFF
# color of the play/pause button
playpause_color=#FFFFFF
# color of the element when held down (pressed)
held_element_color=#999999
# color of a hovered button when hover_effect includes "color"
hover_effect_color=#FB8C00
# color of the border for thumbnails (with thumbfast)
thumbnail_border_color=#111111
# color of the border outline for thumbnails
thumbnail_border_outline=#404040

# alpha of the OSC background box
fade_alpha=130
# blur strength for the OSC alpha fade. caution: high values can take a lot of CPU time to render
fade_blur_strength=100
# use with "fade_blur_strength=0" to create a transparency box
fade_transparency_strength=0
# alpha of the window title bar (0 to disable)
window_fade_alpha=100
# blur strength for the window title bar. caution: high values can take a lot of CPU time to render
window_fade_blur_strength=100
# use with "window_fade_blur_strength=0" to create a transparency box
window_fade_transparency_strength=0
# width of the thumbnail border (for thumbfast)
thumbnail_border=3
# rounded corner radius for thumbnail border (0 to disable)
thumbnail_border_radius=3

# Button hover effects
# active button hover effects: "glow", "size", "color"; can use multiple separated by commas
hover_effect=size,glow,color
# relative size of a hovered button if "size" effect is active
hover_button_size=115
# glow intensity when "glow" hover effect is active
button_glow_amount=5
# apply hover size effect to slider handle
hover_effect_for_sliders=yes

# Tooltips and hints
# enable tooltips for disabled buttons and elements
tooltips_for_disabled_elements=yes
# enable text hints for info, loop, ontop, and screenshot buttons
tooltip_hints=yes

# Progress bar settings 
# size ratio of the seekbar handle (range: 0 ~ 1)
seek_handle_size=0.8
# show seek range overlay
seekrange=yes
# transparency of the seek range
seekrangealpha=150
# update chapter markers on the seekbar when duration changes
livemarkers=yes
# use keyframes when dragging the seekbar
seekbarkeyframes=no
# top chapter nibbles above seekbar
nibbles_top=yes
# bottom chapter nibbles below seekbar
nibbles_bottom=yes
# chapter nibble style. "triangle", "bar" or "single-bar"
nibbles_style=triangle

# automatically set keyframes for the seekbar based on video length
automatickeyframemode=yes
# videos longer than this (in seconds) will have keyframes on the seekbar 
automatickeyframelimit=600

# always show a small progress line at the bottom of the screen
persistentprogress=no
# height of the persistent progress bar
persistentprogressheight=17
# show buffer status on web videos in the persistent progress line
persistentbuffer=no

# Miscellaneous settings
# only used at init to set visibility_mode(...)
visibility=auto
# visibility modes to cycle through, modes are separated by _
visibility_modes=never_auto_always
# minimum interval between OSC redraws (in seconds)
tick_delay=0.03
# use display FPS as the minimum redraw interval
tick_delay_follow_display_fps=no

# Elements Position
# Useful when adjusting font size or type

# title height position above seekbar
title_height=96
# title height position if a chapter title is below it
title_with_chapter_height=108
# chapter title height position above seekbar
chapter_title_height=91
# time codes height position
time_codes_height=35
# time codes height position with portrait window
time_codes_centered_height=57
# tooltip height position offset
tooltip_height_offset=2
# if tooltip contains many characters, it is moved to the left by offset
tooltip_left_offset=5
# portrait window width trigger to move some elements
portrait_window_trigger=1000
# hide volume bar trigger window width
hide_volume_bar_trigger=1150
# osc height offset if title above seekbar is disabled
notitle_osc_h_offset=25
# osc height offset if chapter title is disabled or doesn't exist
nochapter_osc_h_offset=10
# seek hover timecodes tooltip height position offset
seek_hover_tooltip_h_offset=0
# osc height without offsets
osc_height=132

## Mouse commands
## details: https://github.com/Samillion/ModernZ#mouse-commands-user-options

# title above seekbar mouse actions
title_mbtn_left_command=script-binding stats/display-page-5
title_mbtn_mid_command=show-text ${path}
title_mbtn_right_command=script-binding select/select-watch-history; script-message-to modernz osc-hide

# playlist button mouse actions
playlist_mbtn_left_command=script-binding select/menu; script-message-to modernz osc-hide
playlist_mbtn_right_command=script-binding select/select-playlist; script-message-to modernz osc-hide

# volume mouse actions
vol_ctrl_mbtn_left_command=no-osd cycle mute
vol_ctrl_mbtn_right_command=script-binding select/select-audio-device; script-message-to modernz osc-hide
vol_ctrl_wheel_down_command=no-osd add volume -5
vol_ctrl_wheel_up_command=no-osd add volume 5

# audio button mouse actions
audio_track_mbtn_left_command=script-binding select/select-aid; script-message-to modernz osc-hide
audio_track_mbtn_mid_command=cycle audio down
audio_track_mbtn_right_command=cycle audio
audio_track_wheel_down_command=cycle audio
audio_track_wheel_up_command=cycle audio down

# subtitle button mouse actions
sub_track_mbtn_left_command=script-binding select/select-sid; script-message-to modernz osc-hide
sub_track_mbtn_mid_command=cycle sub down
sub_track_mbtn_right_command=cycle sub
sub_track_wheel_down_command=cycle sub
sub_track_wheel_up_command=cycle sub down

# chapter skip buttons mouse actions
chapter_prev_mbtn_left_command=add chapter -1
chapter_prev_mbtn_mid_command=show-text ${chapter-list} 3000
chapter_prev_mbtn_right_command=script-binding select/select-chapter; script-message-to modernz osc-hide

chapter_next_mbtn_left_command=add chapter 1
chapter_next_mbtn_mid_command=show-text ${chapter-list} 3000
chapter_next_mbtn_right_command=script-binding select/select-chapter; script-message-to modernz osc-hide

# chapter title (below seekbar) mouse actions
chapter_title_mbtn_left_command=script-binding select/select-chapter; script-message-to modernz osc-hide
chapter_title_mbtn_right_command=show-text ${chapter-list} 3000

# playlist skip buttons mouse actions
playlist_prev_mbtn_left_command=playlist-prev
playlist_prev_mbtn_mid_command=show-text ${playlist} 3000
playlist_prev_mbtn_right_command=script-binding select/select-playlist; script-message-to modernz osc-hide

playlist_next_mbtn_left_command=playlist-next
playlist_next_mbtn_mid_command=show-text ${playlist} 3000
playlist_next_mbtn_right_command=script-binding select/select-playlist; script-message-to modernz osc-hide

# fullscreen button mouse actions
fullscreen_mbtn_left_command=cycle fullscreen
fullscreen_mbtn_right_command=cycle window-maximized

# info button mouse actions
info_mbtn_left_command=script-binding stats/display-page-1-toggle
