diff --git a/sources/awesome-widget/advanced.ui b/sources/awesome-widget/advanced.ui
index 76f7faa..2267572 100644
--- a/sources/awesome-widget/advanced.ui
+++ b/sources/awesome-widget/advanced.ui
@@ -41,9 +41,9 @@
0
- -145
+ -87
677
- 723
+ 665
@@ -363,30 +363,6 @@ $m - uptime minutes without zero
- -
-
-
-
-
-
-
- 200
- 0
-
-
-
- Battery device
-
-
-
- -
-
-
- "/sys/class/power_supply/BAT0/capacity" by default
-
-
-
-
-
-
-
@@ -447,30 +423,6 @@ $m - uptime minutes without zero
- -
-
-
-
-
-
-
- 200
- 0
-
-
-
- AC device
-
-
-
- -
-
-
- "/sys/class/power_supply/AC/online" by default
-
-
-
-
-
-
diff --git a/sources/awesome-widget/configuration.cpp b/sources/awesome-widget/configuration.cpp
index 048bd2c..56a842c 100644
--- a/sources/awesome-widget/configuration.cpp
+++ b/sources/awesome-widget/configuration.cpp
@@ -32,6 +32,8 @@ QMap AwesomeWidget::readDataEngineConfiguration()
if (debug) qDebug() << PDEBUG;
QMap rawConfig;
+ rawConfig[QString("AC")] = QString("/sys/class/power_supply/AC/online");
+ rawConfig[QString("BATTERY")] = QString("/sys/class/power_supply/BAT0/capacity");
rawConfig[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip");
rawConfig[QString("DESKTOPCMD")] = QString("qdbus org.kde.kwin /KWin currentDesktop");
rawConfig[QString("GPUDEV")] = QString("auto");
@@ -255,8 +257,6 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
uiAdvancedConfig.comboBox_netdev->setCurrentIndex(
uiAdvancedConfig.comboBox_netdev->findText(configuration[QString("customNetdev")],
Qt::MatchFixedString));
- uiAdvancedConfig.lineEdit_batdev->setText(configuration[QString("batteryDevice")]);
- uiAdvancedConfig.lineEdit_acdev->setText(configuration[QString("acDevice")]);
uiAdvancedConfig.lineEdit_acOnline->setText(configuration[QString("acOnline")]);
uiAdvancedConfig.lineEdit_acOffline->setText(configuration[QString("acOffile")]);
@@ -318,6 +318,8 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
// dataengine
QMap deSettings = readDataEngineConfiguration();
+ uiDEConfig.lineEdit_acdev->setText(deSettings[QString("AC")]);
+ uiDEConfig.lineEdit_batdev->setText(deSettings[QString("BATTERY")]);
uiDEConfig.tableWidget_customCommand->clear();
uiDEConfig.tableWidget_customCommand->setRowCount(deSettings[QString("CUSTOM")].split(QString("@@")).count() + 1);
headerList.clear();
@@ -415,8 +417,6 @@ void AwesomeWidget::configAccepted()
cg.writeEntry("disk", items.join(QString("@@")));
cg.writeEntry("useCustomNetdev", QString::number(uiAdvancedConfig.checkBox_netdev->checkState()));
cg.writeEntry("customNetdev", uiAdvancedConfig.comboBox_netdev->currentText());
- cg.writeEntry("batteryDevice", uiAdvancedConfig.lineEdit_batdev->text());
- cg.writeEntry("acDevice", uiAdvancedConfig.lineEdit_acdev->text());
cg.writeEntry("acOnline", uiAdvancedConfig.lineEdit_acOnline->text());
cg.writeEntry("acOffile", uiAdvancedConfig.lineEdit_acOffline->text());
@@ -447,6 +447,8 @@ void AwesomeWidget::configAccepted()
// dataengine
QMap deSettings;
+ deSettings[QString("AC")] = uiDEConfig.lineEdit_acdev->text();
+ deSettings[QString("BATTERY")] = uiDEConfig.lineEdit_batdev->text();
items.clear();
for (int i=0; irowCount(); i++)
if (uiDEConfig.tableWidget_customCommand->item(i, 0) != 0)
@@ -498,8 +500,6 @@ void AwesomeWidget::configChanged()
configuration[QString("disk")] = cg.readEntry("disk", "disk/sda_(8:0)");
configuration[QString("useCustomNetdev")] = cg.readEntry("useCustomNetdev", "0");
configuration[QString("customNetdev")] = cg.readEntry("customNetdev", "lo");
- configuration[QString("batteryDevice")] = cg.readEntry("batteryDevice", "/sys/class/power_supply/BAT0/capacity");
- configuration[QString("acDevice")] = cg.readEntry("acDevice", "/sys/class/power_supply/AC/online");
configuration[QString("acOnline")] = cg.readEntry("acOnline", "(*)");
configuration[QString("acOffile")] = cg.readEntry("acOffile", "( )");
diff --git a/sources/awesome-widget/deconfig.ui b/sources/awesome-widget/deconfig.ui
index a087390..4cd0f0a 100644
--- a/sources/awesome-widget/deconfig.ui
+++ b/sources/awesome-widget/deconfig.ui
@@ -47,116 +47,7 @@
-
-
-
-
-
-
-
-
- 200
- 0
-
-
-
- Music player
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 0
-
-
-
-
-
- mpris
-
-
- -
-
- mpd
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
-
-
-
-
- 200
- 0
-
-
-
- GPU device
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 0
-
-
-
-
-
- auto
-
-
- -
-
- disable
-
-
- -
-
- nvidia
-
-
- -
-
- ati
-
-
-
-
-
-
- -
+
-
-
@@ -189,55 +80,7 @@
- -
-
-
-
-
-
-
- 200
- 0
-
-
-
- hddtemp cmd
-
-
-
- -
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
- -
-
-
-
-
-
-
- 200
- 0
-
-
-
- MPD address
-
-
-
- -
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
- -
+
-
-
@@ -292,7 +135,164 @@
- -
+
-
+
+
-
+
+
+
+ 200
+ 0
+
+
+
+ GPU device
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 0
+
+
+
-
+
+ auto
+
+
+ -
+
+ disable
+
+
+ -
+
+ nvidia
+
+
+ -
+
+ ati
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
-
+
+
+
+ 200
+ 0
+
+
+
+ hddtemp cmd
+
+
+
+ -
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 200
+ 0
+
+
+
+ Music player
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 0
+
+
+
-
+
+ mpris
+
+
+ -
+
+ mpd
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 200
+ 0
+
+
+
+ MPD address
+
+
+
+ -
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+ -
-
@@ -316,7 +316,7 @@
- -
+
-
-
@@ -406,7 +406,7 @@
- -
+
-
-
@@ -437,7 +437,7 @@ del - remove item
- -
+
-
Editable
@@ -456,6 +456,54 @@ del - remove item
+ -
+
+
-
+
+
+
+ 200
+ 0
+
+
+
+ Battery device
+
+
+
+ -
+
+
+ "/sys/class/power_supply/BAT0/capacity" by default
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 200
+ 0
+
+
+
+ AC device
+
+
+
+ -
+
+
+ "/sys/class/power_supply/AC/online" by default
+
+
+
+
+
diff --git a/sources/awesome-widget/deinteraction.cpp b/sources/awesome-widget/deinteraction.cpp
index ef4ec60..8e7acaa 100644
--- a/sources/awesome-widget/deinteraction.cpp
+++ b/sources/awesome-widget/deinteraction.cpp
@@ -27,6 +27,11 @@ void AwesomeWidget::connectToEngine()
if (debug) qDebug() << PDEBUG;
QRegExp regExp;
+ // battery
+ regExp = QRegExp(QString("(ac|bat)"));
+ if (foundKeys.indexOf(regExp) > -1)
+ extsysmonEngine->connectSource(QString("battery"),
+ this, configuration[QString("interval")].toInt());
// cpu
regExp = QRegExp(QString("cpu.*"));
if (foundKeys.indexOf(regExp) > -1) {
@@ -175,6 +180,10 @@ void AwesomeWidget::disconnectFromEngine()
if (debug) qDebug() << PDEBUG;
QRegExp regExp;
+ // battery
+ regExp = QRegExp(QString("(ac|bat)"));
+ if (foundKeys.indexOf(regExp) > -1)
+ extsysmonEngine->disconnectSource(QString("battery"), this);
// cpu
regExp = QRegExp(QString("cpu.*"));
if (foundKeys.indexOf(regExp) > -1) {
diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp
index bfb6b6d..12a14bf 100644
--- a/sources/ext-sysmon/extsysmon.cpp
+++ b/sources/ext-sysmon/extsysmon.cpp
@@ -278,18 +278,20 @@ QMap ExtendedSysMon::updateConfiguration(const QMap ExtendedSysMon::getBattery(const QString acPath, const QString batPath)
+QMap ExtendedSysMon::getBattery(const QString acPath, const QString batPath)
{
if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "AC path" << acPath;
if (debug) qDebug() << PDEBUG << ":" << "Battery path" << batPath;
- QMap battery;
- battery[QString("ac")] = 0;
+ QMap battery;
+ battery[QString("ac")] = false;
battery[QString("battery")] = 0;
QFile acFile(acPath);
- if (acFile.open(QIODevice::ReadOnly))
- battery[QString("ac")] = QString(acFile.readLine()).trimmed().toInt();
+ if (acFile.open(QIODevice::ReadOnly)) {
+ if (QString(acFile.readLine()).trimmed().toInt() == 1)
+ battery[QString("ac")] = true;
+ }
acFile.close();
QFile batFile(batPath);
if (batFile.open(QIODevice::ReadOnly))
@@ -569,10 +571,10 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
if (debug) qDebug() << PDEBUG << ":" << "Source" << source;
if (source == QString("battery")) {
- QMap battery = getBattery(configuration[QString("AC")],
+ QMap battery = getBattery(configuration[QString("AC")],
configuration[QString("BATTERY")]);
- setData(source, QString("ac"), QString::number(battery[QString("ac")]));
- setData(source, QString("bat"), QString::number(battery[QString("battery")]));
+ setData(source, QString("ac"), battery[QString("ac")].toBool());
+ setData(source, QString("bat"), battery[QString("battery")].toInt());
} else if (source == QString("custom")) {
for (int i=0; i getBattery(const QString acPath, const QString batPath);
+ QMap getBattery(const QString acPath, const QString batPath);
QMap getCurrentDesktop(const QString cmd);
QString getCustomCmd(const QString cmd);
float getGpu(const QString device);