mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-04-24 23:47:20 +00:00
implement dynamic tags
This commit is contained in:
parent
5940ec4531
commit
6689bea9a7
@ -40,26 +40,6 @@ Item {
|
|||||||
implicitHeight: pageColumn.implicitHeight
|
implicitHeight: pageColumn.implicitHeight
|
||||||
|
|
||||||
property bool debug: awActions.isDebugEnabled()
|
property bool debug: awActions.isDebugEnabled()
|
||||||
property variant tooltipSettings: {
|
|
||||||
"tooltipNumber": plasmoid.configuration.tooltipNumber,
|
|
||||||
"useTooltipBackground": plasmoid.configuration.useTooltipBackground,
|
|
||||||
"tooltipBackgroung": plasmoid.configuration.tooltipBackgroung,
|
|
||||||
"cpuTooltip": plasmoid.configuration.cpuTooltip,
|
|
||||||
"cpuclTooltip": plasmoid.configuration.cpuclTooltip,
|
|
||||||
"memTooltip": plasmoid.configuration.memTooltip,
|
|
||||||
"swapTooltip": plasmoid.configuration.swapTooltip,
|
|
||||||
"downTooltip": plasmoid.configuration.downTooltip,
|
|
||||||
"upTooltip": plasmoid.configuration.downTooltip,
|
|
||||||
"batTooltip": plasmoid.configuration.batTooltip,
|
|
||||||
"cpuTooltipColor": plasmoid.configuration.cpuTooltipColor,
|
|
||||||
"cpuclTooltipColor": plasmoid.configuration.cpuclTooltipColor,
|
|
||||||
"memTooltipColor": plasmoid.configuration.memTooltipColor,
|
|
||||||
"swapTooltipColor": plasmoid.configuration.swapTooltipColor,
|
|
||||||
"downTooltipColor": plasmoid.configuration.downTooltipColor,
|
|
||||||
"upTooltipColor": plasmoid.configuration.upTooltipColor,
|
|
||||||
"batTooltipColor": plasmoid.configuration.batTooltipColor,
|
|
||||||
"batInTooltipColor": plasmoid.configuration.batInTooltipColor
|
|
||||||
}
|
|
||||||
|
|
||||||
property variant cfg_dataengine: awActions.readDataEngineConfiguration()
|
property variant cfg_dataengine: awActions.readDataEngineConfiguration()
|
||||||
|
|
||||||
@ -79,23 +59,7 @@ Item {
|
|||||||
QtControls.TextField {
|
QtControls.TextField {
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
text: cfg_dataengine["ACPIPATH"]
|
text: cfg_dataengine["ACPIPATH"]
|
||||||
}
|
onEditingFinished: cfg_dataengine["ACPIPATH"] = text
|
||||||
}
|
|
||||||
|
|
||||||
Row {
|
|
||||||
height: implicitHeight
|
|
||||||
width: parent.width
|
|
||||||
QtControls.Label {
|
|
||||||
height: parent.height
|
|
||||||
width: parent.width * 2 / 5
|
|
||||||
horizontalAlignment: Text.AlignRight
|
|
||||||
verticalAlignment: Text.AlignVCenter
|
|
||||||
text: i18n("Custom scripts")
|
|
||||||
}
|
|
||||||
QtControls.Button {
|
|
||||||
width: parent.width * 3 / 5
|
|
||||||
text: i18n("Edit scripts")
|
|
||||||
onClicked: awKeys.editItem("extscript")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,6 +128,7 @@ Item {
|
|||||||
QtControls.TextField {
|
QtControls.TextField {
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
text: cfg_dataengine["HDDTEMPCMD"]
|
text: cfg_dataengine["HDDTEMPCMD"]
|
||||||
|
onEditingFinished: cfg_dataengine["HDDTEMPCMD"] = text
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,6 +145,7 @@ Item {
|
|||||||
QtControls.TextField {
|
QtControls.TextField {
|
||||||
width: parent.width * 3 / 5
|
width: parent.width * 3 / 5
|
||||||
text: cfg_dataengine["MPDADDRESS"]
|
text: cfg_dataengine["MPDADDRESS"]
|
||||||
|
onEditingFinished: cfg_dataengine["MPDADDRESS"] = text
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,6 +165,7 @@ Item {
|
|||||||
maximumValue: 65535
|
maximumValue: 65535
|
||||||
stepSize: 1
|
stepSize: 1
|
||||||
value: cfg_dataengine["MPDPORT"]
|
value: cfg_dataengine["MPDPORT"]
|
||||||
|
onEditingFinished: cfg_dataengine["MPDPORT"] = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,6 +215,43 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: implicitHeight
|
||||||
|
width: parent.width
|
||||||
|
QtControls.Label {
|
||||||
|
height: parent.height
|
||||||
|
width: parent.width * 2 / 5
|
||||||
|
horizontalAlignment: Text.AlignRight
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
text: i18n("Player data symbols")
|
||||||
|
}
|
||||||
|
QtControls.SpinBox {
|
||||||
|
width: parent.width * 3 / 5
|
||||||
|
minimumValue: 1
|
||||||
|
maximumValue: 100
|
||||||
|
stepSize: 1
|
||||||
|
value: cfg_dataengine["PLAYERSYMBOLS"]
|
||||||
|
onEditingFinished: cfg_dataengine["PLAYERSYMBOLS"] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: implicitHeight
|
||||||
|
width: parent.width
|
||||||
|
QtControls.Label {
|
||||||
|
height: parent.height
|
||||||
|
width: parent.width * 2 / 5
|
||||||
|
horizontalAlignment: Text.AlignRight
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
text: i18n("Custom scripts")
|
||||||
|
}
|
||||||
|
QtControls.Button {
|
||||||
|
width: parent.width * 3 / 5
|
||||||
|
text: i18n("Edit scripts")
|
||||||
|
onClicked: awKeys.editItem("extscript")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
height: implicitHeight
|
height: implicitHeight
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
@ -204,16 +204,18 @@ Item {
|
|||||||
|
|
||||||
onSizeUpdate: {
|
onSizeUpdate: {
|
||||||
if (debug) console.debug()
|
if (debug) console.debug()
|
||||||
|
// 16 is a magic number
|
||||||
|
// in other case plasmoid will increase own size on each update
|
||||||
|
|
||||||
if (plasmoid.configuration.height == 0) {
|
if (plasmoid.configuration.height == 0) {
|
||||||
Layout.minimumHeight = text.contentHeight
|
Layout.minimumHeight = text.contentHeight - 16
|
||||||
Layout.maximumHeight = -1
|
Layout.maximumHeight = -1
|
||||||
} else {
|
} else {
|
||||||
Layout.minimumHeight = plasmoid.configuration.height
|
Layout.minimumHeight = plasmoid.configuration.height
|
||||||
Layout.maximumHeight = plasmoid.configuration.height
|
Layout.maximumHeight = plasmoid.configuration.height
|
||||||
}
|
}
|
||||||
if (plasmoid.configuration.width == 0) {
|
if (plasmoid.configuration.width == 0) {
|
||||||
Layout.minimumWidth = text.contentWidth
|
Layout.minimumWidth = text.contentWidth - 16
|
||||||
Layout.maximumWidth = -1
|
Layout.maximumWidth = -1
|
||||||
} else {
|
} else {
|
||||||
Layout.minimumWidth = plasmoid.configuration.width
|
Layout.minimumWidth = plasmoid.configuration.width
|
||||||
|
@ -255,7 +255,7 @@ Item {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
'label': i18n("Music player"),
|
'label': i18n("Music player"),
|
||||||
'regexp': "^(album|artist|duration|progress|title)"
|
'regexp': "(^|d|s)(album|artist|duration|progress|title)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'label': i18n("Scripts"),
|
'label': i18n("Scripts"),
|
||||||
|
@ -184,6 +184,7 @@ QVariantMap AWActions::readDataEngineConfiguration() const
|
|||||||
configuration[QString("MPDPORT")] = settings.value(QString("MPDPORT"), QString("6600"));
|
configuration[QString("MPDPORT")] = settings.value(QString("MPDPORT"), QString("6600"));
|
||||||
configuration[QString("MPRIS")] = settings.value(QString("MPRIS"), QString("auto"));
|
configuration[QString("MPRIS")] = settings.value(QString("MPRIS"), QString("auto"));
|
||||||
configuration[QString("PLAYER")] = settings.value(QString("PLAYER"), QString("mpris"));
|
configuration[QString("PLAYER")] = settings.value(QString("PLAYER"), QString("mpris"));
|
||||||
|
configuration[QString("PLAYERSYMBOLS")] = settings.value(QString("PLAYERSYMBOLS"), QString("10"));
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
|
|
||||||
return configuration;
|
return configuration;
|
||||||
@ -207,6 +208,7 @@ void AWActions::writeDataEngineConfiguration(const QVariantMap configuration) co
|
|||||||
settings.setValue(QString("MPDPORT"), configuration[QString("MPDPORT")]);
|
settings.setValue(QString("MPDPORT"), configuration[QString("MPDPORT")]);
|
||||||
settings.setValue(QString("MPRIS"), configuration[QString("MPRIS")]);
|
settings.setValue(QString("MPRIS"), configuration[QString("MPRIS")]);
|
||||||
settings.setValue(QString("PLAYER"), configuration[QString("PLAYER")]);
|
settings.setValue(QString("PLAYER"), configuration[QString("PLAYER")]);
|
||||||
|
settings.setValue(QString("PLAYERSYMBOLS"), configuration[QString("PLAYERSYMBOLS")]);
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
|
|
||||||
settings.sync();
|
settings.sync();
|
||||||
|
@ -268,6 +268,12 @@ QStringList AWKeys::dictKeys(const bool sorted, const QString regexp) const
|
|||||||
allKeys.append(QString("duration"));
|
allKeys.append(QString("duration"));
|
||||||
allKeys.append(QString("progress"));
|
allKeys.append(QString("progress"));
|
||||||
allKeys.append(QString("title"));
|
allKeys.append(QString("title"));
|
||||||
|
allKeys.append(QString("dalbum"));
|
||||||
|
allKeys.append(QString("dartist"));
|
||||||
|
allKeys.append(QString("dtitle"));
|
||||||
|
allKeys.append(QString("salbum"));
|
||||||
|
allKeys.append(QString("sartist"));
|
||||||
|
allKeys.append(QString("stitle"));
|
||||||
// ps
|
// ps
|
||||||
allKeys.append(QString("pscount"));
|
allKeys.append(QString("pscount"));
|
||||||
allKeys.append(QString("pstotal"));
|
allKeys.append(QString("pstotal"));
|
||||||
@ -549,11 +555,7 @@ void AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
|
|||||||
foreach(QString key, data.keys()) values[key] = QString("%1").arg(data[key].toInt(), 2);
|
foreach(QString key, data.keys()) values[key] = QString("%1").arg(data[key].toInt(), 2);
|
||||||
} else if (sourceName == QString("player")) {
|
} else if (sourceName == QString("player")) {
|
||||||
// player
|
// player
|
||||||
values[QString("album")] = data[QString("album")].toString();
|
foreach(QString key, data.keys()) values[key] = data[key].toString();
|
||||||
values[QString("artist")] = data[QString("artist")].toString();
|
|
||||||
values[QString("duration")] = data[QString("duration")].toString();
|
|
||||||
values[QString("progress")] = data[QString("progress")].toString();
|
|
||||||
values[QString("title")] = data[QString("title")].toString();
|
|
||||||
} else if (sourceName == QString("ps")) {
|
} else if (sourceName == QString("ps")) {
|
||||||
// ps
|
// ps
|
||||||
values[QString("ps")] = data[QString("ps")].toString();
|
values[QString("ps")] = data[QString("ps")].toString();
|
||||||
|
@ -72,151 +72,6 @@ ExtendedSysMon::~ExtendedSysMon()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QStringList ExtendedSysMon::getAllHdd() const
|
|
||||||
{
|
|
||||||
qCDebug(LOG_ESM);
|
|
||||||
|
|
||||||
QStringList allDevices = QDir(QString("/dev")).entryList(QDir::System, QDir::Name);
|
|
||||||
QStringList devices = allDevices.filter(QRegExp(QString("^[hms]d[a-z]$")));
|
|
||||||
for (int i=0; i<devices.count(); i++)
|
|
||||||
devices[i] = QString("/dev/%1").arg(devices.at(i));
|
|
||||||
|
|
||||||
qCInfo(LOG_ESM) << "Device list" << devices;
|
|
||||||
return devices;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QString ExtendedSysMon::getAutoGpu() const
|
|
||||||
{
|
|
||||||
qCDebug(LOG_ESM);
|
|
||||||
|
|
||||||
QString gpu = QString("disable");
|
|
||||||
QFile moduleFile(QString("/proc/modules"));
|
|
||||||
if (!moduleFile.open(QIODevice::ReadOnly)) return gpu;
|
|
||||||
|
|
||||||
QString output = moduleFile.readAll();
|
|
||||||
if (output.contains(QString("fglrx")))
|
|
||||||
gpu = QString("ati");
|
|
||||||
else if (output.contains(QString("nvidia")))
|
|
||||||
gpu = QString("nvidia");
|
|
||||||
|
|
||||||
qCInfo(LOG_ESM) << "Device" << gpu;
|
|
||||||
return gpu;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QString ExtendedSysMon::getAutoMpris() const
|
|
||||||
{
|
|
||||||
qCDebug(LOG_ESM);
|
|
||||||
|
|
||||||
QDBusMessage listServices = QDBusConnection::sessionBus().interface()->call(QDBus::BlockWithGui, QString("ListNames"));
|
|
||||||
if (listServices.arguments().isEmpty()) return QString();
|
|
||||||
QStringList arguments = listServices.arguments().first().toStringList();
|
|
||||||
|
|
||||||
foreach(QString arg, arguments) {
|
|
||||||
qCInfo(LOG_ESM) << "Service found" << arg;
|
|
||||||
if (!arg.startsWith(QString("org.mpris.MediaPlayer2."))) continue;
|
|
||||||
QString service = arg;
|
|
||||||
service.remove(QString("org.mpris.MediaPlayer2."));
|
|
||||||
return service;
|
|
||||||
}
|
|
||||||
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QStringList ExtendedSysMon::sources() const
|
|
||||||
{
|
|
||||||
qCDebug(LOG_ESM);
|
|
||||||
|
|
||||||
QStringList source;
|
|
||||||
source.append(QString("battery"));
|
|
||||||
source.append(QString("custom"));
|
|
||||||
source.append(QString("desktop"));
|
|
||||||
source.append(QString("netdev"));
|
|
||||||
source.append(QString("gpu"));
|
|
||||||
source.append(QString("gputemp"));
|
|
||||||
source.append(QString("hddtemp"));
|
|
||||||
source.append(QString("pkg"));
|
|
||||||
source.append(QString("player"));
|
|
||||||
source.append(QString("ps"));
|
|
||||||
source.append(QString("quotes"));
|
|
||||||
source.append(QString("update"));
|
|
||||||
source.append(QString("weather"));
|
|
||||||
|
|
||||||
qCInfo(LOG_ESM) << "Sources" << source;
|
|
||||||
return source;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ExtendedSysMon::readConfiguration()
|
|
||||||
{
|
|
||||||
qCDebug(LOG_ESM);
|
|
||||||
|
|
||||||
QString fileName = QStandardPaths::locate(QStandardPaths::ConfigLocation,
|
|
||||||
QString("plasma-dataengine-extsysmon.conf"));
|
|
||||||
qCInfo(LOG_ESM) << "Configuration file" << fileName;
|
|
||||||
QSettings settings(fileName, QSettings::IniFormat);
|
|
||||||
QHash<QString, QString> rawConfig;
|
|
||||||
|
|
||||||
settings.beginGroup(QString("Configuration"));
|
|
||||||
rawConfig[QString("ACPIPATH")] = settings.value(QString("ACPIPATH"), QString("/sys/class/power_supply/")).toString();
|
|
||||||
rawConfig[QString("GPUDEV")] = settings.value(QString("GPUDEV"), QString("auto")).toString();
|
|
||||||
rawConfig[QString("HDDDEV")] = settings.value(QString("HDDDEV"), QString("all")).toString();
|
|
||||||
rawConfig[QString("HDDTEMPCMD")] = settings.value(QString("HDDTEMPCMD"), QString("sudo smartctl -a")).toString();
|
|
||||||
rawConfig[QString("MPDADDRESS")] = settings.value(QString("MPDADDRESS"), QString("localhost")).toString();
|
|
||||||
rawConfig[QString("MPDPORT")] = settings.value(QString("MPDPORT"), QString("6600")).toString();
|
|
||||||
rawConfig[QString("MPRIS")] = settings.value(QString("MPRIS"), QString("auto")).toString();
|
|
||||||
rawConfig[QString("PLAYER")] = settings.value(QString("PLAYER"), QString("mpris")).toString();
|
|
||||||
settings.endGroup();
|
|
||||||
|
|
||||||
configuration = updateConfiguration(rawConfig);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QHash<QString, QString> ExtendedSysMon::updateConfiguration(QHash<QString, QString> rawConfig) const
|
|
||||||
{
|
|
||||||
qCDebug(LOG_ESM);
|
|
||||||
qCDebug(LOG_ESM) << "Raw configuration" << rawConfig;
|
|
||||||
|
|
||||||
// gpudev
|
|
||||||
if (rawConfig[QString("GPUDEV")] == QString("disable"))
|
|
||||||
rawConfig[QString("GPUDEV")] = QString("disable");
|
|
||||||
else if (rawConfig[QString("GPUDEV")] == QString("auto"))
|
|
||||||
rawConfig[QString("GPUDEV")] = getAutoGpu();
|
|
||||||
else if ((rawConfig[QString("GPUDEV")] != QString("ati")) &&
|
|
||||||
(rawConfig[QString("GPUDEV")] != QString("nvidia")))
|
|
||||||
rawConfig[QString("GPUDEV")] = getAutoGpu();
|
|
||||||
// hdddev
|
|
||||||
QStringList allHddDevices = getAllHdd();
|
|
||||||
if (rawConfig[QString("HDDDEV")] == QString("all"))
|
|
||||||
rawConfig[QString("HDDDEV")] = allHddDevices.join(QChar(','));
|
|
||||||
else if (rawConfig[QString("HDDDEV")] == QString("disable"))
|
|
||||||
rawConfig[QString("HDDDEV")] = QString("");
|
|
||||||
else {
|
|
||||||
QStringList deviceList = rawConfig[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts);
|
|
||||||
QStringList devices;
|
|
||||||
QRegExp diskRegexp = QRegExp("^/dev/[hms]d[a-z]$");
|
|
||||||
foreach(QString device, deviceList)
|
|
||||||
if ((QFile::exists(device)) && (device.contains(diskRegexp)))
|
|
||||||
devices.append(device);
|
|
||||||
if (devices.isEmpty())
|
|
||||||
rawConfig[QString("HDDDEV")] = allHddDevices.join(QChar(','));
|
|
||||||
else
|
|
||||||
rawConfig[QString("HDDDEV")] = devices.join(QChar(','));
|
|
||||||
}
|
|
||||||
// player
|
|
||||||
if ((rawConfig[QString("PLAYER")] != QString("mpd")) &&
|
|
||||||
(rawConfig[QString("PLAYER")] != QString("mpris")) &&
|
|
||||||
(rawConfig[QString("PLAYER")] != QString("disable")))
|
|
||||||
rawConfig[QString("PLAYER")] = QString("mpris");
|
|
||||||
|
|
||||||
foreach(QString key, rawConfig.keys())
|
|
||||||
qCInfo(LOG_ESM) << key << "=" << rawConfig[key];
|
|
||||||
return rawConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QVariantHash ExtendedSysMon::getBattery(const QString acpiPath) const
|
QVariantHash ExtendedSysMon::getBattery(const QString acpiPath) const
|
||||||
{
|
{
|
||||||
qCDebug(LOG_ESM);
|
qCDebug(LOG_ESM);
|
||||||
@ -410,7 +265,7 @@ QString ExtendedSysMon::getNetworkDevice() const
|
|||||||
|
|
||||||
|
|
||||||
QVariantHash ExtendedSysMon::getPlayerInfo(const QString playerName, const QString mpdAddress,
|
QVariantHash ExtendedSysMon::getPlayerInfo(const QString playerName, const QString mpdAddress,
|
||||||
const QString mpdPort, QString mpris) const
|
const QString mpdPort, QString mpris) const
|
||||||
{
|
{
|
||||||
qCDebug(LOG_ESM);
|
qCDebug(LOG_ESM);
|
||||||
qCDebug(LOG_ESM) << "player" << playerName;
|
qCDebug(LOG_ESM) << "player" << playerName;
|
||||||
@ -426,14 +281,29 @@ QVariantHash ExtendedSysMon::getPlayerInfo(const QString playerName, const QStri
|
|||||||
|
|
||||||
if (playerName == QString("mpd"))
|
if (playerName == QString("mpd"))
|
||||||
// mpd
|
// mpd
|
||||||
return getPlayerMpdInfo(mpdAddress, mpdPort);
|
info = getPlayerMpdInfo(mpdAddress, mpdPort);
|
||||||
else if (playerName == QString("mpris")) {
|
else if (playerName == QString("mpris")) {
|
||||||
// players which supports mpris
|
// players which supports mpris
|
||||||
if (mpris == QString("auto")) mpris = getAutoMpris();
|
if (mpris == QString("auto")) mpris = getAutoMpris();
|
||||||
if (mpris.isEmpty()) return info;
|
if (mpris.isEmpty()) return info;
|
||||||
return getPlayerMprisInfo(mpris);
|
info = getPlayerMprisInfo(mpris);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dymanic properties
|
||||||
|
// solid
|
||||||
|
info[QString("salbum")] = stripString(info[QString("album")].toString(), symbols);
|
||||||
|
info[QString("sartist")] = stripString(info[QString("artist")].toString(), symbols);
|
||||||
|
info[QString("stitle")] = stripString(info[QString("title")].toString(), symbols);
|
||||||
|
// dynamic
|
||||||
|
Plasma::DataContainer *playerDC = containerDict()["player"];
|
||||||
|
QVariantHash data = playerDC == nullptr ? info : qvariant_cast<QVariantHash>(playerDC->data());
|
||||||
|
info[QString("dalbum")] = buildString(data[QString("dalbum")].toString(),
|
||||||
|
info[QString("album")].toString(), symbols);
|
||||||
|
info[QString("dartist")] = buildString(data[QString("dartist")].toString(),
|
||||||
|
info[QString("artist")].toString(), symbols);
|
||||||
|
info[QString("dtitle")] = buildString(data[QString("dtitle")].toString(),
|
||||||
|
info[QString("title")].toString(), symbols);
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -558,6 +428,30 @@ QVariantHash ExtendedSysMon::getPsStats() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QStringList ExtendedSysMon::sources() const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
|
||||||
|
QStringList source;
|
||||||
|
source.append(QString("battery"));
|
||||||
|
source.append(QString("custom"));
|
||||||
|
source.append(QString("desktop"));
|
||||||
|
source.append(QString("netdev"));
|
||||||
|
source.append(QString("gpu"));
|
||||||
|
source.append(QString("gputemp"));
|
||||||
|
source.append(QString("hddtemp"));
|
||||||
|
source.append(QString("pkg"));
|
||||||
|
source.append(QString("player"));
|
||||||
|
source.append(QString("ps"));
|
||||||
|
source.append(QString("quotes"));
|
||||||
|
source.append(QString("update"));
|
||||||
|
source.append(QString("weather"));
|
||||||
|
|
||||||
|
qCInfo(LOG_ESM) << "Sources" << source;
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool ExtendedSysMon::sourceRequestEvent(const QString &source)
|
bool ExtendedSysMon::sourceRequestEvent(const QString &source)
|
||||||
{
|
{
|
||||||
qCDebug(LOG_ESM);
|
qCDebug(LOG_ESM);
|
||||||
@ -630,6 +524,159 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString ExtendedSysMon::buildString(const QString current, const QString value,
|
||||||
|
const int s) const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
qCDebug(LOG_ESM) << "Current value" << current;
|
||||||
|
qCDebug(LOG_ESM) << "New value" << value;
|
||||||
|
qCDebug(LOG_ESM) << "Strip after" << s;
|
||||||
|
|
||||||
|
int index = value.indexOf(current);
|
||||||
|
if ((index == -1) || ((index + s + 1) > value.count()))
|
||||||
|
return QString("%1").arg(value.left(s), s, QLatin1Char(' '));
|
||||||
|
else
|
||||||
|
return QString("%1").arg(value.mid(index + 1, s), s, QLatin1Char(' '));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QStringList ExtendedSysMon::getAllHdd() const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
|
||||||
|
QStringList allDevices = QDir(QString("/dev")).entryList(QDir::System, QDir::Name);
|
||||||
|
QStringList devices = allDevices.filter(QRegExp(QString("^[hms]d[a-z]$")));
|
||||||
|
for (int i=0; i<devices.count(); i++)
|
||||||
|
devices[i] = QString("/dev/%1").arg(devices.at(i));
|
||||||
|
|
||||||
|
qCInfo(LOG_ESM) << "Device list" << devices;
|
||||||
|
return devices;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString ExtendedSysMon::getAutoGpu() const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
|
||||||
|
QString gpu = QString("disable");
|
||||||
|
QFile moduleFile(QString("/proc/modules"));
|
||||||
|
if (!moduleFile.open(QIODevice::ReadOnly)) return gpu;
|
||||||
|
|
||||||
|
QString output = moduleFile.readAll();
|
||||||
|
if (output.contains(QString("fglrx")))
|
||||||
|
gpu = QString("ati");
|
||||||
|
else if (output.contains(QString("nvidia")))
|
||||||
|
gpu = QString("nvidia");
|
||||||
|
|
||||||
|
qCInfo(LOG_ESM) << "Device" << gpu;
|
||||||
|
return gpu;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString ExtendedSysMon::getAutoMpris() const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
|
||||||
|
QDBusMessage listServices = QDBusConnection::sessionBus().interface()->call(QDBus::BlockWithGui, QString("ListNames"));
|
||||||
|
if (listServices.arguments().isEmpty()) return QString();
|
||||||
|
QStringList arguments = listServices.arguments().first().toStringList();
|
||||||
|
|
||||||
|
foreach(QString arg, arguments) {
|
||||||
|
qCInfo(LOG_ESM) << "Service found" << arg;
|
||||||
|
if (!arg.startsWith(QString("org.mpris.MediaPlayer2."))) continue;
|
||||||
|
QString service = arg;
|
||||||
|
service.remove(QString("org.mpris.MediaPlayer2."));
|
||||||
|
return service;
|
||||||
|
}
|
||||||
|
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ExtendedSysMon::readConfiguration()
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
|
||||||
|
QString fileName = QStandardPaths::locate(QStandardPaths::ConfigLocation,
|
||||||
|
QString("plasma-dataengine-extsysmon.conf"));
|
||||||
|
qCInfo(LOG_ESM) << "Configuration file" << fileName;
|
||||||
|
QSettings settings(fileName, QSettings::IniFormat);
|
||||||
|
QHash<QString, QString> rawConfig;
|
||||||
|
|
||||||
|
settings.beginGroup(QString("Configuration"));
|
||||||
|
rawConfig[QString("ACPIPATH")] = settings.value(QString("ACPIPATH"), QString("/sys/class/power_supply/")).toString();
|
||||||
|
rawConfig[QString("GPUDEV")] = settings.value(QString("GPUDEV"), QString("auto")).toString();
|
||||||
|
rawConfig[QString("HDDDEV")] = settings.value(QString("HDDDEV"), QString("all")).toString();
|
||||||
|
rawConfig[QString("HDDTEMPCMD")] = settings.value(QString("HDDTEMPCMD"), QString("sudo smartctl -a")).toString();
|
||||||
|
rawConfig[QString("MPDADDRESS")] = settings.value(QString("MPDADDRESS"), QString("localhost")).toString();
|
||||||
|
rawConfig[QString("MPDPORT")] = settings.value(QString("MPDPORT"), QString("6600")).toString();
|
||||||
|
rawConfig[QString("MPRIS")] = settings.value(QString("MPRIS"), QString("auto")).toString();
|
||||||
|
rawConfig[QString("PLAYER")] = settings.value(QString("PLAYER"), QString("mpris")).toString();
|
||||||
|
rawConfig[QString("PLAYERSYMBOLS")] = settings.value(QString("PLAYERSYMBOLS"), QString("10")).toString();
|
||||||
|
settings.endGroup();
|
||||||
|
|
||||||
|
configuration = updateConfiguration(rawConfig);
|
||||||
|
symbols = configuration[QString("PLAYERSYMBOLS")].toInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QString ExtendedSysMon::stripString(const QString value, const int s) const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
qCDebug(LOG_ESM) << "New value" << value;
|
||||||
|
qCDebug(LOG_ESM) << "Strip after" << s;
|
||||||
|
|
||||||
|
return value.count() > s ? QString("%1\u2026").arg(value.left(s - 1)) :
|
||||||
|
QString("%1").arg(value, s, QLatin1Char(' '));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QHash<QString, QString> ExtendedSysMon::updateConfiguration(QHash<QString, QString> rawConfig) const
|
||||||
|
{
|
||||||
|
qCDebug(LOG_ESM);
|
||||||
|
qCDebug(LOG_ESM) << "Raw configuration" << rawConfig;
|
||||||
|
|
||||||
|
// gpudev
|
||||||
|
if (rawConfig[QString("GPUDEV")] == QString("disable"))
|
||||||
|
rawConfig[QString("GPUDEV")] = QString("disable");
|
||||||
|
else if (rawConfig[QString("GPUDEV")] == QString("auto"))
|
||||||
|
rawConfig[QString("GPUDEV")] = getAutoGpu();
|
||||||
|
else if ((rawConfig[QString("GPUDEV")] != QString("ati")) &&
|
||||||
|
(rawConfig[QString("GPUDEV")] != QString("nvidia")))
|
||||||
|
rawConfig[QString("GPUDEV")] = getAutoGpu();
|
||||||
|
// hdddev
|
||||||
|
QStringList allHddDevices = getAllHdd();
|
||||||
|
if (rawConfig[QString("HDDDEV")] == QString("all"))
|
||||||
|
rawConfig[QString("HDDDEV")] = allHddDevices.join(QChar(','));
|
||||||
|
else if (rawConfig[QString("HDDDEV")] == QString("disable"))
|
||||||
|
rawConfig[QString("HDDDEV")] = QString("");
|
||||||
|
else {
|
||||||
|
QStringList deviceList = rawConfig[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts);
|
||||||
|
QStringList devices;
|
||||||
|
QRegExp diskRegexp = QRegExp("^/dev/[hms]d[a-z]$");
|
||||||
|
foreach(QString device, deviceList)
|
||||||
|
if ((QFile::exists(device)) && (device.contains(diskRegexp)))
|
||||||
|
devices.append(device);
|
||||||
|
if (devices.isEmpty())
|
||||||
|
rawConfig[QString("HDDDEV")] = allHddDevices.join(QChar(','));
|
||||||
|
else
|
||||||
|
rawConfig[QString("HDDDEV")] = devices.join(QChar(','));
|
||||||
|
}
|
||||||
|
// player
|
||||||
|
if ((rawConfig[QString("PLAYER")] != QString("mpd")) &&
|
||||||
|
(rawConfig[QString("PLAYER")] != QString("mpris")) &&
|
||||||
|
(rawConfig[QString("PLAYER")] != QString("disable")))
|
||||||
|
rawConfig[QString("PLAYER")] = QString("mpris");
|
||||||
|
// player symbols
|
||||||
|
if (rawConfig[QString("PLAYERSYMBOLS")].toInt() <= 0)
|
||||||
|
rawConfig[QString("PLAYERSYMBOLS")] = QString("10");
|
||||||
|
|
||||||
|
foreach(QString key, rawConfig.keys())
|
||||||
|
qCInfo(LOG_ESM) << key << "=" << rawConfig[key];
|
||||||
|
return rawConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
K_EXPORT_PLASMA_DATAENGINE_WITH_JSON(extsysmon, ExtendedSysMon, "plasma-dataengine-extsysmon.json")
|
K_EXPORT_PLASMA_DATAENGINE_WITH_JSON(extsysmon, ExtendedSysMon, "plasma-dataengine-extsysmon.json")
|
||||||
|
|
||||||
#include "extsysmon.moc"
|
#include "extsysmon.moc"
|
||||||
|
@ -52,22 +52,25 @@ public:
|
|||||||
QVariantHash getPsStats() const;
|
QVariantHash getPsStats() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
QStringList sources() const;
|
||||||
bool sourceRequestEvent(const QString &source);
|
bool sourceRequestEvent(const QString &source);
|
||||||
bool updateSourceEvent(const QString &source);
|
bool updateSourceEvent(const QString &source);
|
||||||
QStringList sources() const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// configuration
|
// configuration
|
||||||
QHash<QString, QString> configuration;
|
QHash<QString, QString> configuration;
|
||||||
|
int symbols = 10;
|
||||||
ExtItemAggregator<ExtQuotes> *extQuotes;
|
ExtItemAggregator<ExtQuotes> *extQuotes;
|
||||||
ExtItemAggregator<ExtScript> *extScripts;
|
ExtItemAggregator<ExtScript> *extScripts;
|
||||||
ExtItemAggregator<ExtUpgrade> *extUpgrade;
|
ExtItemAggregator<ExtUpgrade> *extUpgrade;
|
||||||
ExtItemAggregator<ExtWeather> *extWeather;
|
ExtItemAggregator<ExtWeather> *extWeather;
|
||||||
// reread configuration
|
// methods
|
||||||
|
QString buildString(const QString current, const QString value, const int s) const;
|
||||||
QStringList getAllHdd() const;
|
QStringList getAllHdd() const;
|
||||||
QString getAutoGpu() const;
|
QString getAutoGpu() const;
|
||||||
QString getAutoMpris() const;
|
QString getAutoMpris() const;
|
||||||
void readConfiguration();
|
void readConfiguration();
|
||||||
|
QString stripString(const QString value, const int s) const;
|
||||||
QHash<QString, QString> updateConfiguration(QHash<QString, QString> rawConfig) const;
|
QHash<QString, QString> updateConfiguration(QHash<QString, QString> rawConfig) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -16,3 +16,5 @@ MPDPORT=6600
|
|||||||
MPRIS=auto
|
MPRIS=auto
|
||||||
# Player name. Supported players are 'mpd', 'mpris', 'disable'
|
# Player name. Supported players are 'mpd', 'mpris', 'disable'
|
||||||
PLAYER=mpris
|
PLAYER=mpris
|
||||||
|
# Show only this symbols count for dynamic player tags
|
||||||
|
PLAYERSYMBOLS=10
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
Name=Extended SystemMonitor DataEngine
|
Name=Extended SystemMonitor
|
||||||
Comment=Adds some additional functions to System DataEngine
|
Comment=Adds some additional functions to System DataEngine
|
||||||
ServiceTypes=Plasma/DataEngine
|
ServiceTypes=Plasma/DataEngine
|
||||||
Type=Service
|
Type=Service
|
||||||
|
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -143,12 +143,6 @@ msgstr ""
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -170,6 +164,15 @@ msgstr ""
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-08-30 16:30+0300\n"
|
"PO-Revision-Date: 2015-08-30 16:30+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: English <kde-russian@lists.kde.ru>\n"
|
"Language-Team: English <kde-russian@lists.kde.ru>\n"
|
||||||
@ -144,12 +144,6 @@ msgstr "Select a font"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "ACPI path"
|
msgstr "ACPI path"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Custom scripts"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Edit scripts"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "GPU device"
|
msgstr "GPU device"
|
||||||
|
|
||||||
@ -171,6 +165,15 @@ msgstr "MPRIS player name"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Music player"
|
msgstr "Music player"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Custom scripts"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Edit scripts"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr "Quotes monitor"
|
msgstr "Quotes monitor"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-07-31 22:13+0300\n"
|
"PO-Revision-Date: 2015-07-31 22:13+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Spanish <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Spanish <kde-russian@lists.kde.ru>\n"
|
||||||
@ -146,12 +146,6 @@ msgstr "Elige un tipo de letra"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "Ruta ACPI"
|
msgstr "Ruta ACPI"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Scripts personalizados"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Editar scripts"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "Dispositivo de GPU"
|
msgstr "Dispositivo de GPU"
|
||||||
|
|
||||||
@ -173,6 +167,15 @@ msgstr "Nombre del reproductor MPRIS"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Reproductor de música"
|
msgstr "Reproductor de música"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Scripts personalizados"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Editar scripts"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr "Monitor de citas"
|
msgstr "Monitor de citas"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-07-31 22:16+0300\n"
|
"PO-Revision-Date: 2015-07-31 22:16+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: French <kde-russian@lists.kde.ru>\n"
|
"Language-Team: French <kde-russian@lists.kde.ru>\n"
|
||||||
@ -148,12 +148,6 @@ msgstr "Sélectionner une police"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "chemin ACPI"
|
msgstr "chemin ACPI"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Scripts personnalisés"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Modifier les scripts"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "Périphérique graphique"
|
msgstr "Périphérique graphique"
|
||||||
|
|
||||||
@ -175,6 +169,15 @@ msgstr "Nom du lecteur MPRIS"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Lecteur audio"
|
msgstr "Lecteur audio"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Scripts personnalisés"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Modifier les scripts"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr "Moniteur de citations"
|
msgstr "Moniteur de citations"
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Awesome widgets\n"
|
"Project-Id-Version: Awesome widgets\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-08-20 22:52+0300\n"
|
"PO-Revision-Date: 2015-08-20 22:52+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
|
"Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
|
||||||
@ -148,12 +148,6 @@ msgstr "Selecteer een lettertype"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "ACPI-pad"
|
msgstr "ACPI-pad"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Aangepaste scripts"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Scripts bewerken"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "GPU-apparaat"
|
msgstr "GPU-apparaat"
|
||||||
|
|
||||||
@ -175,6 +169,15 @@ msgstr "MPRIS-mediaspelernaam"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Muziekspeler"
|
msgstr "Muziekspeler"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Aangepaste scripts"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Scripts bewerken"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-07-31 22:21+0300\n"
|
"PO-Revision-Date: 2015-07-31 22:21+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||||
@ -147,12 +147,6 @@ msgstr "Selecionar uma fonte"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "Caminho ACPI"
|
msgstr "Caminho ACPI"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Scripts customizados"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Editar scripts"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "Dispositivo GPU"
|
msgstr "Dispositivo GPU"
|
||||||
|
|
||||||
@ -174,6 +168,15 @@ msgstr "Nome do player MPRIS"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Reprodutor de áudio"
|
msgstr "Reprodutor de áudio"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Scripts customizados"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Editar scripts"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr "Monitor de citações"
|
msgstr "Monitor de citações"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-08-30 16:31+0300\n"
|
"PO-Revision-Date: 2015-08-30 16:31+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||||
@ -144,12 +144,6 @@ msgstr "Выберете шрифт"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "Пусть к ACPI"
|
msgstr "Пусть к ACPI"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Свои скрипты"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Редактировать скрипты"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "Устройство GPU"
|
msgstr "Устройство GPU"
|
||||||
|
|
||||||
@ -171,6 +165,15 @@ msgstr "Имя плеера в MPRIS"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Музыкальный плеер"
|
msgstr "Музыкальный плеер"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Свои скрипты"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Редактировать скрипты"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr "Монитор котировок"
|
msgstr "Монитор котировок"
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-07-31 22:23+0300\n"
|
"PO-Revision-Date: 2015-07-31 22:23+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Ukrainian <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Ukrainian <kde-russian@lists.kde.ru>\n"
|
||||||
@ -146,12 +146,6 @@ msgstr "Оберіть шрифт"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr "Шлях до ICPI"
|
msgstr "Шлях до ICPI"
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr "Свої скрипти"
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr "Редагувати скрипти"
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "Пристій GPU"
|
msgstr "Пристій GPU"
|
||||||
|
|
||||||
@ -173,6 +167,15 @@ msgstr "Ім’я плеєру в MPRIS"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "Музичний плеєр"
|
msgstr "Музичний плеєр"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr "Свої скрипти"
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr "Редагувати скрипти"
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr "Монітор котирувань"
|
msgstr "Монітор котирувань"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
|
||||||
"POT-Creation-Date: 2015-08-31 21:39+0300\n"
|
"POT-Creation-Date: 2015-09-02 00:03+0300\n"
|
||||||
"PO-Revision-Date: 2015-07-31 22:24+0300\n"
|
"PO-Revision-Date: 2015-07-31 22:24+0300\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||||
@ -146,12 +146,6 @@ msgstr "选择字体"
|
|||||||
msgid "ACPI path"
|
msgid "ACPI path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Custom scripts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Edit scripts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "GPU device"
|
msgid "GPU device"
|
||||||
msgstr "GPU 设备"
|
msgstr "GPU 设备"
|
||||||
|
|
||||||
@ -173,6 +167,15 @@ msgstr "MPRIS 播放器名"
|
|||||||
msgid "Music player"
|
msgid "Music player"
|
||||||
msgstr "音乐播放器"
|
msgstr "音乐播放器"
|
||||||
|
|
||||||
|
msgid "Player data symbols"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Custom scripts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit scripts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quotes monitor"
|
msgid "Quotes monitor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user