mirror of
https://github.com/zoriya/ags.git
synced 2026-08-16 02:45:03 +00:00
Add more props to battery service (#119)
This commit is contained in:
@@ -3,5 +3,10 @@
|
||||
<property name="State" type="u" access="read"/>
|
||||
<property name="Percentage" type="d" access="read"/>
|
||||
<property name="IsPresent" type="b" access="read"/>
|
||||
<property name="TimeToEmpty" type="x" access="read"/>
|
||||
<property name="TimeToFull" type="x" access="read"/>
|
||||
<property name="Energy" type="d" access="read"/>
|
||||
<property name="EnergyFull" type="d" access="read"/>
|
||||
<property name="EnergyRate" type="d" access="read"/>
|
||||
</interface>
|
||||
</node>
|
||||
|
||||
@@ -43,6 +43,11 @@ export interface BatteryProxy extends Gio.DBusProxy {
|
||||
State: number
|
||||
Percentage: number
|
||||
IsPresent: boolean
|
||||
TimeToEmpty: number
|
||||
TimeToFull: number
|
||||
Energy: number
|
||||
EnergyFull: number
|
||||
EnergyRate: number
|
||||
}
|
||||
|
||||
export interface StatusNotifierItemProxy extends Gio.DBusProxy {
|
||||
|
||||
@@ -23,6 +23,10 @@ class BatteryService extends Service {
|
||||
'charging': ['boolean'],
|
||||
'charged': ['boolean'],
|
||||
'icon-name': ['string'],
|
||||
'time-remaining': ['float'],
|
||||
'energy': ['float'],
|
||||
'energy-full': ['float'],
|
||||
'energy-rate': ['float'],
|
||||
});
|
||||
}
|
||||
|
||||
@@ -33,12 +37,20 @@ class BatteryService extends Service {
|
||||
private _charging = false;
|
||||
private _charged = false;
|
||||
private _iconName = 'battery-missing-symbolic';
|
||||
private _timeRemaining = 0;
|
||||
private _energy = 0.0;
|
||||
private _energyFull = 0.0;
|
||||
private _energyRate = 0.0;
|
||||
|
||||
get available() { return this._available; }
|
||||
get percent() { return this._percent; }
|
||||
get charging() { return this._charging; }
|
||||
get charged() { return this._charged; }
|
||||
get icon_name() { return this._iconName; }
|
||||
get time_remaining() { return this._timeRemaining; }
|
||||
get energy() { return this._energy; }
|
||||
get energy_full() { return this._energyFull; }
|
||||
get energy_rate() { return this._energyRate; }
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@@ -71,11 +83,23 @@ class BatteryService extends Service {
|
||||
? 'battery-level-100-charged-symbolic'
|
||||
: `battery-level-${level}${state}-symbolic`;
|
||||
|
||||
const timeRemaining = charging ? this._proxy.TimeToFull : this._proxy.TimeToEmpty;
|
||||
|
||||
const energy = this._proxy.Energy;
|
||||
|
||||
const energyFull = this._proxy.EnergyFull;
|
||||
|
||||
const energyRate = this._proxy.EnergyRate;
|
||||
|
||||
this.updateProperty('available', true);
|
||||
this.updateProperty('icon-name', iconName);
|
||||
this.updateProperty('percent', percent);
|
||||
this.updateProperty('charging', charging);
|
||||
this.updateProperty('charged', charged);
|
||||
this.updateProperty('time-remaining', timeRemaining);
|
||||
this.updateProperty('energy', energy);
|
||||
this.updateProperty('energy-full', energyFull);
|
||||
this.updateProperty('energy-rate', energyRate);
|
||||
this.emit('changed');
|
||||
}
|
||||
}
|
||||
@@ -92,8 +116,21 @@ export default class Battery {
|
||||
static get percent() { return Battery.instance.percent; }
|
||||
static get charging() { return Battery.instance.charging; }
|
||||
static get charged() { return Battery.instance.charged; }
|
||||
static get energy() { return Battery.instance.energy; }
|
||||
|
||||
static get iconName() { return Battery.instance.icon_name; }
|
||||
static get icon_name() { return Battery.instance.icon_name; }
|
||||
static get ['icon-name']() { return Battery.instance.icon_name; }
|
||||
|
||||
static get timeRemaining() { return Battery.instance.time_remaining; }
|
||||
static get time_remaining() { return Battery.instance.time_remaining; }
|
||||
static get ['time-remaining']() { return Battery.instance.time_remaining; }
|
||||
|
||||
static get energyFull() { return Battery.instance.energy_full; }
|
||||
static get energy_full() { return Battery.instance.energy_full; }
|
||||
static get ['energy-full']() { return Battery.instance.energy_full; }
|
||||
|
||||
static get energyRate() { return Battery.instance.energy_rate; }
|
||||
static get energy_rate() { return Battery.instance.energy_rate; }
|
||||
static get ['energy-rate']() { return Battery.instance.energy_rate; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user