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

(Question regarding the .gsettings-override file) How did you manage to implement it into i3-gnome-flashback? #1

Closed
SkyyySi opened this issue May 31, 2020 · 6 comments

Comments

@SkyyySi
Copy link

SkyyySi commented May 31, 2020

I myself use i3-gnome-flashback on Arch and I wans wondering how you implemented them here? It's probably done via Xresources, but how do you do it without those?
I would also like you to tell the original authors at https://github.com/deuill/i3-gnome-flashback about that since they are still looking for a way to do make these tweaks apply but revert them when logging out.
Greetings,
SkyyySi.

@kgilmer
Copy link
Member

kgilmer commented May 31, 2020

Hi @SkyyySi 😄 . I learned about this from the gnome-flashback developer, @muktupavels. See here for his description of gsettings overrides: regolith-linux/regolith-desktop#364 (comment)

It's still in unstable but my approach is to remove the gsettings overrides entirely from the regolith-gnome-flashback package and stage it separately in a package called regolith-default-settings. The two pieces I'm aware of that are needed are the override file itself, and the prefix for the desktop name that the overrides should apply to. The "installation" of the overrides is automated by Debian build scipts. I just put the file in the /debian directory and they are applied at install time to my DE.

@muktupavels
Copy link

Just to make clear! It is not apply/revert thing...

Override allows to change default value. For example upstream GNOME has appmenu:close as button-layout. GNOME Flashback overrides that to appmenu:minimize,maximize,close. Looks like Regolith overrides that to :.

If user or some script changes value (even if it matches default) it will be used in all sessions. Of course value can be reset to default if needed.

Default value depends on XDG_CURRENT_DESKTOP. Desktop names are separated with :. For example Regolith:GNOME-Flashback:GNOME is split into 3 parts - Regolith, GNOME-Flashback and GNOME. When application tries to get setting:

  • if user/script has changed/set setting, it will be used;
  • if not it will use default value for Regolith (if set);
  • if not it will use default value for GNOME-Flashabck (if set);
  • if not it will use default value for GNOME (if set);
  • if not it will use default value (can be upstream value in schema file or distro non-desktop specific override)

@SkyyySi
Copy link
Author

SkyyySi commented Jun 3, 2020

Thank's for the answer. But how exactly do I go about implementing such a gsettings-override file? I searchd for hours and found not even a single damn page about this, and all I'm trying to do is to set the defaul wallpaper and to disable the csd buttons... Anyway, do i just drop a file "i3-gnome-flashback-default-settings.gsettings-override" in /usr/share/applications or is it more complicated than that?

@muktupavels
Copy link

https://developer.gnome.org/gio/stable/glib-compile-schemas.html
https://developer.gnome.org/gio/stable/GSettings.html#id-1.4.19.2.9.25

You put your XX_*.gschema.override file in /usr/share/glib-2.0/schemas. Where is XX is number 00 - 99. Then you need to recompile with glib-compile-schemas /usr/share/glib-2.0/schemas.

@SkyyySi
Copy link
Author

SkyyySi commented Jun 3, 2020

Hmmm, ok. I just wonder how I'm gnonna implement that in archiso, but i guess that's up to me to find out. Thank you very much for the answer though :)

@kgilmer
Copy link
Member

kgilmer commented Jun 4, 2020

Closing, as looks like requested information was provided. Thank you @muktupavels 😄 .

@kgilmer kgilmer closed this as completed Jun 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants