regolith-linux / regolith-desktop

Meta package for the Regolith Desktop Environment
1.5k stars 31 forks source link

I can't figure out how to change my color theme #88

Closed geajack closed 5 years ago

geajack commented 5 years ago

I installed Regolith the other night and wanted to change my theme to Nord, from the default of Solarized Dark. I'm not sure if it's a documentation problem or a software problem, but I can't seem to figure out how to do it. Steps I followed:

  1. Followed the instructions on the website, modified the config file. Ran regolith-config-init, then regolith-config-reset. Logged out and in a few times. Didn't work, tried again.
  2. Forgot exactly what I'd done in step 1, so I tried to recover the normal state by returning the config file ~/.Xresources-regolith-1.2.15 to its original state and deleting the regolith-config-backup folders that had been created. This puts me back in a clean state, right?
  3. Commented out the line #include ".Xresources.d/color-solarized-dark" and uncommented the line !#include ".Xresources.d/color-nord" in the file ~/.Xresources-regolith-1.2.15.
  4. Saved the file. Closed the text editor.
  5. Ran regolith-config-reset.sh.
  6. Quit the session with Mod+Shift+E. Logged back in.
  7. I'm still in Solarized Dark - also, my wallpaper is gone (as in, back to the default wallpaper).
Tycorbinian commented 5 years ago

I'm having a similar issue, and additionally I overwrote the hard coded colors that exist in the config-4.16-1ubuntu18ppa10 files but that didn't seem to help either.

kgilmer commented 5 years ago

Hi @geajack and @Tycorbinian ! Thanks for the detailed notes on your actions @geajack . I am working on a better step-by-step howto and have found a few things missing, such as the Nordic gtk theme Xresource file. I'll let you know when the howto is available. Can either of you provide your full copy of ~/.Xresources-regolith in this issue for troubleshooting?

geajack commented 5 years ago

When I started this I'd gotten myself into some kind of inconsistent state with a Nord taskbar but Solarized Dark apps. I deleted any backup folders I found in ~ and rebooted. Before rebooting, my .Xresources-regolith looked like this:

! This is the Regolith root-level Xresources file.
!
! -- Styles - Colors
!
! Uncomment one and only one of the following color definitions: 
#include ".Xresources.d/color-solarized-dark"
!#include ".Xresources.d/color-solarized-light"
!#include ".Xresources.d/color-gruvbox"
!#include ".Xresources.d/color-nord"

! -- Styles - Fonts
!
! Uncomment one and only one of the following font definitions:
#include ".Xresources.d/typeface-sourcecodepro"
!#include ".Xresources.d/typeface-sourcecodepro"

! -- Styles - Theme
!
! Uncomment one and only one of the following font definitions:
#include ".Xresources.d/theme-regolith"
!#include ".Xresources.d/theme-ubuntu-dark"

! -- Applications
! These files are not intended to be modified, however if you
! would like to configure a new app's Xresources to use Regolith 
! theme info, this is the place to add it.
!
#include ".Xresources.d/st-term"
#include ".Xresources.d/i3-wm"
#include ".Xresources.d/i3xrocks"
#include ".Xresources.d/rofi"
#include ".Xresources.d/gnome"

! -- Policy
! Add the following line to your ~/.Xresources file to prevent further
! updates to your configuration, and set the value to false.  Note this 
! may break your UI if backwards incompatible changes are added in the future.
regolith.policy.update: true

After rebooting, I was in Solarized dark. I put my config file in this state and rebooted again:

! This is the Regolith root-level Xresources file.
!
! -- Styles - Colors
!
! Uncomment one and only one of the following color definitions: 
!#include ".Xresources.d/color-solarized-dark"
!#include ".Xresources.d/color-solarized-light"
!#include ".Xresources.d/color-gruvbox"
#include ".Xresources.d/color-nord"

! -- Styles - Fonts
!
! Uncomment one and only one of the following font definitions:
#include ".Xresources.d/typeface-sourcecodepro"
!#include ".Xresources.d/typeface-sourcecodepro"

! -- Styles - Theme
!
! Uncomment one and only one of the following font definitions:
#include ".Xresources.d/theme-regolith"
!#include ".Xresources.d/theme-ubuntu-dark"

! -- Applications
! These files are not intended to be modified, however if you
! would like to configure a new app's Xresources to use Regolith 
! theme info, this is the place to add it.
!
#include ".Xresources.d/st-term"
#include ".Xresources.d/i3-wm"
#include ".Xresources.d/i3xrocks"
#include ".Xresources.d/rofi"
#include ".Xresources.d/gnome"

! -- Policy
! Add the following line to your ~/.Xresources file to prevent further
! updates to your configuration, and set the value to false.  Note this 
! may break your UI if backwards incompatible changes are added in the future.
regolith.policy.update: true

After rebooting, I am again in the weird Nord-taskbar-but-Solarized-Dark-apps state, and my config file looks like this:

! This is the Regolith root-level Xresources file.
!
! -- Styles - Colors
!
! Uncomment one and only one of the following color definitions: 
!#include ".Xresources.d/color-solarized-dark"
!#include ".Xresources.d/color-solarized-light"
!#include ".Xresources.d/color-gruvbox"
#include ".Xresources.d/color-nord"

! -- Styles - Fonts
!
! Uncomment one and only one of the following font definitions:
#include ".Xresources.d/typeface-sourcecodepro"
!#include ".Xresources.d/typeface-sourcecodepro"

! -- Styles - Theme
!
! Uncomment one and only one of the following font definitions:
#include ".Xresources.d/theme-regolith"
!#include ".Xresources.d/theme-ubuntu-dark"

