Skip to content

Commit

Permalink
pin-unpin-panel@anaximeno: Fix invalid UI state on Cinnamon restart (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
anaximeno authored Aug 28, 2024
1 parent 574c11b commit 694bc56
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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");

Expand All @@ -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`;
Expand Down Expand Up @@ -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;

Expand All @@ -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;

Expand All @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.1.3",
"version": "0.1.4",
"uuid": "pin-unpin-panel@anaximeno",
"name": "Pin-Unpin the Panel",
"multiversion": true,
Expand Down

0 comments on commit 694bc56

Please sign in to comment.