Compare commits
No commits in common. "master" and "plasma5" have entirely different histories.
|
@ -2,25 +2,25 @@
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- [HeadsetControl](https://github.com/Sapd/HeadsetControl) v3.0.0 or newer
|
- [HeadsetControl](https://github.com/Sapd/HeadsetControl)
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://git.lat/Flummi/headsetcontrol-battery-widget.git
|
git clone https://git.lat/Flummi/headsetcontrol-battery-widget.git
|
||||||
cd headsetcontrol-battery-widget
|
cd headsetcontrol-battery-widget
|
||||||
kpackagetool6 -t Plasma/Applet --install ./package
|
kpackagetool5 -t Plasma/Applet --install ./package
|
||||||
```
|
```
|
||||||
|
|
||||||
## Uninstall
|
## Uninstall
|
||||||
|
|
||||||
```
|
```
|
||||||
kpackagetool6 -t Plasma/Applet --remove org.kde.plasma.headsetcontrol-battery-widget
|
kpackagetool5 -t Plasma/Applet --remove org.kde.plasma.headsetcontrol-battery-widget
|
||||||
```
|
```
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
```
|
```
|
||||||
cd headsetcontrol-battery-widget
|
cd headsetcontrol-battery-widget
|
||||||
kpackagetool6 -t Plasma/Applet --upgrade ./package ; systemctl --user restart plasma-plasmashell
|
kpackagetool5 -t Plasma/Applet --upgrade ./package ; systemctl --user restart plasma-plasmashell
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import QtQuick
|
import QtQuick 2.0
|
||||||
import org.kde.plasma.configuration
|
import org.kde.plasma.configuration 2.0
|
||||||
|
|
||||||
ConfigModel {
|
ConfigModel {
|
||||||
ConfigCategory {
|
ConfigCategory {
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
||||||
|
<!-- debug -->
|
||||||
<entry name="debug_active" type="Bool">
|
<entry name="debug_active" type="Bool">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import QtQuick
|
import QtQuick 2.15
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts 1.3
|
||||||
import org.kde.plasma.plasmoid
|
import org.kde.plasma.plasmoid 2.0
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
import org.kde.kirigami 2.14 as Kirigami
|
||||||
|
|
||||||
import "./lib/helper.js" as Helper
|
import "./lib/helper.js" as Helper
|
||||||
|
|
||||||
|
@ -13,8 +14,10 @@ Item {
|
||||||
anchors.topMargin: 10 - batteryheight
|
anchors.topMargin: 10 - batteryheight
|
||||||
anchors.bottomMargin: 10 - batteryheight
|
anchors.bottomMargin: 10 - batteryheight
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
border.color: Kirigami.Theme.textColor
|
border.color: PlasmaCore.Theme.textColor
|
||||||
radius: 4
|
radius: 4
|
||||||
|
Plasmoid.toolTipMainText: "battery level: " + Helper.batteryLevel(batteryPercent)
|
||||||
|
Plasmoid.toolTipSubText: "polling rate: " + pollingrate + " seconds"
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
@ -32,8 +35,8 @@ Item {
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
anchors.topMargin: 1
|
anchors.topMargin: 1
|
||||||
anchors.bottomMargin: 1
|
anchors.bottomMargin: 1
|
||||||
source: Helper.batteryIcon(batteryStatus)
|
source: Helper.batteryIcon(batteryPercent)
|
||||||
color: batteryPercent == -1 ? colorEmpty : Kirigami.Theme.textColor
|
color: batteryPercent == -1 ? colorFull : PlasmaCore.Theme.textColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,6 +48,13 @@ Item {
|
||||||
radius: 4
|
radius: 4
|
||||||
height: parent.height / 3
|
height: parent.height / 3
|
||||||
width: 2
|
width: 2
|
||||||
color: Kirigami.Theme.textColor
|
color: PlasmaCore.Theme.textColor
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
plasmoid.expanded = !plasmoid.expanded
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
44
package/contents/ui/FullRepresentation.qml
Normal file
44
package/contents/ui/FullRepresentation.qml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import org.kde.plasma.plasmoid 2.0
|
||||||
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
import org.kde.kirigami 2.14 as Kirigami
|
||||||
|
|
||||||
|
import "./lib/helper.js" as Helper
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: fullRep
|
||||||
|
|
||||||
|
Layout.preferredWidth: 250 * PlasmaCore.Units.devicePixelRatio
|
||||||
|
Layout.preferredHeight: 250 * PlasmaCore.Units.devicePixelRatio
|
||||||
|
Layout.minimumWidth: Layout.preferredWidth
|
||||||
|
Layout.maximumWidth: Layout.preferredWidth
|
||||||
|
Layout.minimumHeight: Layout.preferredHeight
|
||||||
|
Layout.maximumHeight: Layout.preferredHeight
|
||||||
|
clip: true
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
id: wrapper
|
||||||
|
anchors.fill: parent
|
||||||
|
spacing: 0
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: 0
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
spacing: 0
|
||||||
|
// Items
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: "henlo"
|
||||||
|
color: PlasmaCore.Theme.textColor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,39 +1,19 @@
|
||||||
import QtQuick
|
import QtQuick 2.0
|
||||||
import QtQuick.Controls
|
import QtQuick.Layouts 1.3
|
||||||
import QtQuick.Layouts
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
import org.kde.plasma.components as PlasmaComponents
|
import QtQuick.Controls 2.5 as QQC2
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami 2.4 as Kirigami
|
||||||
import org.kde.kquickcontrols as KQControls
|
import org.kde.kquickcontrols 2.0 as KQControls
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import "../lib/helper.js" as Helper
|
import "../lib/helper.js" as Helper
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
QQC2.Pane {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property alias cfg_debug_active: debug_active.checked
|
property alias cfg_debug_active: debug_active.checked
|
||||||
property alias cfg_debug_charge: debug_charge.value
|
property alias cfg_debug_charge: debug_charge.value
|
||||||
|
|
||||||
property bool debug_activeDefault
|
|
||||||
property int debug_chargeDefault
|
|
||||||
|
|
||||||
property int cfg_pollingrate
|
|
||||||
property int cfg_batteryheight
|
|
||||||
property string cfg_colorEmpty
|
|
||||||
property string cfg_colorHalf
|
|
||||||
property string cfg_colorFull
|
|
||||||
property bool cfg_notifications
|
|
||||||
property int cfg_batteryThreshold
|
|
||||||
|
|
||||||
property int cfg_pollingrateDefault
|
|
||||||
property int cfg_batteryheightDefault
|
|
||||||
property string cfg_colorEmptyDefault
|
|
||||||
property string cfg_colorHalfDefault
|
|
||||||
property string cfg_colorFullDefault
|
|
||||||
property bool cfg_notificationsDefault
|
|
||||||
property int cfg_batteryThresholdDefault
|
|
||||||
|
|
||||||
Kirigami.FormLayout {
|
Kirigami.FormLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
wideMode: false
|
wideMode: false
|
||||||
|
@ -60,11 +40,11 @@ KCM.SimpleKCM {
|
||||||
text: "battery charge:"
|
text: "battery charge:"
|
||||||
color: PlasmaCore.Theme.textColor
|
color: PlasmaCore.Theme.textColor
|
||||||
}
|
}
|
||||||
Slider {
|
PlasmaComponents.Slider {
|
||||||
id: debug_charge
|
id: debug_charge
|
||||||
value: 0
|
value: 0
|
||||||
from: 0
|
minimumValue: -2
|
||||||
to: 100
|
maximumValue: 100
|
||||||
stepSize: 1
|
stepSize: 1
|
||||||
}
|
}
|
||||||
Text {
|
Text {
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
import QtQuick
|
import QtQuick 2.0
|
||||||
import QtQuick.Controls
|
import QtQuick.Layouts 1.3
|
||||||
import QtQuick.Layouts
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||||
import org.kde.plasma.components as PlasmaComponents
|
import QtQuick.Controls 2.5 as QQC2
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami 2.4 as Kirigami
|
||||||
import org.kde.kquickcontrols as KQControls
|
import org.kde.kquickcontrols 2.0 as KQControls
|
||||||
import org.kde.kcmutils as KCM
|
|
||||||
|
|
||||||
import "../lib/helper.js" as Helper
|
import "../lib/helper.js" as Helper
|
||||||
|
|
||||||
KCM.SimpleKCM {
|
QQC2.Pane {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property alias cfg_pollingrate: pollingrate.value
|
property alias cfg_pollingrate: pollingrate.value
|
||||||
|
@ -17,22 +16,10 @@ KCM.SimpleKCM {
|
||||||
property alias cfg_colorEmpty: colorEmpty.color
|
property alias cfg_colorEmpty: colorEmpty.color
|
||||||
property alias cfg_colorHalf: colorHalf.color
|
property alias cfg_colorHalf: colorHalf.color
|
||||||
property alias cfg_colorFull: colorFull.color
|
property alias cfg_colorFull: colorFull.color
|
||||||
|
|
||||||
property alias cfg_notifications: notifications.checked
|
property alias cfg_notifications: notifications.checked
|
||||||
property alias cfg_batteryThreshold: batteryThreshold.value
|
property alias cfg_batteryThreshold: batteryThreshold.value
|
||||||
|
|
||||||
property int cfg_pollingrateDefault
|
|
||||||
property int cfg_batteryheightDefault
|
|
||||||
property string cfg_colorEmptyDefault
|
|
||||||
property string cfg_colorHalfDefault
|
|
||||||
property string cfg_colorFullDefault
|
|
||||||
property bool cfg_notificationsDefault
|
|
||||||
property int cfg_batteryThresholdDefault
|
|
||||||
|
|
||||||
property bool cfg_debug_active
|
|
||||||
property int cfg_debug_charge
|
|
||||||
property bool cfg_debug_activeDefault
|
|
||||||
property int cfg_debug_chargeDefault
|
|
||||||
|
|
||||||
Kirigami.FormLayout {
|
Kirigami.FormLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
wideMode: false
|
wideMode: false
|
||||||
|
@ -47,11 +34,11 @@ KCM.SimpleKCM {
|
||||||
text: "polling rate:"
|
text: "polling rate:"
|
||||||
color: PlasmaCore.Theme.textColor
|
color: PlasmaCore.Theme.textColor
|
||||||
}
|
}
|
||||||
Slider {
|
PlasmaComponents.Slider {
|
||||||
id: pollingrate
|
id: pollingrate
|
||||||
value: 10
|
value: 10
|
||||||
from: 2
|
minimumValue: 2
|
||||||
to: 60
|
maximumValue: 60
|
||||||
stepSize: 2
|
stepSize: 2
|
||||||
}
|
}
|
||||||
Text {
|
Text {
|
||||||
|
@ -64,11 +51,11 @@ KCM.SimpleKCM {
|
||||||
text: "battery height:"
|
text: "battery height:"
|
||||||
color: PlasmaCore.Theme.textColor
|
color: PlasmaCore.Theme.textColor
|
||||||
}
|
}
|
||||||
Slider {
|
PlasmaComponents.Slider {
|
||||||
id: batteryheight
|
id: batteryheight
|
||||||
value: 8.0
|
value: 8.0
|
||||||
from: 1
|
minimumValue: 1
|
||||||
to: 10
|
maximumValue: 10
|
||||||
stepSize: 1
|
stepSize: 1
|
||||||
}
|
}
|
||||||
Text {
|
Text {
|
||||||
|
@ -196,11 +183,11 @@ KCM.SimpleKCM {
|
||||||
text: "battery threshold:"
|
text: "battery threshold:"
|
||||||
color: PlasmaCore.Theme.textColor
|
color: PlasmaCore.Theme.textColor
|
||||||
}
|
}
|
||||||
Slider {
|
PlasmaComponents.Slider {
|
||||||
id: batteryThreshold
|
id: batteryThreshold
|
||||||
value: 10
|
value: 10
|
||||||
from: 1
|
minimumValue: 1
|
||||||
to: 50
|
maximumValue: 50
|
||||||
stepSize: 1
|
stepSize: 1
|
||||||
}
|
}
|
||||||
Text {
|
Text {
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
const batteryLevel = (batteryStatus, batteryPercent) => ({
|
const batteryLevel = batteryPercent => ({
|
||||||
"BATTERY_UNAVAILABLE": "not connected",
|
"-2": "not connected",
|
||||||
"BATTERY_CHARGING": "charging (" + batteryPercent + "%)",
|
"-1": "charging"
|
||||||
"HEADSET_UNAVAILABLE": "no headset connected"
|
})[batteryPercent] ?? batteryPercent + "%";
|
||||||
})[batteryStatus] ?? batteryPercent + "%";
|
|
||||||
|
|
||||||
const batteryIcon = batteryStatus => ({
|
const batteryIcon = batteryPercent => ({
|
||||||
"BATTERY_UNAVAILABLE": "action-unavailable",
|
"-2": "action-unavailable",
|
||||||
"BATTERY_AVAILABLE": "audio-headphones-symbolic",
|
"-1": "reload"
|
||||||
"BATTERY_CHARGING": "freon-voltage-symbolic",
|
})[batteryPercent] ?? "audio-headphones-symbolic";
|
||||||
"HEADSET_UNAVAILABLE": "dialog-error"
|
|
||||||
})[batteryStatus] ?? "audio-headphones-symbolic";
|
|
||||||
|
|
||||||
const hex2rgb = (hex, h = hex.replace('#', '0x')) => ({ r: h >> 16 & 255, g: h >> 8 & 255, b: h & 255 });
|
const hex2rgb = (hex, h = hex.replace('#', '0x')) => ({ r: h >> 16 & 255, g: h >> 8 & 255, b: h & 255 });
|
||||||
const rgb2Hex = rgb => "#" + ((1 << 24) + (rgb.r << 16) + (rgb.g << 8) + rgb.b).toString(16).slice(1);
|
const rgb2Hex = rgb => "#" + ((1 << 24) + (rgb.r << 16) + (rgb.g << 8) + rgb.b).toString(16).slice(1);
|
||||||
|
|
|
@ -1,70 +1,43 @@
|
||||||
import QtQuick
|
import QtQuick 2.15
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts 1.3
|
||||||
import org.kde.plasma.plasmoid
|
import org.kde.plasma.plasmoid 2.0
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
import org.kde.plasma.plasma5support as Plasma5Support
|
import org.kde.kirigami 2.14 as Kirigami
|
||||||
import org.kde.plasma.core as PlasmaCore
|
|
||||||
|
|
||||||
import org.kde.notification
|
import org.kde.notification 1.0
|
||||||
|
|
||||||
import "./lib/helper.js" as Helper
|
import "./lib/helper.js" as Helper
|
||||||
|
|
||||||
PlasmoidItem {
|
Item {
|
||||||
id: root
|
id: main
|
||||||
Plasmoid.status: PlasmaCore.Types.ActiveStatus
|
|
||||||
|
|
||||||
readonly property int pollingrate: Plasmoid.configuration.pollingrate
|
property int pollingrate: Plasmoid.configuration.pollingrate
|
||||||
readonly property int batteryheight: Plasmoid.configuration.batteryheight
|
property int batteryheight: Plasmoid.configuration.batteryheight
|
||||||
readonly property string colorEmpty: Plasmoid.configuration.colorEmpty
|
property string colorEmpty: Plasmoid.configuration.colorEmpty
|
||||||
readonly property string colorHalf: Plasmoid.configuration.colorHalf
|
property string colorHalf: Plasmoid.configuration.colorHalf
|
||||||
readonly property string colorFull: Plasmoid.configuration.colorFull
|
property string colorFull: Plasmoid.configuration.colorFull
|
||||||
|
|
||||||
readonly property bool notifications: Plasmoid.configuration.notifications
|
property bool notifications: Plasmoid.configuration.notifications
|
||||||
readonly property int batteryThreshold: Plasmoid.configuration.batteryThreshold
|
property int batteryThreshold: Plasmoid.configuration.batteryThreshold
|
||||||
|
|
||||||
readonly property bool debug_active: Plasmoid.configuration.debug_active
|
property bool debug_active: Plasmoid.configuration.debug_active
|
||||||
readonly property int debug_charge: Plasmoid.configuration.debug_charge
|
property int debug_charge: Plasmoid.configuration.debug_charge
|
||||||
|
|
||||||
property string batteryStatus: "BATTERY_UNAVAILABLE"
|
property int batteryPercent: -2
|
||||||
property int batteryPercent: 0
|
property bool notification_sent: false;
|
||||||
property bool notification_sent: false
|
|
||||||
property variant deviceList: []
|
|
||||||
property int activeDevice: 0
|
|
||||||
|
|
||||||
//property variant capabilities: []
|
PlasmaCore.DataSource {
|
||||||
|
|
||||||
Plasma5Support.DataSource {
|
|
||||||
id: hsSource
|
id: hsSource
|
||||||
engine: "executable"
|
engine: "executable"
|
||||||
connectedSources: ["headsetcontrol -o json"]
|
connectedSources: ["headsetcontrol -bc"]
|
||||||
interval: pollingrate * 1e3
|
interval: pollingrate * 1e3
|
||||||
onNewData: (_, data) => {
|
onNewData: {
|
||||||
const res = JSON.parse(data.stdout);
|
if(debug_active)
|
||||||
|
|
||||||
if(res.device_count === 0) {
|
|
||||||
batteryStatus = "HEADSET_UNAVAILABLE";
|
|
||||||
batteryPercent = 0;
|
|
||||||
root.Plasmoid.status = PlasmaCore.Types.PassiveStatus;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//if(capabilities.length != res.devices[activeDevice].capabilities_str.length)
|
|
||||||
// capabilities = res.devices[activeDevice].capabilities_str;
|
|
||||||
|
|
||||||
deviceList = res.devices.map(e => e.product);
|
|
||||||
batteryPercent = res.devices[activeDevice].battery.level;
|
|
||||||
batteryStatus = batteryPercent > 0 ? res.devices[activeDevice].battery.status : "BATTERY_UNAVAILABLE";
|
|
||||||
|
|
||||||
// debug deshmug
|
|
||||||
if(debug_active) {
|
|
||||||
batteryStatus = "BATTERY_AVAILABLE";
|
|
||||||
batteryPercent = debug_charge;
|
batteryPercent = debug_charge;
|
||||||
}
|
else
|
||||||
|
batteryPercent = data['exit code'] > 0
|
||||||
// hide trayicon if headset isn't connected
|
? -2 // not connected
|
||||||
root.Plasmoid.status = batteryStatus == "BATTERY_UNAVAILABLE"
|
: +data.stdout;
|
||||||
? PlasmaCore.Types.PassiveStatus
|
|
||||||
: PlasmaCore.Types.ActiveStatus;
|
|
||||||
|
|
||||||
// send notification if necessary
|
// send notification if necessary
|
||||||
if(batteryPercent <= batteryThreshold && batteryPercent >= 0 && !notification_sent && notifications) {
|
if(batteryPercent <= batteryThreshold && batteryPercent >= 0 && !notification_sent && notifications) {
|
||||||
|
@ -83,12 +56,9 @@ PlasmoidItem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
toolTipMainText: "battery level: " + Helper.batteryLevel(batteryStatus, batteryPercent)
|
Plasmoid.preferredRepresentation: Plasmoid.compactRepresentation
|
||||||
toolTipSubText: "polling rate: " + pollingrate + " seconds"
|
Plasmoid.fullRepresentation: FullRepresentation{}
|
||||||
|
Plasmoid.compactRepresentation: CompactRepresentation{}
|
||||||
preferredRepresentation: compactRepresentation
|
|
||||||
compactRepresentation: CompactRepresentation{}
|
|
||||||
fullRepresentation: Item{}
|
|
||||||
|
|
||||||
Notification {
|
Notification {
|
||||||
id: notification
|
id: notification
|
||||||
|
@ -97,32 +67,4 @@ PlasmoidItem {
|
||||||
flags: Notification.DefaultEvent
|
flags: Notification.DefaultEvent
|
||||||
urgency: Notification.CriticalUrgency
|
urgency: Notification.CriticalUrgency
|
||||||
}
|
}
|
||||||
|
|
||||||
Instantiator {
|
|
||||||
model: deviceList
|
|
||||||
delegate: PlasmaCore.Action {
|
|
||||||
text: modelData
|
|
||||||
icon.name: "audio-headphones-symbolic"
|
|
||||||
/*onTriggered: {
|
|
||||||
console.log("headset lel");
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
onObjectAdded: (index, object) => {
|
|
||||||
Plasmoid.contextualActions.splice(Plasmoid.contextualActions.indexOf(separator2), 0, object)
|
|
||||||
}
|
|
||||||
onObjectRemoved: (index, object) => {
|
|
||||||
Plasmoid.contextualActions.splice(Plasmoid.contextualActions.indexOf(object), 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Plasmoid.contextualActions: [
|
|
||||||
PlasmaCore.Action {
|
|
||||||
id: separator1
|
|
||||||
isSeparator: true
|
|
||||||
},
|
|
||||||
PlasmaCore.Action {
|
|
||||||
id: separator2
|
|
||||||
isSeparator: true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +1,24 @@
|
||||||
{
|
{
|
||||||
"KPackageStructure": "Plasma/Applet",
|
|
||||||
"KPlugin": {
|
"KPlugin": {
|
||||||
"Name": "Headset Battery Widget",
|
|
||||||
"Description": "Headset Battery Widget",
|
|
||||||
"Icon": "battery",
|
|
||||||
"Category": "System Information",
|
|
||||||
"Authors": [{
|
"Authors": [{
|
||||||
"Email": "flummi@srv.fail",
|
"Email": "flummi@srv.fail",
|
||||||
"Name": "Flummi"
|
"Name": "Flummi"
|
||||||
}],
|
}],
|
||||||
"Id": "org.kde.plasma.headsetcontrol-battery-widget",
|
"Category": "System Information",
|
||||||
"License": "",
|
"Dependencies": [
|
||||||
"Version": "1.7",
|
],
|
||||||
"EnabledByDefault": true,
|
"EnabledByDefault": true,
|
||||||
"Website": "https://git.lat/Flummi/headsetcontrol-battery-widget",
|
"Icon": "battery",
|
||||||
"BugReportUrl": "https://git.lat/Flummi/headsetcontrol-battery-widget/issues",
|
"Id": "org.kde.plasma.headsetcontrol-battery-widget",
|
||||||
|
"Name": "Headset Battery Widget",
|
||||||
"ServiceTypes": [
|
"ServiceTypes": [
|
||||||
"Plasma/Applet"
|
"Plasma/Applet"
|
||||||
]
|
],
|
||||||
|
"Version": "1.5",
|
||||||
|
"Website": "https://git.lat/Flummi/headsetcontrol-battery-widget"
|
||||||
},
|
},
|
||||||
"X-Plasma-NotificationArea": true,
|
"X-Plasma-NotificationArea": true,
|
||||||
"X-Plasma-NotificationAreaCategory": "Hardware",
|
"X-Plasma-NotificationAreaCategory": "Hardware",
|
||||||
"X-Plasma-API-Minimum-Version": "6.0"
|
"X-Plasma-API": "declarativeappletscript",
|
||||||
|
"X-Plasma-MainScript": "ui/main.qml"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user