diff --git a/settings/quickshell.nix b/settings/quickshell.nix index f0852fd..12d444c 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -764,9 +764,8 @@ in // Keybind cheat sheet — Super+C routes here via shell.qml's // "cheatsheet" IpcHandler. The list is hand-maintained: the real - // binds live in settings/hyprland.nix's Lua config and the - // spotify-player ones are that app's built-in defaults, so both - // need updating here too when they change. + // binds live in settings/hyprland.nix's Lua config, so they need + // updating here too when they change. Scope { id: root property bool open: false @@ -775,7 +774,7 @@ in { title: "Apps", binds: [ ["Super + T", "Terminal"], ["Super + Return", "Scratchpad terminal"], - ["Super + M", "Spotify Player"], + ["Super + M", "Spotify"], ["Super + E", "Files"], ["Super + Z", "Zen browser"], ["Super + R", "Launcher"], @@ -806,22 +805,6 @@ in ["Super + Shift + S", "Screenshot region"], ["Print", "Screenshot screen"], ]}, - { title: "Spotify Player", binds: [ - ["?", "Built-in help"], - ["space", "Play / pause"], - ["n / p", "Next / previous"], - ["+ / -", "Volume"], - ["< / >", "Seek"], - ["D", "Switch device"], - ["g s", "Search all of Spotify"], - ["/", "Filter current page"], - ["z", "Queue"], - ["l", "Lyrics"], - ["g l", "Library"], - ["R", "Restart audio client"], - ["tab", "Next pane"], - ["q", "Quit"], - ]}, ] PanelWindow { @@ -6143,13 +6126,11 @@ in }; add(player.identity); add(player.desktopEntry); - // The bus name's last segment is the app's own token — - // spotify-player advertises identity "Spotify Player" - // but its Pipewire stream is "spotify_player", and the - // space/underscore mismatch defeats substring matching, - // so the card never found its stream and the volume row - // stayed hidden. Only the last segment: everything - // before it is the shared org.mpris.MediaPlayer2 prefix. + // The bus name's last segment is the app's own token, + // which often matches the Pipewire stream name when the + // display identity doesn't. Only the last segment: + // everything before it is the shared + // org.mpris.MediaPlayer2 prefix. add((player.dbusName || "").split(".").pop()); let ns = Pipewire.nodes.values; @@ -6560,11 +6541,11 @@ in // whole screen, so each of those // commits makes Hyprland recomposite // the entire output, which halved - // framerates in games. Once - // spotify-player became a daemon an - // MPRIS player is always present, so - // this card — and this animation — - // never went away. + // framerates in games. Spotify sits + // in the music scratchpad all + // session, so an MPRIS player is + // always present and this card — and + // this animation — never goes away. // Stopped rather than paused: `paused` // on a non-running animation warns, // and the resume-at-current-angle it @@ -7126,7 +7107,7 @@ in visible: false property var currentNotif: null property bool toastOpen: false - readonly property var mutedApps: ["discord", "Discord", "Vesktop", "vesktop", "Spotify", "spotify", "spotify_player", "spotify-player", "vlc", "mpv"] + readonly property var mutedApps: ["discord", "Discord", "Vesktop", "vesktop", "Spotify", "spotify", "vlc", "mpv"] readonly property bool isPrimary: bar.screen === Quickshell.screens[0] // Which frame band the toast lives against: the one the diff --git a/settings/theming.nix b/settings/theming.nix index 66cd322..8c4f684 100644 --- a/settings/theming.nix +++ b/settings/theming.nix @@ -509,8 +509,8 @@ let # No instance on the bus, or the action is gone. Restarting the daemon # fixes it but takes every open terminal with it, so that is only on the # table when there is nothing to lose. The class test has to cover the - # --class overrides from settings/hyprland.nix (dev.fred.scratchpad, - # dev.fred.spotify) — those windows are the same process. + # --class override from settings/hyprland.nix (dev.fred.scratchpad) — + # that window is the same process. if ${pkgs.hyprland}/bin/hyprctl -j clients 2>/dev/null \ | ${pkgs.jq}/bin/jq -e 'any(.[].class; test("ghostty|^dev\\.fred\\."))' >/dev/null 2>&1; then echo "ghostty reload-config failed; open terminals keep the old theme"