• dil@lemmy.zip
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    I grabbed like 3 apps to apply themes and icons on gnome and got confused trying to pick the best option

    • Oinks@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 day ago

      GNOME theming discussions are weird. A lot of people will peddle cargo culted bad (broken) approaches when asked about it, but honestly it’s not that complicated¹, just restrictive:

      • Use gsettings [get|set] org.gnome.desktop.interface gtk-theme [new value] to set the theme that GTK3 apps will load. Libadwaita apps will ignore this setting.

      • Use gsettings [get|set] org.gnome.desktop.interface color-scheme [prefer-light|prefer-dark|default] to control whether Libadwaita apps (and GNOME shell) will display in dark mode. GTK3 apps will ignore this setting.

        • prefer-light makes everything light mode.
        • prefer-dark makes everything dark mode.
        • default makes apps light mode but the panel will stay dark.
      • If you insist on theming Libadwaita apps, put the theme in ~/.config/gtk-4.0/gtk.css. You can also have add an @import directive there to import a theme. Note that this file is only loaded at startup, so using this feature means that GTK4 apps can no longer respond to the dark mode toggle.²

      All of the applications that promise to help in theming GTK/GNOME (regardless of whether you’re talking about Tweaks, Refine, the theming settings of other DEs, Gradience, etc.) just flip some combination of these settings, mostly the first two.³

      ¹ It might seem complicated based on the length of this comment, but trust me that Qt is worse.

      ² The newest GTK version has media selectors, so if all of your applications are already updated to use the new GTK and your theme is updated to use media selectors then dark mode toggles should actually work now. Mine unfortunately haven’t.

      ³ A handful (mostly random scripts from GitHub, but also more reputable stuff like home-manager) will also try some wrong ways:

      • Setting the GTK_THEME environment variable will prevent applications from loading the default Adwaita stylesheet completely, which will break all kinds of things.

      • You can also put a theme at ~/.config/gtk-3.0/gtk.css, but this does nothing you can’t do with gsettings except preventing you from changing the theme without restarting all your apps.

        • Oinks@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          22 hours ago

          Yes, that is true. Curiously Qt kind of has the opposite problem of trying to be too flexible, and we have like four theming engines of which only one actually works (and it’s the one that’s tied to the Plasma desktop). GTK4 + Libadwaita is at least consistent in that it supports basically nothing.