mirror of
https://github.com/gosticks/PaperWM.git
synced 2026-08-16 22:20:28 +00:00
settings: Add use-default-background preference
Does not support timed backgrounds. fixes #122
This commit is contained in:
+3
-27
@@ -659,6 +659,7 @@
|
||||
<object class="GtkGrid" id="workspace_default_background_grid">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Only supports static backgrounds</property>
|
||||
<property name="margin_left">12</property>
|
||||
<property name="margin_right">12</property>
|
||||
<property name="margin_top">12</property>
|
||||
@@ -669,7 +670,7 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="label" translatable="yes">Default background</property>
|
||||
<property name="label" translatable="yes">Use default background</property>
|
||||
<property name="xalign">0</property>
|
||||
</object>
|
||||
<packing>
|
||||
@@ -678,24 +679,9 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="workspace_button_delete_default_background">
|
||||
<property name="label">Clear</property>
|
||||
<object class="GtkSwitch" id="use-default-background">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Clear default background</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="top_attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFileChooserButton" id="workspace_chooser_default_background">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="create_folders">False</property>
|
||||
<property name="title" translatable="yes">Choose default background</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
@@ -796,15 +782,6 @@
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
@@ -846,7 +823,6 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">never</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkViewport">
|
||||
<property name="visible">True</property>
|
||||
|
||||
@@ -138,29 +138,15 @@ class SettingsWidget {
|
||||
|
||||
// Workspaces
|
||||
|
||||
const defaultBackground = this.builder.get_object('workspace_chooser_default_background');
|
||||
const deleteDefaultBackground = this.builder.get_object('workspace_button_delete_default_background');
|
||||
|
||||
let filename = this._settings.get_string('default-background');
|
||||
if (filename === ''){
|
||||
defaultBackground.unselect_all();
|
||||
deleteDefaultBackground.sensitive = false;
|
||||
} else {
|
||||
defaultBackground.set_filename(filename);
|
||||
deleteDefaultBackground.sensitive = true;
|
||||
}
|
||||
|
||||
defaultBackground.connect('file-set', () => {
|
||||
let filename = defaultBackground.get_filename();
|
||||
this._settings.set_string('default-background', filename);
|
||||
deleteDefaultBackground.sensitive = true;
|
||||
const defaultBackgroundSwitch = this.builder.get_object('use-default-background');
|
||||
defaultBackgroundSwitch.state =
|
||||
this._settings.get_boolean('use-default-background');
|
||||
defaultBackgroundSwitch.connect('state-set', (obj, state) => {
|
||||
this._settings.set_boolean('use-default-background',
|
||||
state);
|
||||
});
|
||||
|
||||
deleteDefaultBackground.connect('clicked', () => {
|
||||
this._settings.set_string('default-background', '');
|
||||
defaultBackground.unselect_all();
|
||||
deleteDefaultBackground.sensitive = false;
|
||||
});
|
||||
let useDefault = this._settings.get_boolean('use-default-background');
|
||||
|
||||
const workspaceCombo = this.builder.get_object('workspace_combo_text');
|
||||
const workspaceStack = this.builder.get_object('workspace_stack');
|
||||
|
||||
Binary file not shown.
@@ -302,6 +302,11 @@
|
||||
<summary>Default background image</summary>
|
||||
</key>
|
||||
|
||||
<key type="b" name="use-default-background">
|
||||
<default>false</default>
|
||||
<summary>Use the default gnome shell background</summary>
|
||||
</key>
|
||||
|
||||
<key type="b" name="default-show-top-bar">
|
||||
<default>true</default>
|
||||
<summary>Show the top bar on workspaces by default</summary>
|
||||
|
||||
@@ -34,6 +34,10 @@ var Me = Extension.imports.tiling;
|
||||
|
||||
var prefs = Settings.prefs;
|
||||
|
||||
var backgroundSettings = new Gio.Settings({
|
||||
schema_id: 'org.gnome.desktop.background'
|
||||
})
|
||||
|
||||
var borderWidth = 8;
|
||||
// Mutter prevints windows from being placed further off the screen than 75 pixels.
|
||||
var stack_margin = 75;
|
||||
@@ -258,6 +262,10 @@ class Space extends Array {
|
||||
const settings = Convenience.getSettings();
|
||||
this.signals.connect(settings, 'changed::default-background',
|
||||
this.updateBackground.bind(this));
|
||||
this.signals.connect(settings, 'changed::use-default-background',
|
||||
this.updateBackground.bind(this));
|
||||
this.signals.connect(backgroundSettings, 'changed::picture-uri',
|
||||
this.updateBackground.bind(this));
|
||||
}
|
||||
|
||||
layoutGrabColumn(column, x, y0, targetWidth, availableHeight, time, grabWindow) {
|
||||
@@ -931,9 +939,14 @@ box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .7);
|
||||
|
||||
updateBackground() {
|
||||
let path = this.settings.get_string('background') || prefs.default_background;
|
||||
let file = Gio.File.new_for_path(path);
|
||||
let useDefault = Settings.settings.get_boolean('use-default-background');
|
||||
const BackgroundStyle = imports.gi.GDesktopEnums.BackgroundStyle;
|
||||
let style = BackgroundStyle.ZOOM;
|
||||
if (!path && useDefault) {
|
||||
path = backgroundSettings.get_string('picture-uri');
|
||||
}
|
||||
|
||||
let file = Gio.File.new_for_commandline_arg(path);
|
||||
if (path === '' || !file.query_exists(null)) {
|
||||
file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/noise-texture.png');
|
||||
style = BackgroundStyle.WALLPAPER;
|
||||
|
||||
Reference in New Issue
Block a user