From aef7f64b5951c59c3d4803864ffd7f9650d79dc4 Mon Sep 17 00:00:00 2001 From: nevaforget Date: Fri, 24 Apr 2026 17:52:12 +0200 Subject: [PATCH] refactor(mpv): move ModernZ overrides into mpv.conf via script-opts-append - drop defaults/etc/mpv/script-opts/modernz.conf (deploy timing conflict with mpv-modernz-git) - put all ModernZ tweaks in mpv.conf: Catppuccin Lavender accent, scale 0.75, title font 18, ontop_button off, autofit-larger 80% - quote hex values to survive mpv's mid-line # comment parsing - niri window-rule opens mpv floating - doctor no longer compares mpv configs (now directly owned by pkg) --- CLAUDE.md | 8 +++--- defaults/etc/mpv/mpv.conf | 18 +++++++++++++ defaults/etc/mpv/script-opts/modernz.conf | 32 ----------------------- defaults/xdg/niri/config.kdl | 5 ++++ scripts/moonarch-doctor | 2 -- 5 files changed, 28 insertions(+), 37 deletions(-) delete mode 100644 defaults/etc/mpv/script-opts/modernz.conf diff --git a/CLAUDE.md b/CLAUDE.md index a957934..b3254dd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,9 +44,11 @@ Waybar wird über `moonarch-waybar` gestartet (nicht direkt). Der Wrapper merged Videoplayer ist `mpv` mit [ModernZ](https://github.com/Samillion/ModernZ) als OSC, Thumbnails via thumbfast: - `mpv-modernz-git` liefert `modernz.lua` + Font + Default-Config nach `/etc/mpv/` - `mpv-thumbfast-git` liefert `thumbfast.lua` nach `/etc/mpv/scripts/` (wird von ModernZ automatisch erkannt) -- `defaults/etc/mpv/mpv.conf` deaktiviert Stock-OSC (`osc=no`) und Titelleiste (`title-bar=no`) -- `defaults/etc/mpv/script-opts/modernz.conf` überschreibt die Farben auf Catppuccin Mocha (Lavender als Accent, matcht waybar/swaync) -- Deploy via moonarch-git: staging nach `/usr/share/moonarch/mpv/`, `post_install` kopiert nach `/etc/mpv/` (modernz.conf wird dabei gegenüber dem AUR-Default überschrieben — gleiches Pattern wie foot.ini/waybar style.css) +- `defaults/etc/mpv/mpv.conf` wird von moonarch-git direkt nach `/etc/mpv/mpv.conf` installiert (owned) +- Stock-OSC + Titelleiste deaktiviert, `autofit-larger=80%x80%` cappt übergroße Fenster +- ModernZ-Overrides per `script-opts-append` in mpv.conf: Orange-Akzent → Catppuccin Lavender (`#b4befe`), OSC-Scale 0.75, `window_title_font_size=18`, `ontop_button=no` +- **Wichtig**: mpv behandelt `#` als Mid-Line-Kommentar; Hex-Farben müssen gequotet werden: `script-opts-append="modernz-seekbarfg_color=#b4befe"` (nicht `\#`, das escaped nur und verschluckt den Rest) +- Niri öffnet mpv floating (`window-rule` in `defaults/xdg/niri/config.kdl`) ## System Health Check (moonarch-doctor / moondoc) diff --git a/defaults/etc/mpv/mpv.conf b/defaults/etc/mpv/mpv.conf index 5bf1e02..dd34967 100644 --- a/defaults/etc/mpv/mpv.conf +++ b/defaults/etc/mpv/mpv.conf @@ -3,3 +3,21 @@ osc=no # Hide native title bar for a cleaner borderless look (ModernZ draws its own). title-bar=no + +# Cap window size at 80% of screen for oversized videos. +autofit-larger=80%x80% + +# --- ModernZ overrides --- +# mpv treats # as a mid-line comment; the full value must be quoted so the +# hex color survives. +script-opts-append="modernz-seekbarfg_color=#b4befe" +script-opts-append="modernz-seek_handle_color=#b4befe" +script-opts-append="modernz-seek_handle_border_color=#b4befe" +script-opts-append="modernz-hover_effect_color=#b4befe" +script-opts-append="modernz-nibble_color=#b4befe" +script-opts-append="modernz-ontop_button=no" +script-opts-append="modernz-window_title_font_size=18" + +# Scale OSC down globally +script-opts-append="modernz-scalewindowed=0.75" +script-opts-append="modernz-scalefullscreen=0.75" diff --git a/defaults/etc/mpv/script-opts/modernz.conf b/defaults/etc/mpv/script-opts/modernz.conf deleted file mode 100644 index 5cb6c72..0000000 --- a/defaults/etc/mpv/script-opts/modernz.conf +++ /dev/null @@ -1,32 +0,0 @@ -# ABOUTME: ModernZ OSC overrides for moonarch — Catppuccin Mocha palette. -# ABOUTME: Only keys that diverge from upstream defaults; Lua defaults fill the rest. - -# --- Background --- -osc_color=#181825 -thumbnail_box_color=#11111b -thumbnail_box_outline=#45475a - -# --- Text --- -window_title_color=#cdd6f4 -window_controls_color=#cdd6f4 -title_color=#cdd6f4 -cache_info_color=#a6adc8 -time_color=#cdd6f4 -chapter_title_color=#cdd6f4 - -# --- Buttons --- -side_buttons_color=#cdd6f4 -middle_buttons_color=#cdd6f4 -playpause_color=#cdd6f4 -held_element_color=#6c7086 - -# --- Accent (Lavender, matches waybar glow / swaync border) --- -seekbarfg_color=#b4befe -seekbarbg_color=#45475a -seekbar_cache_color=#585b70 -seek_handle_color=#b4befe -seek_handle_border_color=#cba6f7 -hover_effect_color=#b4befe -nibble_color=#b4befe -nibble_current_color=#cdd6f4 -nibbles_style=gap diff --git a/defaults/xdg/niri/config.kdl b/defaults/xdg/niri/config.kdl index 58de34b..277899e 100644 --- a/defaults/xdg/niri/config.kdl +++ b/defaults/xdg/niri/config.kdl @@ -116,6 +116,11 @@ window-rule { open-floating true } +window-rule { + match app-id=r#"^mpv$"# + open-floating true +} + window-rule { geometry-corner-radius 4 clip-to-geometry true diff --git a/scripts/moonarch-doctor b/scripts/moonarch-doctor index 0b5423b..5dab0cf 100755 --- a/scripts/moonarch-doctor +++ b/scripts/moonarch-doctor @@ -199,8 +199,6 @@ check_config_match "/etc/xdg/swaync/style.css" "$SRC/swaync/style.css" check_config_match "/etc/greetd/config.toml" "$SRC/greetd/config.toml" check_config_match "/etc/greetd/niri-greeter.kdl" "$SRC/greetd/niri-greeter.kdl" check_config_match "/etc/moongreet/moongreet.toml" "$SRC/moongreet/moongreet.toml" -check_config_match "/etc/mpv/mpv.conf" "$SRC/mpv/mpv.conf" -check_config_match "/etc/mpv/script-opts/modernz.conf" "$SRC/mpv/modernz.conf" if [[ -f /etc/zsh/zshrc.moonarch ]]; then pass "/etc/zsh/zshrc.moonarch"