forked from nick-redwill/LiveLockScreen
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprefs.js
More file actions
71 lines (65 loc) · 2.31 KB
/
prefs.js
File metadata and controls
71 lines (65 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import Gst from 'gi://Gst';
import Gtk from 'gi://Gtk';
import Gdk from 'gi://Gdk';
import GLib from 'gi://GLib';
import {ExtensionPreferences} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
import {APP_ID} from './prefs-constants.js';
import {PREFS_CSS_BASE} from './prefs-css.js';
import {PREFS_CSS_EXTENDED} from './prefs-css-extended.js';
import {PrefsUiMixin} from './prefs-ui.js';
import {PrefsStoreMixin} from './prefs-store.js';
import {PrefsMediaMixin} from './prefs-media.js';
import {PrefsLibraryMixin} from './prefs-library.js';
import {PrefsHomeMixin} from './prefs-home.js';
import {PrefsSettingsMixin} from './prefs-settings.js';
class LiveLockPaperPrefs extends ExtensionPreferences {
fillPreferencesWindow(window) {
try {
Gst.init(null);
} catch (e) {}
this._settings = this.getSettings();
this._window = window;
this._refreshHomeSelectionCards = null;
this._homeSelectionRefreshIdle = 0;
try {
window.set_title(APP_ID);
} catch (e) {}
try {
window.set_default_size(1480, 960);
} catch (e) {}
this._installCss();
this._ensureStoreSeeded();
window.add(this._buildHomePage());
const win = window;
GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
try {
win.add(this._buildLibraryPage());
} catch (e) {}
GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
try {
win.add(this._buildSettingsPage());
} catch (e2) {}
return GLib.SOURCE_REMOVE;
});
return GLib.SOURCE_REMOVE;
});
}
_installCss() {
if (this._cssInstalled)
return;
const provider = new Gtk.CssProvider();
provider.load_from_string(PREFS_CSS_BASE + PREFS_CSS_EXTENDED);
const display = Gdk.Display.get_default();
if (display)
Gtk.StyleContext.add_provider_for_display(display, provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
this._cssInstalled = true;
}
}
Object.assign(LiveLockPaperPrefs.prototype,
PrefsUiMixin,
PrefsStoreMixin,
PrefsMediaMixin,
PrefsLibraryMixin,
PrefsHomeMixin,
PrefsSettingsMixin);
export default LiveLockPaperPrefs;