Skip to content

Commit ac0eaac

Browse files
committed
use default gsettings schemas when installed system-wide
1 parent 2b565b2 commit ac0eaac

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

workspace.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,22 @@ const WORKSPACE_KEY = 'org.gnome.shell.extensions.paperwm.workspace';
1212
export class WorkspaceSettings {
1313
constructor(extension) {
1414
this.workspaceSettingsCache = {};
15-
this.schemaSource = Gio.SettingsSchemaSource.new_from_directory(
16-
GLib.build_filenamev([extension.path, "schemas"]),
17-
Gio.SettingsSchemaSource.get_default(),
18-
false
19-
);
15+
16+
console.debug("Extension path " + extension.dir.get_parent().get_path());
17+
console.debug("XDG_DATA_DIR=" + GLib.get_user_data_dir());
18+
if (extension.dir.get_parent().get_path() == GLib.get_user_data_dir()) {
19+
console.debug("We are installed in $XDG_DATA_HOME");
20+
this.schemaSource = Gio.SettingsSchemaSource.new_from_directory(
21+
GLib.build_filenamev([extension.path, "schemas"]),
22+
Gio.SettingsSchemaSource.get_default(),
23+
false
24+
);
25+
} else {
26+
// assume we are installed system-wide and our schema source is in
27+
// the default schema.
28+
console.debug("We are installed in system $PREFIX.");
29+
this.schemaSource = Gio.SettingsSchemaSource.get_default();
30+
}
2031

2132
this.workspaceList = new Gio.Settings({
2233
settings_schema: this.getSchemaSource().lookup(WORKSPACE_LIST_KEY, true),

0 commit comments

Comments
 (0)