At least on one Intel systems (i7-8700K/delidded/watercooled) the
display of the GPU temperature of NVIDIA cards caused perceptible spikes
in CPU utilization, frequency and temperature of individual cores.
This was eventually tracked down to nvidia-settings being substantially
slower and, more importantly, computationally intensive than nvidia-smi.
Switch the nvidiaUtil implementation to use nvidia-smi. In the process,
simplify the label parsing and label vs. temperature code because
nvidia-smi allows us greater control over the output.
In Gnome 3.34 accessing <object>.actor results in a warning:
Usage of object.actor is deprecated for Freon_FreonMenuButton
get@resource:///org/gnome/shell/ui/environment.js:249:29
_init@[...]/freon@UshakovVasilii_Github.yahoo.com/extension.js:96:9
enable@[...]/freon@UshakovVasilii_Github.yahoo.com/extension.js:637:17
_callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:148:13
loadExtension@resource:///org/gnome/shell/ui/extensionSystem.js:280:21
_loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:490:13
collectFromDatadirs@resource:///org/gnome/shell/misc/fileUtils.js:27:17
_loadExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:469:9
_enableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:499:13
_sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:530:13
init@resource:///org/gnome/shell/ui/extensionSystem.js:48:9
_initializeUI@resource:///org/gnome/shell/ui/main.js:242:5
start@resource:///org/gnome/shell/ui/main.js:138:5
@<main>:1:31
The actor property is no longer needed, as Freon_FreonMenuButton already
is an Actor.
Additionally, we only support old Gnome versions on the Freon versions of the
same era, so we do not need to worry about backwards compatibility (see #153).
Reported-by: @49studebaker
Fixes: #156 ("JS WARNING: " [...])
Related: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/487 ("this.actor = this removal")
GNOME/gjs@72062b5e03 ("object: Throw if constructing an unregistered
object inheriting from GObject") started to enforce proper GObject
inheritance through registerClass:
> When a class inherits from a GObject class, it must be always registered
> using GObject.registerClass, however gjs was accepting this silently [...]
Closes: #146 ("Broken on 3.34")
See also: [GNOME/gjs/doc/Mapping.md]
[GNOME/gjs/doc/Mapping.md]: 57ba268072/doc/Mapping.md
Let the user to chose where to place the extension button within each
panel box.
From the left (with default orientation, otherwise from the right) as:
- 0, first
- 1, second
- ...
- -1, last
Note: gschema compilation needed.
Shift all items in column 2 to column 3; column 2 is now empty, so there
is no visual change to the preferences window.
Note: gschema compilation needed.
When a hwmon module was unloaded or crashed any sensors it had that were
also pinned to the panel (i.e. a 'hot sensor') retained the value
they had last, hiding the failure.
To fix that, this first clears all hot labels, replacing them with a
placeholder, before checking the new sensor data. The placeholder
chosen is ⚠ (\u26a0 warning sign), after some experimentation with other
alternatives.
For consistency, the placeholder used on initialization is also
changed.