diff --git a/gnome-44-max.patch b/gnome-44-max.patch index cae2d6c..78dd1ff 100644 --- a/gnome-44-max.patch +++ b/gnome-44-max.patch @@ -35,10 +35,10 @@ index 36ad7ee..41102a0 100644 }, class MouseSpriteContent extends GObject.Object { _init() { diff --git a/gnome-44-max/src/cursormanager.js b/gnome-44-max/src/cursormanager.js -index 018b942..870d86e 100644 +index 52d1341..86d8a76 100644 --- a/gnome-44-max/src/cursormanager.js +++ b/gnome-44-max/src/cursormanager.js -@@ -1,11 +1,15 @@ +@@ -1,12 +1,15 @@ -import Clutter from 'gi://Clutter'; -import Meta from 'gi://Meta'; -import * as PointerWatcher from 'resource:///org/gnome/shell/ui/pointerWatcher.js'; @@ -47,7 +47,7 @@ index 018b942..870d86e 100644 +const Clutter = imports.gi.Clutter; +const Meta = imports.gi.Meta; +const PointerWatcher = imports.ui.pointerWatcher; -+ + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); + @@ -57,26 +57,25 @@ index 018b942..870d86e 100644 // Taken from https://github.com/jkitching/soft-brightness-plus -export class CursorManager { +var CursorManager = class CursorManager { - constructor(mainActor, refreshRate) { - this._mainActor = mainActor; + constructor(overlay, refreshRate) { + this._overlay = overlay; this._refreshRate = refreshRate; diff --git a/gnome-44-max/src/extension.js b/gnome-44-max/src/extension.js -index 29a38f1..0a7e9ae 100644 +index 7074ceb..257c139 100644 --- a/gnome-44-max/src/extension.js +++ b/gnome-44-max/src/extension.js -@@ -1,20 +1,22 @@ +@@ -1,19 +1,21 @@ -import Clutter from 'gi://Clutter' -import Gio from 'gi://Gio'; -import GLib from 'gi://GLib'; -import Meta from 'gi://Meta'; -import Shell from 'gi://Shell'; --import St from 'gi://St'; - -import { CursorManager } from './cursormanager.js'; -import Globals from './globals.js'; -import { Logger } from './logger.js'; -import { MonitorManager } from './monitormanager.js'; --import { SystemBackground } from './systembackground.js'; +-import { Overlay } from './overlay.js'; -import { isValidKeepAlive } from './time.js'; -import { IPC_FILE_PATH, XREffect } from './xrEffect.js'; - @@ -87,7 +86,6 @@ index 29a38f1..0a7e9ae 100644 +const GLib = imports.gi.GLib; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; -+const St = imports.gi.St; + +const Main = imports.ui.main; + @@ -98,13 +96,13 @@ index 29a38f1..0a7e9ae 100644 +const { CursorManager } = Me.imports.cursormanager; +const { Logger } = Me.imports.logger; +const { MonitorManager } = Me.imports.monitormanager; -+const { SystemBackground } = Me.imports.systembackground; ++const { Overlay } = Me.imports.overlay; +const { isValidKeepAlive } = Me.imports.time; +const { IPC_FILE_PATH, XREffect } = Me.imports.xrEffect; const NESTED_MONITOR_PRODUCT = 'MetaMonitor'; const SUPPORTED_MONITOR_PRODUCTS = [ -@@ -30,11 +32,10 @@ const SUPPORTED_MONITOR_PRODUCTS = [ +@@ -29,11 +31,10 @@ const SUPPORTED_MONITOR_PRODUCTS = [ NESTED_MONITOR_PRODUCT ]; @@ -120,7 +118,7 @@ index 29a38f1..0a7e9ae 100644 // Set/destroyed by enable/disable this._cursor_manager = null; -@@ -621,6 +622,6 @@ export default class BreezyDesktopExtension extends Extension { +@@ -635,6 +636,6 @@ export default class BreezyDesktopExtension extends Extension { } } @@ -304,6 +302,31 @@ index 6cf5532..580925c 100644 Properties: { 'use-optimal-monitor-config': GObject.ParamSpec.boolean( 'use-optimal-monitor-config', +diff --git a/gnome-44-max/src/overlay.js b/gnome-44-max/src/overlay.js +index c42af7c..5139e40 100644 +--- a/gnome-44-max/src/overlay.js ++++ b/gnome-44-max/src/overlay.js +@@ -1,11 +1,14 @@ +-import Clutter from 'gi://Clutter' +-import Shell from 'gi://Shell'; +-import St from 'gi://St'; ++const Clutter = imports.gi.Clutter; ++const Shell = imports.gi.Shell; ++const St = imports.gi.St; + +-import { SystemBackground } from './systembackground.js'; +-import * as Main from 'resource:///org/gnome/shell/ui/main.js'; ++const Main = imports.ui.main; + +-export class Overlay { ++const ExtensionUtils = imports.misc.extensionUtils; ++const Me = ExtensionUtils.getCurrentExtension(); ++const { SystemBackground } = Me.imports.systembackground; ++ ++class Overlay { + constructor(targetMonitor) { + this._overlayContent = new Clutter.Actor({clip_to_allocation: true}); + this._overlay = new St.Bin({ diff --git a/gnome-44-max/src/shader.js b/gnome-44-max/src/shader.js index f70c96d..352be40 100644 --- a/gnome-44-max/src/shader.js @@ -318,10 +341,10 @@ index f70c96d..352be40 100644 const data = file.load_contents(null); diff --git a/gnome-44-max/src/systembackground.js b/gnome-44-max/src/systembackground.js -index 32b501e..de43435 100644 +index cf7a3bb..cbf0a75 100644 --- a/gnome-44-max/src/systembackground.js +++ b/gnome-44-max/src/systembackground.js -@@ -1,13 +1,13 @@ +@@ -1,14 +1,14 @@ -import Clutter from 'gi://Clutter'; -import Cogl from 'gi://Cogl'; -import GLib from 'gi://GLib'; diff --git a/gnome/src/cursormanager.js b/gnome/src/cursormanager.js index 3e1ea23..86d8a76 100644 --- a/gnome/src/cursormanager.js +++ b/gnome/src/cursormanager.js @@ -143,10 +143,6 @@ var CursorManager = class CursorManager { this._cursorWatch = null; } - this._cursorTracker.disconnectObject(this); - this._mouseSprite.content.texture = null; - Meta.enable_unredirect_for_display(global.display); - if (this._cursorTracker) this._cursorTracker.disconnectObject(this); if (this._mouseSprite?.content?.texture) this._mouseSprite.content.texture = null; Meta.enable_unredirect_for_display(global.display); diff --git a/gnome/src/extension.js b/gnome/src/extension.js index 9846f5f..257c139 100644 --- a/gnome/src/extension.js +++ b/gnome/src/extension.js @@ -3,7 +3,6 @@ const Gio = imports.gi.Gio; const GLib = imports.gi.GLib; const Meta = imports.gi.Meta; const Shell = imports.gi.Shell; -const St = imports.gi.St; const Main = imports.ui.main; @@ -15,7 +14,6 @@ const { CursorManager } = Me.imports.cursormanager; const { Logger } = Me.imports.logger; const { MonitorManager } = Me.imports.monitormanager; const { Overlay } = Me.imports.overlay; -const { SystemBackground } = Me.imports.systembackground; const { isValidKeepAlive } = Me.imports.time; const { IPC_FILE_PATH, XREffect } = Me.imports.xrEffect; diff --git a/gnome/src/overlay.js b/gnome/src/overlay.js index c42af7c..5139e40 100644 --- a/gnome/src/overlay.js +++ b/gnome/src/overlay.js @@ -1,11 +1,14 @@ -import Clutter from 'gi://Clutter' -import Shell from 'gi://Shell'; -import St from 'gi://St'; +const Clutter = imports.gi.Clutter; +const Shell = imports.gi.Shell; +const St = imports.gi.St; -import { SystemBackground } from './systembackground.js'; -import * as Main from 'resource:///org/gnome/shell/ui/main.js'; +const Main = imports.ui.main; -export class Overlay { +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const { SystemBackground } = Me.imports.systembackground; + +class Overlay { constructor(targetMonitor) { this._overlayContent = new Clutter.Actor({clip_to_allocation: true}); this._overlay = new St.Bin({