summaryrefslogtreecommitdiff
path: root/raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js')
-rw-r--r--raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js36
1 files changed, 29 insertions, 7 deletions
diff --git a/raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js b/raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js
index 556ffa4..3df621b 100644
--- a/raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js
+++ b/raveos-gnome-theme/theme-data/extensions/installed/blur-my-shell@aunetx/effects/native_dynamic_gaussian_blur.js
@@ -2,10 +2,17 @@ import GObject from 'gi://GObject';
import * as utils from '../conveniences/utils.js';
const St = await utils.import_in_shell_only('gi://St');
-const Shell = await utils.import_in_shell_only('gi://Shell');
+
+let BlurOrShell = await utils.import_in_shell_only('gi://Blur');
+let IS_BLUR_MODULE = true;
+if (BlurOrShell === null) {
+ BlurOrShell = await utils.import_in_shell_only('gi://Shell');
+ IS_BLUR_MODULE = false;
+}
+
const DEFAULT_PARAMS = {
- unscaled_radius: 30, brightness: 0.6
+ unscaled_radius: 30, brightness: 0.6, corner_radius: 14
};
@@ -13,15 +20,21 @@ export const NativeDynamicBlurEffect = utils.IS_IN_PREFERENCES ?
{ default_params: DEFAULT_PARAMS } :
new GObject.registerClass({
GTypeName: "NativeDynamicBlurEffect"
- }, class NativeDynamicBlurEffect extends Shell.BlurEffect {
+ }, class NativeDynamicBlurEffect extends BlurOrShell.BlurEffect {
constructor(params) {
- const { unscaled_radius, brightness, ...parent_params } = params;
- super({ ...parent_params, mode: Shell.BlurMode.BACKGROUND });
+ const { unscaled_radius, brightness, corner_radius, ...parent_params } = params;
+ if (IS_BLUR_MODULE)
+ super({ ...parent_params, mode: BlurOrShell.BlurMode.BACKGROUND, ...{ 'corner_radius': corner_radius } });
+ else
+ super({ ...parent_params, mode: BlurOrShell.BlurMode.BACKGROUND });
this._theme_context = St.ThemeContext.get_for_stage(global.stage);
this._theme_context.connectObject(
'notify::scale-factor',
- _ => this.radius = this.unscaled_radius * this._theme_context.scale_factor,
+ _ => {
+ this.radius = this.unscaled_radius * this._theme_context.scale_factor;
+ this.corner_radius = this.unscaled_corner_radius * this._theme_context.scale_factor;
+ },
this
);
@@ -40,4 +53,13 @@ export const NativeDynamicBlurEffect = utils.IS_IN_PREFERENCES ?
this._unscaled_radius = value;
this.radius = value * this._theme_context.scale_factor;
}
- }); \ No newline at end of file
+
+ get unscaled_corner_radius() {
+ return this._unscaled_corner_radius;
+ }
+
+ set unscaled_corner_radius(value) {
+ this._unscaled_corner_radius = value;
+ this.corner_radius = value * this._theme_context.scale_factor;
+ }
+ });