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

extension: Perform runtime-only settings overriding #243

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

3v1n0
Copy link
Collaborator

@3v1n0 3v1n0 commented Mar 15, 2023

The extension is overriding the user settings by writing on them, sadly this
implies various issues because even if we reset them on extension unloading,
a shell crash or mis-behavior could always lead to affect user settings.

To prevent this, we can temporary override Settings backend read vfunc so
that the values we want to override won't ever be written to user db and so
there will be no risk of leaving them in a dirty state.

Sadly, this requires fixes to gjs:
https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/831

@3v1n0
Copy link
Collaborator Author

3v1n0 commented Mar 15, 2023

Leaving this as WIP given the gjs requirement...

@3v1n0 3v1n0 marked this pull request as draft March 15, 2023 17:05
@3v1n0 3v1n0 force-pushed the rewrite-settings-override branch from de07e66 to c4d402f Compare March 15, 2023 17:07
It can be useful to override behavior of classes and actors we do not
control
@3v1n0 3v1n0 force-pushed the rewrite-settings-override branch 3 times, most recently from 6a29f6a to 91f57e7 Compare March 15, 2023 19:49
The extension is overriding the user settings by writing on them, sadly this
implies various issues because even if we reset them on extension unloading,
a shell crash or mis-behavior could always lead to affect user settings.

To prevent this, we can temporary override Settings backend read vfunc so
that the values we want to override won't ever be written to user db and so
there will be no risk of leaving them in a dirty state.

Sadly, this requires fixes to gjs:
  https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/831
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

Successfully merging this pull request may close these issues.

1 participant