mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 01:00:13 +02:00
Launchers, VR "+" menu: module header comments point to the docs
The patch list, keyring summary, triggers and icon fallback history are in docs/launchers.md, docs/launcher-menu.md and next to the code they describe.
This commit is contained in:
1 parent
b0ca57d4bd
commit
9cd22f047d
2 files changed
+17
-38
No files matched your search
@@ -1,24 +1,8 @@
|
||||
# The VR dashboard's "+" menu (non-Steam programs). Steam lists them in GLib
|
||||
# hash-table order (random-looking). Steam UI patches in SharedJSContext, each
|
||||
# registered only when its option is set, reverted when unset (next switch):
|
||||
# - order/: sorts ScanForInstalledNonSteamApps() by name;
|
||||
# - pinned-desktop/: hides Desktop in the list, pins a proxy above/below it;
|
||||
# - launch/: wraps LaunchNonSteamApp (menu-only) to close the menu and/or
|
||||
# debounce repeated launches;
|
||||
# - grid/: programs as a grid of tiles, optionally maxRows visible;
|
||||
# - show-all/: empties the list Steam hides without Developer Mode.
|
||||
# Tested with Steam client 1790377368.
|
||||
#
|
||||
# iconFallbacks (not a patch): Steam resolves Icon= names only in hicolor (and
|
||||
# pixmaps), so Breeze-only icons (Konsole, KDE System Settings) are missing.
|
||||
# Home Manager links a fixed list of them from nixpkgs' Breeze into
|
||||
# ~/.local/share/icons/hicolor/scalable/apps (a missing name fails the
|
||||
# build); on switch, icon-fallbacks.sh --suggest only prints hints (names to
|
||||
# add, names no longer needed), and hicolor's mtime is bumped when the list
|
||||
# changed so a running Steam rescans. Until 2026-09 a script made the links
|
||||
# on switch (removed by steam-frame-nix-cleanup, or before checkLinkTargets
|
||||
# where Home Manager takes over). iconFallbacks was a list of names until
|
||||
# 2026-09; a list fails with a pointer to enable/extra (until ~2026-12).
|
||||
# The VR dashboard's "+" menu (launcherMenu.*, docs/launcher-menu.md): Steam
|
||||
# UI patches in SharedJSContext (launcher-menu/<patch>/), each registered
|
||||
# only while its option is set (its unpatch runs on the next switch), and the
|
||||
# icon fallbacks: Breeze icons linked into hicolor, hints from
|
||||
# launcher-menu/icon-fallbacks.sh. Tested with Steam client 1790377368.
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.steamFrame.launcherMenu;
|
||||
@@ -128,7 +112,8 @@ in {
|
||||
Hicolor links for program icons only Breeze has, so the "+" menu shows
|
||||
them (Steam looks only in hicolor).
|
||||
'';
|
||||
# Formerly a list of names: fail with a message instead (see assertion).
|
||||
# A list of names until 2026-09: fails with a pointer to enable/extra
|
||||
# (see the assertion; until ~2026-12).
|
||||
type = lib.types.coercedTo (lib.types.listOf lib.types.str)
|
||||
(names: { legacyList = names; })
|
||||
(lib.types.submodule {
|
||||
@@ -181,7 +166,8 @@ in {
|
||||
value.source = breezeIcon name;
|
||||
}) icons);
|
||||
|
||||
# The script's links of 2026-09 where Home Manager links now.
|
||||
# Until 2026-09 a script made these links on switch: replaced by Home
|
||||
# Manager's (steam-frame-nix-cleanup removes the rest).
|
||||
config.steamFrame.cleanup.migrateLinks = map (name: {
|
||||
path = "${iconDir}/scalable/apps/${name}.svg";
|
||||
target = "/nix/store/*-breeze-icons-*/share/icons/breeze/apps/*";
|
||||
|
||||
+8
-15
@@ -1,18 +1,11 @@
|
||||
# Launchers: an app's own desktop entry (from its Flatpak, Nix package or a
|
||||
# host file), rewritten with extra environment, options, wrappers, MIME
|
||||
# defaults and wallet access, under the same desktop ID in
|
||||
# ~/.local/share/applications, so it replaces the original in the KDE menu
|
||||
# and the "+" menu (which reads only that directory).
|
||||
# - Flatpak/host file entries only exist at runtime: steam-frame-nix-launchers
|
||||
# (launchers/generate.sh + rewrite.awk) writes them to
|
||||
# <session.runtimeDir>/steam-frame-nix/applications (tmpfs), on switch, at
|
||||
# login and when Flatpak installs/updates apps (path unit); the Home
|
||||
# Manager links point there.
|
||||
# - Package entries are rewritten at build time.
|
||||
# - keyring: one kwalletd6 for both sessions (the outer bus), the wallet's
|
||||
# D-Bus names for Flatpaks, --password-store=kwallet6 for Electron.
|
||||
# Replaces the keyring module (steamFrame.keyring.*), whose options fail with
|
||||
# the new form.
|
||||
# Launchers (launchers.<desktop ID>, docs/launchers.md): the app's own desktop
|
||||
# entry, rewritten (launchers/rewrite.awk), under the same desktop ID in
|
||||
# ~/.local/share/applications. Package entries are rewritten at build time;
|
||||
# Flatpak and host file entries only exist at runtime, so
|
||||
# steam-frame-nix-launchers (launchers/generate.sh) writes them to
|
||||
# <session.runtimeDir>/steam-frame-nix/applications (tmpfs), where the Home
|
||||
# Manager links point. Replaces the keyring module (steamFrame.keyring.*),
|
||||
# whose options fail with the new form.
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.steamFrame.launchers;
|
||||
|
||||
Reference in new issue
Block a user