status/powerProfiles: Remember last selected non-default profile
When we move to quick settings, this will allow us to toggle between two profiles even where more profiles are available. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2391>
This commit is contained in:
parent
dc4ed1d7d2
commit
4f155d3757
@ -94,6 +94,15 @@
|
|||||||
adapter is ever seen not to have devices associated to it.
|
adapter is ever seen not to have devices associated to it.
|
||||||
</description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
|
<key name="last-selected-power-profile" type="s">
|
||||||
|
<default>"power-saver"</default>
|
||||||
|
<summary>The last selected non-default power profile</summary>
|
||||||
|
<description>
|
||||||
|
Some systems support more than two power profiles. In order to still support
|
||||||
|
toggling between two profiles, this key records the last selected non-default
|
||||||
|
profile.
|
||||||
|
</description>
|
||||||
|
</key>
|
||||||
<key name="welcome-dialog-last-shown-version" type="s">
|
<key name="welcome-dialog-last-shown-version" type="s">
|
||||||
<default>''</default>
|
<default>''</default>
|
||||||
<summary>The last version the “Welcome to GNOME” dialog was shown for</summary>
|
<summary>The last version the “Welcome to GNOME” dialog was shown for</summary>
|
||||||
|
@ -32,6 +32,8 @@ const PROFILE_PARAMS = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const LAST_PROFILE_KEY = 'last-selected-power-profile';
|
||||||
|
|
||||||
var Indicator = GObject.registerClass(
|
var Indicator = GObject.registerClass(
|
||||||
class Indicator extends PanelMenu.SystemIndicator {
|
class Indicator extends PanelMenu.SystemIndicator {
|
||||||
_init() {
|
_init() {
|
||||||
@ -101,14 +103,19 @@ class Indicator extends PanelMenu.SystemIndicator {
|
|||||||
if (!this._item.visible)
|
if (!this._item.visible)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
const {ActiveProfile: activeProfile} = this._proxy;
|
||||||
|
|
||||||
for (const [profile, item] of this._profileItems) {
|
for (const [profile, item] of this._profileItems) {
|
||||||
item.setOrnament(profile === this._proxy.ActiveProfile
|
item.setOrnament(profile === activeProfile
|
||||||
? PopupMenu.Ornament.CHECK
|
? PopupMenu.Ornament.CHECK
|
||||||
: PopupMenu.Ornament.NONE);
|
: PopupMenu.Ornament.NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
const {label, iconName} = PROFILE_PARAMS[this._proxy.ActiveProfile];
|
const {label, iconName} = PROFILE_PARAMS[activeProfile];
|
||||||
this._item.label.text = label;
|
this._item.label.text = label;
|
||||||
this._item.icon.icon_name = iconName;
|
this._item.icon.icon_name = iconName;
|
||||||
|
|
||||||
|
if (activeProfile !== 'balanced')
|
||||||
|
global.settings.set_string(LAST_PROFILE_KEY, activeProfile);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user