linux-presets/gui/gnome/autocustom-gnome-macos/res/extensions/blur-my-shell@aunetx/preferences/dash.js

81 lines
2.7 KiB
JavaScript
Executable File

import Adw from 'gi://Adw';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Gio from 'gi://Gio';
export const Dash = GObject.registerClass({
GTypeName: 'Dash',
Template: GLib.uri_resolve_relative(import.meta.url, '../ui/dash.ui', GLib.UriFlags.NONE),
InternalChildren: [
'blur',
'pipeline_choose_row',
'mode_static',
'mode_dynamic',
'sigma_row',
'sigma',
'brightness_row',
'brightness',
'override_background',
'style_dash_to_dock',
'unblur_in_overview'
],
}, class Dash extends Adw.PreferencesPage {
constructor(preferences, pipelines_manager, pipelines_page) {
super({});
this.preferences = preferences;
this.pipelines_manager = pipelines_manager;
this.pipelines_page = pipelines_page;
this.preferences.dash_to_dock.settings.bind(
'blur', this._blur, 'active',
Gio.SettingsBindFlags.DEFAULT
);
this._pipeline_choose_row.initialize(
this.preferences.dash_to_dock, this.pipelines_manager, this.pipelines_page
);
this.change_blur_mode(this.preferences.dash_to_dock.STATIC_BLUR, true);
this._mode_static.connect('toggled',
() => this.preferences.dash_to_dock.STATIC_BLUR = this._mode_static.active
);
this.preferences.dash_to_dock.STATIC_BLUR_changed(
() => this.change_blur_mode(this.preferences.dash_to_dock.STATIC_BLUR, false)
);
this.preferences.dash_to_dock.settings.bind(
'sigma', this._sigma, 'value',
Gio.SettingsBindFlags.DEFAULT
);
this.preferences.dash_to_dock.settings.bind(
'brightness', this._brightness, 'value',
Gio.SettingsBindFlags.DEFAULT
);
this.preferences.dash_to_dock.settings.bind(
'override-background',
this._override_background, 'enable-expansion',
Gio.SettingsBindFlags.DEFAULT
);
this.preferences.dash_to_dock.settings.bind(
'style-dash-to-dock', this._style_dash_to_dock, 'selected',
Gio.SettingsBindFlags.DEFAULT
);
this.preferences.dash_to_dock.settings.bind(
'unblur-in-overview', this._unblur_in_overview, 'active',
Gio.SettingsBindFlags.DEFAULT
);
}
change_blur_mode(is_static_blur, first_run) {
this._mode_static.set_active(is_static_blur);
if (first_run)
this._mode_dynamic.set_active(!is_static_blur);
this._pipeline_choose_row.set_visible(is_static_blur);
this._sigma_row.set_visible(!is_static_blur);
this._brightness_row.set_visible(!is_static_blur);
}
});