1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import * as Main from 'resource:///org/gnome/shell/ui/main.js';
- import { UnlockDialog } from 'resource:///org/gnome/shell/ui/unlockDialog.js';
- import { Pipeline } from '../conveniences/pipeline.js';
- const original_createBackground =
- UnlockDialog.prototype._createBackground;
- const original_updateBackgroundEffects =
- UnlockDialog.prototype._updateBackgroundEffects;
- const original_updateBackgrounds =
- UnlockDialog.prototype._updateBackgrounds;
- export const LockscreenBlur = class LockscreenBlur {
- constructor(connections, settings, effects_manager) {
- this.connections = connections;
- this.settings = settings;
- this.effects_manager = effects_manager;
- this.enabled = false;
- }
- enable() {
- this._log("blurring lockscreen");
- this.update_lockscreen();
- this.enabled = true;
- }
- update_lockscreen() {
- UnlockDialog.prototype._createBackground =
- this._createBackground;
- UnlockDialog.prototype._updateBackgroundEffects =
- this._updateBackgroundEffects;
- UnlockDialog.prototype._updateBackgrounds =
- this._updateBackgrounds;
- }
- _createBackground(monitor_index) {
- let pipeline = new Pipeline(
- global.blur_my_shell._effects_manager, global.blur_my_shell._pipelines_manager,
- global.blur_my_shell._settings.lockscreen.PIPELINE
- );
- pipeline.create_background_with_effects(
- monitor_index,
- this._bgManagers,
- this._backgroundGroup,
- "screen-shield-background"
- );
- }
- _updateBackgroundEffects() {
- this._updateBackgrounds();
- }
- _updateBackgrounds() {
- for (let i = 0; i < this._bgManagers.length; i++) {
- this._bgManagers[i]._bms_pipeline.destroy();
- this._bgManagers[i].destroy();
- }
- this._bgManagers = [];
- this._backgroundGroup.destroy_all_children();
- for (let i = 0; i < Main.layoutManager.monitors.length; i++)
- this._createBackground(i);
- }
- disable() {
- this._log("removing blur from lockscreen");
- UnlockDialog.prototype._createBackground =
- original_createBackground;
- UnlockDialog.prototype._updateBackgroundEffects =
- original_updateBackgroundEffects;
- UnlockDialog.prototype._updateBackgrounds =
- original_updateBackgrounds;
- this.connections.disconnect_all();
- this.enabled = false;
- }
- _log(str) {
- if (this.settings.DEBUG)
- console.log(`[Blur my Shell > lockscreen] ${str}`);
- }
- };
|