! -- Applications
! These files are not intended to be modified, however if you
! would like to configure a new app's Xresources to use Regolith 
! theme info, this is the place to add it.
!
#include ".Xresources.d/st-term"
#include ".Xresources.d/i3-wm"
#include ".Xresources.d/i3xrocks"
#include ".Xresources.d/rofi"
#include ".Xresources.d/gnome"

! -- Policy
! Add the following line to your ~/.Xresources file to prevent further
! updates to your configuration, and set the value to false.  Note this 
! may break your UI if backwards incompatible changes are added in the future.
regolith.policy.update: true
kgilmer commented 5 years ago

Ok, yes, there is one missing piece. I have yet to push this change into the stable repo yet, but this should fix your issue. Add the following file ~/.Xresources.d/theme-nordic with this:

#define gtk_theme       nordic
#define icon_theme      Arc
#define wallpaper_uri   "file:///usr/share/backgrounds/ESP_020528_1750_desktop.jpg"

(This is just a copy of ~/.Xresources.d/theme-regolith with the nordic gtk theme.)

Then, if you haven't, install the Nordic gtk theme:

$ sudo apt install nordic

Next, specify the theme-nordic file in your ~/.Xresources-regolith file:

...
! -- Styles - Theme
!
! Uncomment one and only one of the following font definitions:
!#include ".Xresources.d/theme-regolith"
!#include ".Xresources.d/theme-ubuntu-dark"
#include ".Xresources.d/theme-nordic"
...

Now reload your Xresources:

$ regolith-config-init.sh

And then set the nordic gtk theme. This is a temporary step that will be fixed in a subsequent update:

$ gsettings set org.gnome.desktop.interface gtk-theme "`xrescat gnome.gtk.theme SolArc-Dark`"
$ gsettings set org.gnome.desktop.wm.preferences theme "`xrescat gnome.wm.theme SolArc-Dark`"

This is obviously a lot of work for a simple theme change. The Xresources feature in Regolith needs some more polish! :sweat_drops:

geajack commented 5 years ago

You typed "SolArc-Dark" in those last two console commands - did you mean "nordic"?

EDIT: I followed those instructions - replacing SolArc-Dark with "nordic" (lowercase) in those commands - and then logged out and in, and I'm still in the grey taskbar with sol-dark apps state. Although my terminal is grey as well now, though I'm not sure if it wasn't before.

Tycorbinian commented 5 years ago

I'm wondering if maybe this won't work for me since all I did was make a copy of the solarized dark file and change the hex codes so I don't have a gtk theme to install. I'm kinda new to this which is part of why I chose regolith since it makes mostly everything else easier.

kgilmer commented 5 years ago

@geajack the 'SolArk-Dark' is what to use if the Xresource value gnome.gtk.theme doesn't exist. You can see what this value is set to in your system by running xrescat gnome.gtk.theme from a terminal. If you're trying to use the Nordic gtk theme, it should be 'Nordic'. In general, it needs to be one of the directory names in /usr/share/themes. The difference in case is due to a rule that debian package names must always be lowercase.

@Tycorbinian yes you'll need to install the Nordic gtk theme. It is not installed by default, but is included in the Regolith PPA:

$ sudo apt install nordic
geajack commented 5 years ago

Okay! I got it working. I had actually skipped a step in following your instructions. I though the step of modifying .Xresources-regolith was the same as the one I'd already done - but it's not, there are TWO changes to make in that file.

Having now actually followed your instructions (including running the two console commands exactly as you wrote), I have the Nordic theme loaded. Thanks!

So it seems the full sequence is:

  1. Install the Nordic theme with apt.
  2. Create the regolith-nordic file in ~/.Xresources.d.
  3. Modify the ~/.Xresources-regolith config file in two places - Styles - Colors and Styles - Theme.
  4. Run regolith-config-init.
  5. Run the two gsettings commands you wrote.

Once the upcoming changes you mentioned are pushed, how much will that process be trimmed down?

Tycorbinian commented 5 years ago

@kgilmer I see! Thanks for the help, and great work on regolith I'm really enjoying using it.

kgilmer commented 5 years ago

Very happy to hear that @Tycorbinian !

kgilmer commented 5 years ago

FWIW, the new process will be:

  1. Copy /etc/regolith/styles/root to ~/.Xresources-regolith
  2. Toggle the theme and color defines
  3. Log out and back in
kgilmer commented 5 years ago

Config file changes have been pushed to regolith-stable. See https://regolith-linux.org/troubleshooting.html#where-is-config for troubleshooting tips.

ian-battaglia commented 5 years ago

Ken, is this process still the same? Let's say I want to set the gruvbox theme system-wide (or as far as Xresources will let me!). I see the Gruvbox definitions in the /.Xresources.d directory. Modifying the .Xresources-regolith-1.2.15 file doesn't seem to have the desired effect, however. Is there documentation up for this yet?

kgilmer commented 5 years ago

The documentation is up-to-date. In particular, this table describes the configuration file path you need. The file formation with the version suffux has been deprecated. See this announcement for details.

You want to copy the baseline Xresources file into your homedir and modify that version:

cp /etc/regolith/styles/root ~/.Xresources-regolith

This will let you modify the top-level to, say, change the color theme. For deeper customizations you'll need to copy the individual Xresource modules into your home directory:

cp /etc/regolith/styles/* ~/.Xresources.d/

And then you'll need to update the paths in ~/.Xresources-regolith.

LMK if this doesn't make sense.