[gnome-shell] status/bluetooth: Expose adapter-state
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] status/bluetooth: Expose adapter-state
- Date: Sat, 3 Sep 2022 15:11:05 +0000 (UTC)
commit d54dc08a32d140197036d52e1d854d59e3f7f7d1
Author: Florian Müllner <fmuellner gnome org>
Date: Tue Aug 23 16:30:32 2022 +0200
status/bluetooth: Expose adapter-state
GnomeBluetooth now exposes a more precise state than the binary
"adapter fully powerered on/off" property. Expose that on the
BtClient object to make it available to the toggle and indicator.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5773
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2444>
js/ui/status/bluetooth.js | 11 +++++++++++
1 file changed, 11 insertions(+)
---
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
index f0a6923809..9580e7b4c7 100644
--- a/js/ui/status/bluetooth.js
+++ b/js/ui/status/bluetooth.js
@@ -7,6 +7,8 @@ const {QuickToggle, SystemIndicator} = imports.ui.quickSettings;
const {loadInterfaceXML} = imports.misc.fileUtils;
+const {AdapterState} = GnomeBluetooth;
+
const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
@@ -23,6 +25,9 @@ const BtClient = GObject.registerClass({
'active': GObject.ParamSpec.boolean('active', '', '',
GObject.ParamFlags.READABLE,
false),
+ 'adapter-state': GObject.ParamSpec.enum('adapter-state', '', '',
+ GObject.ParamFlags.READABLE,
+ AdapterState, AdapterState.ABSENT),
},
Signals: {
'devices-changed': {},
@@ -38,6 +43,8 @@ const BtClient = GObject.registerClass({
this.notify('active');
this.notify('available');
});
+ this._client.connect('notify::default-adapter-state',
+ () => this.notify('adapter-state'));
this._client.connect('notify::default-adapter', () => {
const newAdapter = this._client.default_adapter ?? null;
@@ -95,6 +102,10 @@ const BtClient = GObject.registerClass({
return this._client.default_adapter_powered;
}
+ get adapter_state() {
+ return this._client.default_adapter_state;
+ }
+
toggleActive() {
this._proxy.BluetoothAirplaneMode = this.active;
if (!this._client.default_adapter_powered)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]