A sleek and modern OSC for mpv. This project is a fork of ModernX that enhances functionality by adding more features while preserving the core standards of mpv's OSC.
Lua
1,245
1,744 commits
updated Jun 4, 2026
A sleek and modern OSC for mpv. This project is a fork of ModernX that enhances functionality by adding more features while preserving the core standards of mpv's OSC.
Installation »
Configuration ·
Controls ·
OSC Language ·
Extra Scripts
ModernZ provides a wide range of customization options, including multiple layouts, themes, icon styles, color adjustments, and much more.
Choose the layout that suits your preference using the layout option in your modernz.conf, which accepts: default, compact, mini, and seekbar
default |
|---|
compact |
|---|
mini |
|---|
seekbar |
|---|
You can also change the icon theme to fluent or material to match your preferred style by using the icon_theme option in your modernz.conf.
fluent |
|---|
material |
|---|
Both fluent and material themes have different icon styles as well. By using the icon_style option, you can choose mixed, filled, or outline.
fluent | |
|---|---|
| Style | Preview |
mixed | |
filled | |
outline | |
material | |
|---|---|
| Style | Preview |
mixed | |
filled | |
outline | |
If you find the seek bar too thin or too thick, you can easily adjust its size using the seekbar_height option. Available values include small, medium, large, and xlarge.
small | medium (Default) |
|---|---|
large | xlarge |
You can change the chapter markers style by using the nibbles_style option, which accepts: gap, triangle, bar, and single-bar
gap (Default) | triangle |
|---|---|
bar | single-bar |
Not a fan of white buttons and text? You have complete control to customize colors to perfectly reflect your style.
| Colors |
|---|
See the Color Customization section in the configuration guide for details on how to customize colors and buttons.
Disable Stock OSC
osc=no in your mpv.conftitle-bar=no in your mpv.conf for a clean look without the native window top barCopy Files
modernz.lua in your mpv scripts directorymodernz-icons.ttf in your mpv fonts directorymodernz-locale.json in your mpv script-opts directorythumbfast.lua in your mpv scripts directoryLocations
Linux: ~/.config/mpv/
Windows: C:/Users/%username%/AppData/Roaming/mpv/
macOS: ~/Library/Application Support/mpv/
📁 mpv/
├── 📁 fonts/
│ └── 📄 modernz-icons.ttf
├── 📁 script-opts/
│ ├── 📄 modernz.conf
│ └── 📄 modernz-locale.json (optional)
└── 📁 scripts/
├── 📄 modernz.lua
└── 📄 thumbfast.lua (optional)
Place modernz.conf in the /script-opts folder to customize settings
modernz.conf with all the default optionsAlternatively, you can create a short configuration of the options you want changed only:
# Short configuration example
# Seekbar color (hex format)
seekbarfg_color=#B7410E
# Interface options
speed_button=yes
title=${media-title}
icon_theme=fluent
icon_style=outline
For a full list of options, check out the detailed list here.
[!NOTE] Middle clicking performs the same function as
Shift+left mouse button, allowing for one-handed use
For a full list of interactions, check out the Button Interactions Guide.
ModernZ doesn't set keybinds by default to avoid interfering with your current setup. You can add keybinds in input.conf if you prefer:
v script-binding modernz/visibility # Cycle visibility modes
V script-message-to modernz osc-visibility cycle # Set a visibility mode: cycle, auto, always, never
w script-binding modernz/progress-toggle # Toggle persistent progress
x script-message-to modernz osc-show # Show OSC
y script-message-to modernz osc-hide # Hide OSC
z script-message-to modernz osc-idlescreen # Toggle idle screen
ModernZ is currently available in English, but you can easily switch it to your preferred language! Here's how:
Grab the modernz-locale.json file from this repository. This file holds translations for various languages.
Copy the downloaded modernz-locale.json file to your mpv /script-opts folder.
Adjust or add the language option in your modernz.conf to your preferred language.
# Example configuration in modernz.conf
# Set language to Simplified Chinese
language=zh
Need More Info?
For a complete list of available languages, contribution guidelines, and in-depth translation documentation, head over to the TRANSLATIONS.md.
The following scripts are maintained by me. Feel free to use them if they're useful to you.
ontop is enabledytdl-format (yt-dlp) for specified domainsFor even more useful scripts, check out the mpv User Scripts Wiki. It offers a wide range of community-contributed scripts to enhance your mpv experience.
Why fork yet again?
console and select functionality to OSC
modern and modern-compact layouts and icon themes supportModern forks to build on ModernZ as a foundation
In essence, to maintain and revive the modern-osc origin.
Having said that, ModernZ still uses parts of the old code, and every previous and current fork author and contributor deserves credit (including mpv's stock osc), which is why they are mentioned in detail.
|
- In quiet memory, always. - Somewhere beyond time, we'll meet again. |
|
|
Lua
100.0%
A sleek and modern OSC for mpv. This project is a fork of ModernX that enhances functionality by adding more features while preserving the core standards of mpv's OSC.
Lua
1,245
1,744 commits
updated Jun 4, 2026
A sleek and modern OSC for mpv. This project is a fork of ModernX that enhances functionality by adding more features while preserving the core standards of mpv's OSC.
Installation »
Configuration ·
Controls ·
OSC Language ·
Extra Scripts
ModernZ provides a wide range of customization options, including multiple layouts, themes, icon styles, color adjustments, and much more.
Choose the layout that suits your preference using the layout option in your modernz.conf, which accepts: default, compact, mini, and seekbar
default |
|---|
compact |
|---|
mini |
|---|
seekbar |
|---|
You can also change the icon theme to fluent or material to match your preferred style by using the icon_theme option in your modernz.conf.
fluent |
|---|
material |
|---|
Both fluent and material themes have different icon styles as well. By using the icon_style option, you can choose mixed, filled, or outline.
fluent | |
|---|---|
| Style | Preview |
mixed | |
filled | |
outline | |
material | |
|---|---|
| Style | Preview |
mixed | |
filled | |
outline | |
If you find the seek bar too thin or too thick, you can easily adjust its size using the seekbar_height option. Available values include small, medium, large, and xlarge.
small | medium (Default) |
|---|---|
large | xlarge |
You can change the chapter markers style by using the nibbles_style option, which accepts: gap, triangle, bar, and single-bar
gap (Default) | triangle |
|---|---|
bar | single-bar |
Not a fan of white buttons and text? You have complete control to customize colors to perfectly reflect your style.
| Colors |
|---|
See the Color Customization section in the configuration guide for details on how to customize colors and buttons.
Disable Stock OSC
osc=no in your mpv.conftitle-bar=no in your mpv.conf for a clean look without the native window top barCopy Files
modernz.lua in your mpv scripts directorymodernz-icons.ttf in your mpv fonts directorymodernz-locale.json in your mpv script-opts directorythumbfast.lua in your mpv scripts directoryLocations
Linux: ~/.config/mpv/
Windows: C:/Users/%username%/AppData/Roaming/mpv/
macOS: ~/Library/Application Support/mpv/
📁 mpv/
├── 📁 fonts/
│ └── 📄 modernz-icons.ttf
├── 📁 script-opts/
│ ├── 📄 modernz.conf
│ └── 📄 modernz-locale.json (optional)
└── 📁 scripts/
├── 📄 modernz.lua
└── 📄 thumbfast.lua (optional)
Place modernz.conf in the /script-opts folder to customize settings
modernz.conf with all the default optionsAlternatively, you can create a short configuration of the options you want changed only:
# Short configuration example
# Seekbar color (hex format)
seekbarfg_color=#B7410E
# Interface options
speed_button=yes
title=${media-title}
icon_theme=fluent
icon_style=outline
For a full list of options, check out the detailed list here.
[!NOTE] Middle clicking performs the same function as
Shift+left mouse button, allowing for one-handed use
For a full list of interactions, check out the Button Interactions Guide.
ModernZ doesn't set keybinds by default to avoid interfering with your current setup. You can add keybinds in input.conf if you prefer:
v script-binding modernz/visibility # Cycle visibility modes
V script-message-to modernz osc-visibility cycle # Set a visibility mode: cycle, auto, always, never
w script-binding modernz/progress-toggle # Toggle persistent progress
x script-message-to modernz osc-show # Show OSC
y script-message-to modernz osc-hide # Hide OSC
z script-message-to modernz osc-idlescreen # Toggle idle screen
ModernZ is currently available in English, but you can easily switch it to your preferred language! Here's how:
Grab the modernz-locale.json file from this repository. This file holds translations for various languages.
Copy the downloaded modernz-locale.json file to your mpv /script-opts folder.
Adjust or add the language option in your modernz.conf to your preferred language.
# Example configuration in modernz.conf
# Set language to Simplified Chinese
language=zh
Need More Info?
For a complete list of available languages, contribution guidelines, and in-depth translation documentation, head over to the TRANSLATIONS.md.
The following scripts are maintained by me. Feel free to use them if they're useful to you.
ontop is enabledytdl-format (yt-dlp) for specified domainsFor even more useful scripts, check out the mpv User Scripts Wiki. It offers a wide range of community-contributed scripts to enhance your mpv experience.
Why fork yet again?
console and select functionality to OSC
modern and modern-compact layouts and icon themes supportModern forks to build on ModernZ as a foundation
In essence, to maintain and revive the modern-osc origin.
Having said that, ModernZ still uses parts of the old code, and every previous and current fork author and contributor deserves credit (including mpv's stock osc), which is why they are mentioned in detail.
|
- In quiet memory, always. - Somewhere beyond time, we'll meet again. |
|
|
Lua
100.0%