Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restarting regolith resets the wallpaper #421

Closed
ankitson opened this issue May 24, 2020 · 13 comments
Closed

Restarting regolith resets the wallpaper #421

ankitson opened this issue May 24, 2020 · 13 comments
Labels
configuration Issue with custom configuration of Regolith documentation

Comments

@ankitson
Copy link

Describe the bug
Restarting regolith with Super+Shift+R resets my desktop background to the default regolith background (shown on the homepage).

To Reproduce
Steps to reproduce the behavior:

Restart regolith via Super+Shift+R. Rebooting or shutting down the computer does not cause this problem.

Expected behavior
Regolith restarts with background intact.

Screenshots
N/A

Installation Details

  • Regolith Install Type: PPA
  • Regolith Version: regolith-desktop/focal,now 2.63-1focal1 amd64
  • PPA url: ppa:regolith-linux/release
  • Host OS (for PPA): Pop OS 20.04

Additional context
N/A

@moritzheiber
Copy link
Contributor

How are you setting your background?

@moritzheiber moritzheiber added configuration Issue with custom configuration of Regolith documentation labels May 24, 2020
@moritzheiber
Copy link
Contributor

As a side-note, the documentation on this appears to be misleading: https://regolith-linux.org/docs/getting-started/configuration/

cc @kgilmer

@kgilmer
Copy link
Member

kgilmer commented May 24, 2020

Hi @ankitson , yes this is by-design. Because Regolith is a blend of i3 (X windows) and GNOME, there are some configuration elements that are redundant, including the wallpaper. Regolith tries to be smart by only changing the wallpaper from X if it detects a change, but refreshing the session explicitly forces Regolith to refresh itself from the existing Xresource values. You can see that the wallpaper is defined in Regolith with the xrdb tool:

$ xrdb -query | grep wallpaper
gnome.wallpaper:	/usr/share/backgrounds/ESP_016895_1525_desktop.jpg

So, Regolith is seeing this and then updating GNOME (dconf/gsettings) to use is this as well. To avoid this issue, you can override the default wallpaper in Xresources using (Xres overrides)[https://regolith-linux.org/docs/howto/override-xres/].

@kgilmer
Copy link
Member

kgilmer commented May 24, 2020

To properly fix this, some kind of synchronization mechanism between dconf/gsettings and Xresources would need to be created. Or, remove Xresource support for wallpaper, which would be a regression for Looks. Or, remove the ability for users to change wallpaper via Settings (which may not be possible without forking).

@kgilmer
Copy link
Member

kgilmer commented May 24, 2020

This is also tied into the recent gsettings-override change in gnome-regolith-flashback. There may be another solution that's not clear to me yet.

@moritzheiber
Copy link
Contributor

@kgilmer But then the documentation will have to change as well

@cheginit
Copy link

I think setting background from Xresource is more inline with the overall philosophy of Regolith and users should be encouraged to set it this way. This approach is more convenient from dotfile management point of view.

@moritzheiber
Copy link
Contributor

Is the Xresources handler also setting the wallpaper for the lock- and login screens? Because that's what GNOME Control Center does, I think.

Also, I disagree that setting this in Xresources is more convenient, especially for users that aren't managing their environment using dotfiles. The Control Center clearly suggests that its a viable way of setting the wallpaper, but we are "hijacking" this process in order to, supposedly, improve user experience.

Ideally, we could have both methods run side-by-side?

@kgilmer
Copy link
Member

kgilmer commented May 25, 2020

Is the Xresources handler also setting the wallpaper for the lock- and login screens? Because that's what GNOME Control Center does, I think.

I think that before focal, this was the case, however the lock and login screen changes I believe were intended for gnome-shell, as they didn't seem to work. In focal it doesn't appear that we can select anything except the desktop wallpaper, which does work.

Yes, I think both methods have value depending on who you are, and that this sync issue between the two is "worth it" to allow people to easily set their wallpaper via a GUI or keep it managed in dotfiles depending on their preferences.

I was thinking that w/ the gsettings monitor function, it would be possible (but probably complex relative to the potential functional gain) to listen for gsettings changes and then somehow update Xresources accordingly.

There is a future potential of Regolith to migrate entirely to gsettings/dconf over Xresources (although the opposite is also possible it seems to me it would be much more work to make GNOME use Xres instead of dconf), unifying all configuration into gsettings. This would require forking i3-gaps and rofi, at least. So, for example instead of i3 setting window decoration colors from the i3 config file (transitively the Xresource db), it would directly integrate gsettings APIs to read and use gtk settings naively. However, this seems like a lot of work and it isn't clear that the resultant system would be better than Regolith in it's current state, other than perhaps internally being more symmetrical and consistent.

@moritzheiber
Copy link
Contributor

We already have another bug relating to handling of gsettings/dconf vs. xsettings vs. Xresources, this one appears to be another artifact of it .. 🤔

@moritzheiber
Copy link
Contributor

@ankitson I think your issue is resolved for now, right? If so, I'm going to close this report and open an enhancement topic instead which refers to the situation around respecting Xresources values and GNOME settings

@ankitson
Copy link
Author

ankitson commented May 26, 2020

@moritzheiber @kgilmer

Yes, this resolves my issue, thank you for responding. I am not familiar with the details of Gnome and X but I can see how syncing config can get complicated for little benefit. As a user I think if there is no syncing, the docs should just mention this quirk.

@moritzheiber
Copy link
Contributor

Okay, thank you. I've opened a new issue (#431) and closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
configuration Issue with custom configuration of Regolith documentation
Projects
None yet
Development

No branches or pull requests

4 participants