From 8cffa0ce6348255e3e917fa26d30b16552fe6262 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 5 Oct 2026 19:02:00 +0200 Subject: feat(firefox): new tab background follows the wallpaper FF Ultima selects the new tab image from a fixed list by pref. Its darknix.png slot is now a link to ~/.cache/udt/wpaper, so selecting it once in about:config makes the new tab show the current wallpaper, and Firefox picks up a change without a restart. Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 7 +++++++ install.sh | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index e874127..c1ab004 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -270,6 +270,13 @@ the terminal palette follows the scheme and never the wallpaper. The write lands after `wallp` has already run `wal --theme`, so it wins; reorder those two and pywal's wallpaper-derived colours come back. +Firefox's new tab shows the wallpaper itself, not a colour. FF Ultima picks +the new tab background from a fixed list of images by pref, and `install.sh` +links its `walls/darknix.png` slot to `~/.cache/udt/wpaper`; selecting it once +(`user.theme.wallpaper.darknix` in `about:config`) is the only manual step. +Firefox revalidates the file on each new tab, so a wallpaper change reaches a +running browser without a restart. + Not everything tracks the wallpaper. rofi, quickshell, Hyprland borders, hyprlock's border (through `~/.cache/udt/hyprlock-border.conf`), Sublime's colour scheme, Firefox, GRUB, the homepage and the AK820 Pro keyboard do; conky, Qt, GTK, waybar, hyprlock's panel palette diff --git a/install.sh b/install.sh index 7a78f80..b0fd835 100755 --- a/install.sh +++ b/install.sh @@ -123,6 +123,15 @@ fi mkdir -p "$HOME/.cache/wal" ln -sfn "$HOME/.cache/udt/colors.json" "$HOME/.cache/wal/colors.json" +# Firefox's new tab background. FF Ultima picks it from a fixed list of +# images by pref; its darknix.png slot is pointed at the wallpaper udt-accent +# tracks, so selecting it once (user.theme.wallpaper.darknix in about:config) +# makes the new tab follow every wallpaper change. Skipped per profile +# without FF Ultima. +for walls in "$HOME"/.mozilla/firefox/*/chrome/theme/color-schemes/walls; do + [ -d "$walls" ] && ln -sfn "$HOME/.cache/udt/wpaper" "$walls/darknix.png" +done + # The rofi menus are bound by name in hypr-theme's keybindings, so they keep # the names they had when they lived loose in ~/bin. for f in udt-accent udt-grub udt-keyboard udt-steps udt-palette udt-machine-name udt-powermenu.sh udt-launcher.sh qar-scrotmenu.sh; do -- cgit v1.2.3