diff --git a/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/extension.js b/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/extension.js index bd1a1249..6dc17e57 100644 --- a/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/extension.js +++ b/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/extension.js @@ -306,9 +306,17 @@ class MouseClickEffects { handle_mouse_movement_tracker_property_updated = (new Debouncer()).debounce(() => { if (this.mouse_movement_tracker) { - const icon = this.get_click_icon(this.icon_mode, ClickType.MOUSE_MOV, this.mouse_movement_color); - this.mouse_movement_tracker.icon = icon; - this.mouse_movement_tracker.restart(); + this.mouse_movement_tracker.stop(); + this.mouse_movement_tracker = null; + } + if (this.mouse_movement_tracker_enabled) { + this.mouse_movement_tracker = new MouseMovementTracker(this, { + icon: this.get_click_icon(this.icon_mode, ClickType.MOUSE_MOV, this.mouse_movement_color), + opacity: this.general_opacity, + persist: this.mouse_movement_tracker_persist_on_stopped_enabled, + size: this.size, + }); + this.mouse_movement_tracker.start(); } }, 300); @@ -331,6 +339,9 @@ class MouseClickEffects { if (this.mouse_movement_tracker_enabled) { this.mouse_movement_tracker = new MouseMovementTracker(this, { icon: this.get_click_icon(this.icon_mode, ClickType.MOUSE_MOV, this.mouse_movement_color), + opacity: this.general_opacity, + persist: this.mouse_movement_tracker_persist_on_stopped_enabled, + size: this.size, }); this.mouse_movement_tracker.start(); } diff --git a/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/mouseMovementTracker.js b/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/mouseMovementTracker.js index 8b32dc46..758a61a6 100644 --- a/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/mouseMovementTracker.js +++ b/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/5.4/mouseMovementTracker.js @@ -11,6 +11,9 @@ var MouseMovementTracker = class MouseMovementTracker { constructor(extension, params) { this.extension = extension; this.icon = params.icon; + this.opacity = params.opacity; + this.persist = params.persist; + this.size = params.size; this.signals = new SignalManager.SignalManager(null); this.iconActor = null; this.listener = null; @@ -22,16 +25,13 @@ var MouseMovementTracker = class MouseMovementTracker { global.display.focus_window.is_fullscreen(); } - get size() { - return this.extension.size; - } - - get opacity() { - return this.extension.general_opacity; + set size(value) { + this._size = value; + this._halfIconSize = this._size * global.ui_scale * 0.5; } - get persist() { - return this.extension.mouse_movement_tracker_persist_on_stopped_enabled; + get size() { + return this._size; } on_fullscreen_changed() { @@ -83,19 +83,17 @@ var MouseMovementTracker = class MouseMovementTracker { return; } - const iconSize = this.size * global.ui_scale; - this.iconActor.ease({ - x: x - iconSize / 2, - y: y - iconSize / 2, + x: x - this._halfIconSize, + y: y - this._halfIconSize, scale_x: 1, scale_y: 1, duration: 0, opacity: this.opacity, - onComplete: () => this.handle_parade(), }); this.iconActor.show(); + this.handle_parade(); } handle_parade = (new Debouncer()).debounce(() => { diff --git a/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/metadata.json b/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/metadata.json index 8b6a0259..15f9aa83 100644 --- a/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/metadata.json +++ b/mouse-click-effects@anaximeno/files/mouse-click-effects@anaximeno/metadata.json @@ -1,7 +1,7 @@ { "uuid": "mouse-click-effects@anaximeno", "name": "Mouse Click Effects", - "version": "1.0.4", + "version": "1.0.5", "description": "Display mouse click effects on Cinnamon.", "url": "https://github.com/anaximeno/mouse-click-effects", "website": "https://github.com/anaximeno/mouse-click-effects",