The `smartctl -j --scan` command may not fail and list drives properly
while `smartctl -j --info /dev/sda` may fail because of missing
permissions.
This error was making the extension on fail entirely when smartctl
was selected as a disk temperature sensor provider while the
user does not have enogh permission to do so.
Also makes sure smartctl can be properly called if path contains
a whitespace.
The callback can be used to process the received data a single time, and
in that case this._updated should only be toggled after the callback has
completed, since other methods may depend on its side effects.
In other scenarios the order does not matter (either way).
BoxLayout meta child (expand/align) properties have long been depracated and recently fully removed in gnome shell 3.37.2 (!1274), in favor of ClutterActor's ones.
Embrace the change to provide compatibility with upcoming gnome shell 3.38 release
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