4

I am writing a bash script to switch system theme between dark and light whenever necessary (on Linux Mint 20.3). I could make it work for the overall OS theme, the terminal theme, and some gnome applications on flatpak.

With this, I expected that Mozilla Firefox will switch theme automatically, as its theme has been set to System theme. However, the Firefox theme does not change. It would be helpful if someone could point me in the right direction to implement this.

In short, I am looking for at least one of the following:

  1. The manner in which Firefox determines the system theme on Linux Mint.
  2. The commands to force Firefox to follow a particular theme.

Thanks in advance. Here is my bash script:

#!/bin/bash
if [ $# -eq 0 ]
then
    echo Current Theme: $(gsettings get org.cinnamon.theme name)
elif [ $1 == "dark" ]
then
    gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-dark'
    flatpak override --user --env=GTK_THEME='Yaru-dark'
    gsettings set org.cinnamon.theme name 'Mint-Y-Dark'
    gsettings set org.cinnamon.desktop.interface gtk-theme "Mint-Y-Dark"
    gsettings set org.cinnamon.desktop.wm.preferences theme "Mint-Y-Dark"
    gsettings set org.cinnamon.desktop.interface icon-theme 'Mint-Y-Dark'
    gsettings set org.gnome.Terminal.ProfilesList default f02cd96e-20b4-4146-a6aa-75f5da6a65b2 
elif [ "$1" = "light" ]
then
    gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-light'
    flatpak override --user --env=GTK_THEME='Yaru-light'
    gsettings set org.cinnamon.theme name 'Mint-Y'
    gsettings set org.cinnamon.desktop.interface gtk-theme "Mint-Y"
    gsettings set org.cinnamon.desktop.wm.preferences theme "Mint-Y"
    gsettings set org.cinnamon.desktop.interface icon-theme 'Mint-Y'
    gsettings set org.gnome.Terminal.ProfilesList default b1dcc9dd-5262-4d8d-a863-c897e6d979b9
else
    echo "Unknown argument"
fi
kksagar
  • 267
  • 1
  • 3
  • 14

1 Answers1

0

The answer you are looking for might be simply:

gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
alternateved
  • 1
  • 1
  • 1
  • Tried this, but returned an error: `No such key "color-scheme"` – kksagar Jun 13 '22 at 20:15
  • According to https://github.com/GNOME/gsettings-desktop-schemas/blob/master/schemas/org.gnome.desktop.interface.gschema.xml.in, it seems like `prefer-dark` and `prefer-light` are valid values for `org.gnome.desktop.GDesktopColorScheme`, but this id doesn't exist on my computer. – kksagar Jun 13 '22 at 20:28
  • @kksagar It was added on [2021-09-19](https://github.com/GNOME/gsettings-desktop-schemas/commit/e3c2c421d78a8bfff466ad2180781cbaacce0319) so maybe it's not yet in the release that Mint 20.3 runs? – Chris Wesseling Jun 30 '22 at 10:02
  • @ChrisWesseling Thank you, will try to check that. The gsettings version number is 2.64.6, I couldn't find the version number corresponding to the date that you mentioned. – kksagar Jul 02 '22 at 11:21
  • @kksagar Maybe the gsettings repo has tags? – Chris Wesseling Jul 02 '22 at 15:06