From 694bc567c0e860eb807ef07fcd2578f20835152f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anax=C3=ADmeno=20Brito?= Date: Wed, 28 Aug 2024 21:12:14 -0100 Subject: [PATCH] pin-unpin-panel@anaximeno: Fix invalid UI state on Cinnamon restart (#6351) --- .../files/pin-unpin-panel@anaximeno/5.4/applet.js | 12 ++++++++---- .../files/pin-unpin-panel@anaximeno/metadata.json | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/5.4/applet.js b/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/5.4/applet.js index 998020d5391..0723b70f78b 100644 --- a/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/5.4/applet.js +++ b/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/5.4/applet.js @@ -25,6 +25,10 @@ const SignalManager = imports.misc.signalManager; const GLib = imports.gi.GLib; const UUID = "pin-unpin-panel@anaximeno"; +// XXX: Sync With Panel.PANEL_AUTOHIDE_KEY. Not using that directly because +// the ES6 standard doesn't support direct import of values declared with const or let +// from modules. +const PANEL_AUTOHIDE_KEY = "panels-autohide"; Gettext.bindtextdomain(UUID, GLib.get_home_dir() + "/.local/share/locale"); @@ -43,7 +47,7 @@ class PinUnpinPanelApplet extends Applet.IconApplet { this.pinned = true; this.signalsManager = new SignalManager.SignalManager(null); - this.signalsManager.connect(global.settings, "changed::" + Panel.PANEL_AUTOHIDE_KEY, this.on_panels_autohide_state_changed, this); + this.signalsManager.connect(global.settings, "changed::" + PANEL_AUTOHIDE_KEY, this.on_panels_autohide_state_changed, this); this.default_pin_icon_path = `${metadata.path}/../icons/pin-symbolic.svg`; this.default_unpin_icon_path = `${metadata.path}/../icons/unpin-symbolic.svg`; @@ -113,7 +117,7 @@ class PinUnpinPanelApplet extends Applet.IconApplet { } get_panel_autohide_state() { - const panelAutohideStates = global.settings.get_strv(Panel.PANEL_AUTOHIDE_KEY); + const panelAutohideStates = global.settings.get_strv(PANEL_AUTOHIDE_KEY); if (!panelAutohideStates) return undefined; @@ -129,7 +133,7 @@ class PinUnpinPanelApplet extends Applet.IconApplet { set_panel_autohide_state(state) { const newStates = []; - const panelAutohideStates = global.settings.get_strv(Panel.PANEL_AUTOHIDE_KEY); + const panelAutohideStates = global.settings.get_strv(PANEL_AUTOHIDE_KEY); if (!panelAutohideStates) return; @@ -142,7 +146,7 @@ class PinUnpinPanelApplet extends Applet.IconApplet { newStates.push([panelId, autohideState].join(":")); } - global.settings.set_strv(Panel.PANEL_AUTOHIDE_KEY, newStates); + global.settings.set_strv(PANEL_AUTOHIDE_KEY, newStates); } destroy() { diff --git a/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/metadata.json b/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/metadata.json index 57bdc9a27e6..8f245e1fc15 100644 --- a/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/metadata.json +++ b/pin-unpin-panel@anaximeno/files/pin-unpin-panel@anaximeno/metadata.json @@ -1,5 +1,5 @@ { - "version": "0.1.3", + "version": "0.1.4", "uuid": "pin-unpin-panel@anaximeno", "name": "Pin-Unpin the Panel", "multiversion": true,