Compare commits

...

17 Commits

Author SHA1 Message Date
a3576275cc Release 1.8.1 2014-04-10 12:20:30 +04:00
9c8be61855 Release 1.8.0 2014-04-09 13:07:58 +04:00
3fece265f4 yae translations 2014-04-09 12:36:10 +04:00
cc26873200 updated translations 2014-04-09 12:34:07 +04:00
2ee6949a59 edited dataengine 2014-04-09 12:22:27 +04:00
1a99c0cb3d small refactoring of de 2014-04-09 11:43:33 +04:00
a0e8f373c0 prerelease (w\o translations)
* hope release 1.8.0 will be tomorrow *
2014-04-09 01:22:15 +04:00
f53179330b edited readme 2014-04-09 00:39:58 +04:00
d1a0597b5f fixed ps 2014-04-09 00:26:22 +04:00
1c58b23fa2 added support of package managers and ps 2014-04-09 00:24:06 +04:00
4c442a7e73 at the end of work on ext-sysmon-1.8.0 2014-04-08 22:47:03 +04:00
3bfeabe537 refactoring of de 2014-04-08 21:25:40 +04:00
cd99f059ff added tags $hddmb, $hddgb 2014-04-07 21:19:32 +04:00
45de9145fb added todo list 2014-04-07 16:34:40 +04:00
21418cdd18 edited changelog 2014-04-07 12:15:16 +04:00
cc1d062fd9 added scrollbar
added AC configuration
2014-04-07 12:13:36 +04:00
c9fd746cd0 fix f*cking formats again 2014-04-07 03:53:31 +04:00
23 changed files with 4455 additions and 3239 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
sources/build
sources/usr
*-src.tar.xz
*src.tar.xz
*src.tar.gz

View File

@ -1,3 +1,14 @@
Ver.1.8.1:
* change pkg update time to hour
Ver.1.8.0:
+ added scrollbar to configuration interface
+ added AC lines configuration
+ added $hddmbN, %hddgbN tags
+ added support of ps ($ps, $pscount, $pstotal tags)
+ added support of package managers ($pkgcountN tags)
* refactoring of DataEngine
Ver.1.7.4:
+ added support more than 10 tags in cpu, cpuclock, hdd, hddtemp, temp labels
- format bug fixes

View File

@ -1,3 +1,14 @@
Вер.1.8.1:
* поле pkg теперь обновляется раз в час
Вер.1.8.0:
+ добавлены скроллбары в конфигурационный интерфейс
+ добавлена настройка значений AC
+ добавлены теги $hddmbN, $hddgbN
+ добавлена поддержка ps (теги $ps, $pscount, $pstotal)
+ добавлена поддержка пакетных менеджеров (теги $pkgcountN)
* рефакторинг DataEngine
Вер.1.7.4:
+ добавлена поддержка более чем 10 тэгов в полях cpu, cpuclock, hdd, hddtemp, temp
- фиксы в форматах

View File

@ -2,7 +2,7 @@
pkgname=kdeplasma-applets-pytextmonitor
_pkgname=pytextmonitor
pkgver=1.7.4
pkgver=1.8.1
pkgrel=1
pkgdesc="Minimalistic Plasmoid script written on Python2. It looks like widgets in Awesome WM"
arch=('i686' 'x86_64')
@ -20,7 +20,7 @@ optdepends=("amarok: for music player monitor"
makedepends=('automoc4' 'cmake')
source=(https://github.com/arcan1s/pytextmonitor/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz)
install=${pkgname}.install
md5sums=('a820a3f9d676e1b05c13839d36df4a9d')
md5sums=('de872b28c48b9b4903dcfa50158595dc')
backup=('usr/share/config/extsysmon.conf')
prepare() {

View File

@ -42,6 +42,10 @@ For edited output you must open Settings window and setup output format in lines
* tag `$progress` - current song progress. One of supported music players must be installed
* tag `$time` - current song duration. One of supported music players must be installed
* tag `$title` - current song title. One of supported music players must be installed
* tag `$pscount` - number of running processes
* tag `$pstotal` - total number of processes
* tag `$ps` - list of running processes
* tag `$pkgcountN` - number of packages, which available to upgrade for command N. For example, `$pkgcount0`
* tag `$custom` - returns output for custom command
Label order will changed if you change slider position. HTML tags in label work normally.
@ -102,6 +106,14 @@ Use specified device as active. Combo box items come from **network directory**.
File with battery information. File (`/sys/class/power_supply/BAT0/capacity` by default) should contain only battery charge in percent.
**AC online tag**
Line which will be shown when AC is online.
**AC offline tag**
Line which will be shown when AC is offline.
**AC device**
File with AC information. File (`/sys/class/power_supply/AC/online` by default) must contain `1` if AC is online.
@ -116,6 +128,12 @@ Since version 1.7.0 CPU, CPU clock, memory, swap and network labels support grap
DataEngine settings
-------------------
**Custom command**
*NOTE* This can cause the computer freeze.
A command, which will be run for custom label.
**GPU device**
Select one of supported GPU devices. `auto` will enable auto selection. Default is `auto`.
@ -132,11 +150,16 @@ Address of MPD server. Default is `localhost`.
Port of MPD server. Default is `6600`.
**Custom command**
**Package manager**
*NOTE* This can cause the computer freeze.
List of commands, which will be run. Number of null lines is a number of unneeded lines. Defaults:
* *Arch*: `PKGCMD=pacman -Qu`, `PKGNULL=0`
* *Debian*: `PKGCMD=apt-show-versions -u -b`, `PKGNULL=0`
* *Ubuntu*: `PKGCMD=aptitude search '~U'`, `PKGNULL=0`
* *Fedora*: `PKGCMD=yum list updates`, `PKGNULL=3`
* *FreeBSD*: `PKGCMD=pkg_version -I -l '<'`, `PKGNULL=0`
* *Mandriva*: `PKGCMD=urpmq --auto-select`, `PKGNULL=0`
A command, which will be run for custom label.
DataEngine configuration
------------------------
@ -182,6 +205,9 @@ Installation
Additional information
======================
TODO (wish list)
----------------
Links
-----
* [Homepage](http://arcanis.name/projects/pytextmonitor/)

View File

@ -1,7 +1,7 @@
#!/bin/bash
# update english readme
cp readme/en.md README.md
cp README.md readme/en.md
SRCDIR="sources"
VERSION=$(grep -m1 PROJECT_VERSION_MAJOR sources/CMakeLists.txt | awk '{print $3}' | cut -c 1).\

View File

@ -42,6 +42,10 @@ For edited output you must open Settings window and setup output format in lines
* tag `$progress` - current song progress. One of supported music players must be installed
* tag `$time` - current song duration. One of supported music players must be installed
* tag `$title` - current song title. One of supported music players must be installed
* tag `$pscount` - number of running processes
* tag `$pstotal` - total number of processes
* tag `$ps` - list of running processes
* tag `$pkgcountN` - number of packages, which available to upgrade for command N. For example, `$pkgcount0`
* tag `$custom` - returns output for custom command
Label order will changed if you change slider position. HTML tags in label work normally.
@ -102,6 +106,14 @@ Use specified device as active. Combo box items come from **network directory**.
File with battery information. File (`/sys/class/power_supply/BAT0/capacity` by default) should contain only battery charge in percent.
**AC online tag**
Line which will be shown when AC is online.
**AC offline tag**
Line which will be shown when AC is offline.
**AC device**
File with AC information. File (`/sys/class/power_supply/AC/online` by default) must contain `1` if AC is online.
@ -116,6 +128,12 @@ Since version 1.7.0 CPU, CPU clock, memory, swap and network labels support grap
DataEngine settings
-------------------
**Custom command**
*NOTE* This can cause the computer freeze.
A command, which will be run for custom label.
**GPU device**
Select one of supported GPU devices. `auto` will enable auto selection. Default is `auto`.
@ -132,11 +150,16 @@ Address of MPD server. Default is `localhost`.
Port of MPD server. Default is `6600`.
**Custom command**
**Package manager**
*NOTE* This can cause the computer freeze.
List of commands, which will be run. Number of null lines is a number of unneeded lines. Defaults:
* *Arch*: `PKGCMD=pacman -Qu`, `PKGNULL=0`
* *Debian*: `PKGCMD=apt-show-versions -u -b`, `PKGNULL=0`
* *Ubuntu*: `PKGCMD=aptitude search '~U'`, `PKGNULL=0`
* *Fedora*: `PKGCMD=yum list updates`, `PKGNULL=3`
* *FreeBSD*: `PKGCMD=pkg_version -I -l '<'`, `PKGNULL=0`
* *Mandriva*: `PKGCMD=urpmq --auto-select`, `PKGNULL=0`
A command, which will be run for custom label.
DataEngine configuration
------------------------
@ -182,6 +205,9 @@ Installation
Additional information
======================
TODO (wish list)
----------------
Links
-----
* [Homepage](http://arcanis.name/projects/pytextmonitor/)

View File

@ -8,73 +8,77 @@ PyTextMonitor - минималистичный плазмоид, написан
Настройка
---------
Для редактирования внешнего виде, откройте окно настроек и установите требуемый формат в поля:
* тэг `$time` - время в стандартном формате. Например, *fri Nov 6 04:48:01 2013*
* тэг `$isotime` - время в ISO формате
* тэг `$shorttime` - время в коротком формате
* тэг `$longtime` - время в длинном формате
* тэг `$custom` - свой формат времени
* тэг `$uptime` - время работы, *---d--h--m*
* тэг `$custom` - свой формат аптайма
* тэг `$cpu` - общая загрузка CPU, *%*
* тэг `$cpuN` - загрузка CPU для ядра N, *%*
* тэг `$cpucl` - средняя частота CPU, *MHz*
* тэг `$cpuclN` - частота CPU для ядра N, *MHz
* тэг `$tempN` - температура для устройства N. Например, `$temp0`
* тэг `$gpu` - использование GPU, *%*. `aticonfig` или `nvidia-smi` должны быть установлены
* тэг `$gputemp` - температура GPU. `aticonfig` или `nvidia-smi` должны быть установлены
* тэг `$mem` - использование RAM, *%*
* тэг `$memmb` - использование RAM, *MB*
* тэг `$memgb` - использование RAM, *GB*
* тэг `$swap` - swap, *%*
* тэг `$swapmb` - swap, *MB*
* тэг `$swapgb` - swap, *GB*
* тэг `$hddN` - использование точки монтирования N, *%*. Например, `$hdd0`
* тэг `$hddtempN` - температура HDD N. Например, `$hddtemp0`
* тэг `$down` - скорость загрузки, *KB/s*
* тэг `$up` - скорость отдачи, *KB/s*
* тэг `$netdev` - текущий сетевой интерфейс
* тэг `$bat` - заряд батареи, *%*
* тэг `$ac` - статус адаптора питания. Возвращает (\*), если AC подключен или *( )*, если нет
* тэг `$album` - альбом. Один из поддерживаемых плееров должен быть установлен
* тэг `$artist` - исполнитель. Один из поддерживаемых плееров должен быть установлен
* тэг `$progress` - прогресс. Один из поддерживаемых плееров должен быть установлен
* тэг `$time` - длительность. Один из поддерживаемых плееров должен быть установлен
* тэг `$title` - название. Один из поддерживаемых плееров должен быть установлен
* тэг `$custom` - возвращает результат своей команды
* тег `$time` - время в стандартном формате. Например, *fri Nov 6 04:48:01 2013*
* тег `$isotime` - время в ISO формате
* тег `$shorttime` - время в коротком формате
* тег `$longtime` - время в длинном формате
* тег `$custom` - свой формат времени
* тег `$uptime` - время работы, *---d--h--m*
* тег `$custom` - свой формат аптайма
* тег `$cpu` - общая загрузка CPU, *%*
* тег `$cpuN` - загрузка CPU для ядра N, *%*
* тег `$cpucl` - средняя частота CPU, *MHz*
* тег `$cpuclN` - частота CPU для ядра N, *MHz
* тег `$tempN` - температура для устройства N. Например, `$temp0`
* тег `$gpu` - использование GPU, *%*. `aticonfig` или `nvidia-smi` должны быть установлены
* тег `$gputemp` - температура GPU. `aticonfig` или `nvidia-smi` должны быть установлены
* тег `$mem` - использование RAM, *%*
* тег `$memmb` - использование RAM, *MB*
* тег `$memgb` - использование RAM, *GB*
* тег `$swap` - swap, *%*
* тег `$swapmb` - swap, *MB*
* тег `$swapgb` - swap, *GB*
* тег `$hddN` - использование точки монтирования N, *%*. Например, `$hdd0`
* тег `$hddtempN` - температура HDD N. Например, `$hddtemp0`
* тег `$down` - скорость загрузки, *KB/s*
* тег `$up` - скорость отдачи, *KB/s*
* тег `$netdev` - текущий сетевой интерфейс
* тег `$bat` - заряд батареи, *%*
* тег `$ac` - статус адаптора питания. Возвращает (\*), если AC подключен или *( )*, если нет
* тег `$album` - альбом. Один из поддерживаемых плееров должен быть установлен
* тег `$artist` - исполнитель. Один из поддерживаемых плееров должен быть установлен
* тег `$progress` - прогресс. Один из поддерживаемых плееров должен быть установлен
* тег `$time` - длительность. Один из поддерживаемых плееров должен быть установлен
* тег `$title` - название. Один из поддерживаемых плееров должен быть установлен
* тег `$pscount` - число запущенных процессов
* тег `$pstotal` - общее число процессов
* тег `$ps` - список процессов
* тег `$pkgcountN` - число пакетов, которые могут быть обновлены, для команды N. Например, `$pkgcount0`
* тег `$custom` - возвращает результат своей команды
Порядок полей изменится, если вы измените позицию слайдеров. HTML тэги в полях работают корректно.
Порядок полей изменится, если вы измените позицию слайдеров. HTML теги в полях работают корректно.
**ЗАМЕЧАНИЕ** вы не можете установить тэг `$cpu`, например, в поле swap. **`$cpu` будет работать только в поле CPU**.
**ЗАМЕЧАНИЕ** вы не можете установить тег `$cpu`, например, в поле swap. **`$cpu` будет работать только в поле CPU**.
Расширенные настройки
---------------------
**Свой формат времени**
* тэг `$dddd` - день недели в длинном формате
* тэг `$ddd` - день недели в коротком формате
* тэг `$dd` - день
* тэг `$d` - день без нуля
* тэг `$MMMM` - месяц в длинном формате
* тэг `$MMM` - месяц в коротком формате
* тэг `$MM` - месяц
* тэг `$M` - месяц без нуля
* тэг `$yyyy` - год
* тэг `$yy` - год в коротком формате
* тэг `$hh` - часы
* тэг `$h` - часы без нуля
* тэг `$mm` - минуты
* тэг `$m` - минуты без нуля
* тэг `$ss` - секунды
* тэг `$s` - секунды без нуля
* тег `$dddd` - день недели в длинном формате
* тег `$ddd` - день недели в коротком формате
* тег `$dd` - день
* тег `$d` - день без нуля
* тег `$MMMM` - месяц в длинном формате
* тег `$MMM` - месяц в коротком формате
* тег `$MM` - месяц
* тег `$M` - месяц без нуля
* тег `$yyyy` - год
* тег `$yy` - год в коротком формате
* тег `$hh` - часы
* тег `$h` - часы без нуля
* тег `$mm` - минуты
* тег `$m` - минуты без нуля
* тег `$ss` - секунды
* тег `$s` - секунды без нуля
**Свой формат аптайма**
* тэг `$dd` - дни аптайма
* тэг `$d` - дни аптайма без нуля
* тэг `$hh` - часы аптайма
* тэг `$h` - часы аптайма без нуля
* тэг `$mm` - минуты аптайма
* тэг `$m` - минуты аптайма без нуля
* тег `$dd` - дни аптайма
* тег `$d` - дни аптайма без нуля
* тег `$hh` - часы аптайма
* тег `$h` - часы аптайма без нуля
* тег `$mm` - минуты аптайма
* тег `$m` - минуты аптайма без нуля
**Датчики температуры**
@ -100,6 +104,14 @@ PyTextMonitor - минималистичный плазмоид, написан
Файл с информацией о батарее. Данный файл (`/sys/class/power_supply/BAT0/capacity` по умолчанию) должен содержать только заряд батареи в процентах.
**AC online тег**
Строка, которая будет показана, когда AC онлайн.
**AC offline тег**
Строка, которая будет показана, когда AC оффлайн.
**Устройство AC**
Файл с информацией об адапторе питания. Данный файл (`/sys/class/power_supply/AC/online` по умолчанию) должен содержать `1`, если адаптор подключен.
@ -114,6 +126,12 @@ PyTextMonitor - минималистичный плазмоид, написан
Настройки DataEngine
--------------------
**Своя команда**
*ЗАМЕЧАНИЕ* Может вызвать зависание компьютера.
Команда, которая будет запущена для соответствующего поля.
**Устройство GPU**
Выберете одно из поддерживаемых устройств GPU. `auto` включит автоматическое определение. По умолчанию `auto`.
@ -130,11 +148,15 @@ PyTextMonitor - минималистичный плазмоид, написан
Порт MPD сервера. По умолчанию `6600`.
**Своя команда**
**Package manager**
*ЗАМЕЧАНИЕ* Может вызвать зависание компьютера.
Команда, которая будет запущена для соответствующего поля.
Список команд, которые будут запущены. Число пустых строк - число ненужных для подсчета строк. Стандартные настройки:
* *Arch*: `PKGCMD=pacman -Qu`, `PKGNULL=0`
* *Debian*: `PKGCMD=apt-show-versions -u -b`, `PKGNULL=0`
* *Ubuntu*: `PKGCMD=aptitude search '~U'`, `PKGNULL=0`
* *Fedora*: `PKGCMD=yum list updates`, `PKGNULL=3`
* *FreeBSD*: `PKGCMD=pkg_version -I -l '<'`, `PKGNULL=0`
* *Mandriva*: `PKGCMD=urpmq --auto-select`, `PKGNULL=0`
Настройка DataEngine
--------------------
@ -180,6 +202,9 @@ PyTextMonitor - минималистичный плазмоид, написан
Дополнительная информация
=========================
TODO (wish list)
----------------
Ссылки
------
* [Домашняя страница](http://arcanis.name/projects/pytextmonitor/)

View File

@ -7,8 +7,8 @@ cmake_policy (SET CMP0015 NEW)
project (pytextmonitor)
set (PROJECT_VERSION_MAJOR 1)
set (PROJECT_VERSION_MINOR 7)
set (PROJECT_VERSION_PATCH 4)
set (PROJECT_VERSION_MINOR 8)
set (PROJECT_VERSION_PATCH 1)
set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
message (STATUS "Version: ${PROJECT_VERSION}")

View File

@ -1,6 +1,9 @@
# Configuration file for Extended Systemmonitor DataEngine
# Uncomment needed lines
# Custom command
#CUSTOM=wget -qO- http://ifconfig.me/ip
# Set GPU device
# May be 'nvidia' (for nvidia), 'ati' (for ATI RADEON), 'ignore' or 'auto'
#GPUDEV=auto
@ -12,5 +15,15 @@
#MPDADDRESS=localhost
#MPDPORT=6600
# Custom command
#CUSTOM=wget -qO- http://ifconfig.me/ip
# Package upgrade info
## from vicious
## Arch: PKGCMD=pacman -Qu PKGNULL=0
## Debian: PKGCMD=apt-show-versions -u -b PKGNULL=0
## Ubuntu: PKGCMD=aptitude search '~U' PKGNULL=0
## Fedora: PKGCMD=yum list updates PKGNULL=3
## FreeBSD: PKGCMD=pkg_version -I -l '<' PKGNULL=0
## Mandriva: PKGCMD=urpmq --auto-select PKGNULL=0
# Commands to run, comma separated
#PKGCMD=pacman -Qu
# Number of null lines for commands, comma separated
#PKGNULL=0

View File

@ -19,354 +19,468 @@
#include "extsysmon.h"
#include <Plasma/DataContainer>
#include <KDE/KGlobal>
#include <KDE/KStandardDirs>
#include <QFile>
#include <QProcess>
#include <QTextCodec>
#include <stdio.h>
#include <stdlib.h>
ExtendedSysMon::ExtendedSysMon(QObject* parent, const QVariantList& args)
: Plasma::DataEngine(parent, args)
: Plasma::DataEngine(parent, args)
{
Q_UNUSED(args)
Q_UNUSED(args)
setMinimumPollingInterval(333);
readConfiguration();
setMinimumPollingInterval(333);
readConfiguration();
}
QString ExtendedSysMon::getAllHdd()
{
QProcess command;
QStringList devices;
QString qoutput = QString("");
QString dev;
command.start("find /dev -name [hs]d[a-z]");
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
dev = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i];
devices.append(dev);
}
return devices.join(QChar(','));
}
QString ExtendedSysMon::getAutoGpu()
{
QProcess command;
QString gpu = QString("");
QString qoutput = QString("");
command.start("lspci");
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
if (qoutput.toLower().contains("nvidia"))
gpu = QString("nvidia");
else if (qoutput.toLower().contains("radeon"))
gpu = QString("ati");
return gpu;
}
QStringList ExtendedSysMon::sources() const
{
QStringList source;
source.append(QString("gpu"));
source.append(QString("gputemp"));
source.append(QString("hddtemp"));
source.append(QString("player"));
source.append(QString("custom"));
return source;
QStringList source;
source.append(QString("custom"));
source.append(QString("gpu"));
source.append(QString("gputemp"));
source.append(QString("hddtemp"));
source.append(QString("pkg"));
source.append(QString("player"));
source.append(QString("ps"));
return source;
}
bool ExtendedSysMon::readConfiguration()
void ExtendedSysMon::readConfiguration()
{
// pre-setup
FILE *f_out;
f_out = popen("lspci 2> /dev/null", "r");
char device[256];
QString dev;
while (fgets(device, 256, f_out) != NULL) {
dev = QString(device);
if (dev.toLower().contains("nvidia"))
gpuDev = QString("nvidia");
else if (dev.toLower().contains("radeon"))
gpuDev = QString("ati");
}
pclose(f_out);
f_out = popen("ls -1 /dev/sd[a-z] 2> /dev/null ; ls -1 /dev/hd[a-z] 2> /dev/null", "r");
while (fgets(device, 256, f_out) != NULL) {
dev = QString(device).split("\n")[0];
if (dev[0] == '/')
hddDev.append(dev);
}
pclose(f_out);
mpdAddress = QString("localhost");
mpdPort = QString("6600");
customCommand = QString("wget -qO- http://ifconfig.me/ip");
QString fileStr;
// FIXME: define configuration file
QString confFileName = QString(getenv("HOME")) + QString("/.kde4/share/config/extsysmon.conf");
QFile confFile(confFileName);
bool exists = confFile.open(QIODevice::ReadOnly);
if (!exists) {
confFileName = QString("/usr/share/config/extsysmon.conf");
confFile.setFileName(confFileName);
exists = confFile.open(QIODevice::ReadOnly);
if (!exists)
return false;
}
while (true) {
fileStr = QString(confFile.readLine());
if (fileStr[0] != '#') {
if (fileStr.split(QString("="), QString::SkipEmptyParts).count() == 2) {
if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("GPUDEV")) {
if (fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed() == QString("ati"))
gpuDev = fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed();
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed() == QString("nvidia"))
gpuDev = fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed();
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed() != QString("auto"))
gpuDev = QString("ignore");
}
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("HDDDEV")) {
if (fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed() != QString("all")) {
hddDev.clear();
for (int i=0; i<fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), \
QString::SkipEmptyParts)[0].split(QString(","), QString::SkipEmptyParts).count(); i++)
hddDev.append(fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), \
QString::SkipEmptyParts)[0].split(QString(","), QString::SkipEmptyParts)[i]);
}
}
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("MPDADDRESS"))
mpdAddress = fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed();
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("MPDPORT"))
mpdPort = fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed();
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("CUSTOM"))
customCommand = fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed();
}
// pre-setup
QMap<QString, QString> rawConfig;
rawConfig[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip");
rawConfig[QString("GPUDEV")] = QString("auto");
rawConfig[QString("HDDDEV")] = QString("all");
rawConfig[QString("MPDADDRESS")] = QString("localhost");
rawConfig[QString("MPDPORT")] = QString("6600");
rawConfig[QString("PKGCMD")] = QString("pacman -Qu");
rawConfig[QString("PKGNULL")] = QString("0");
QString fileName = KGlobal::dirs()->findResource("config", "extsysmon.conf");
QFile confFile(fileName);
bool ok = confFile.open(QIODevice::ReadOnly);
if (!ok) {
configuration = updateConfiguration(rawConfig);
return;
}
if (confFile.atEnd())
break;
}
confFile.close();
return true;
QString fileStr;
QStringList value;
while (true) {
fileStr = QString(confFile.readLine()).trimmed();
if (fileStr[0] == QChar('#')) continue;
if (fileStr[0] == QChar(';')) continue;
if (fileStr.contains(QChar('='))) {
value.clear();
for (int i=1; i<fileStr.split(QChar('=')).count(); i++)
value.append(fileStr.split(QChar('='))[i]);
rawConfig[fileStr.split(QChar('='))[0]] = value.join(QChar('='));
}
if (confFile.atEnd())
break;
}
confFile.close();
configuration = updateConfiguration(rawConfig);
return;
}
QMap<QString, QString> ExtendedSysMon::updateConfiguration(const QMap<QString, QString> rawConfig)
{
QMap<QString, QString> config;
QString key, value;
// remove spaces and copy source map
for (int i=0; i<rawConfig.keys().count(); i++) {
key = rawConfig.keys()[i];
value = rawConfig[key];
key.remove(QChar(' '));
if ((key != QString("CUSTOM")) && (key != QString("PKGCMD")))
value.remove(QChar(' '));
config[key] = value;
}
// update values
if (config[QString("GPUDEV")] == QString("auto"))
config[QString("GPUDEV")] = getAutoGpu();
if (config[QString("HDDDEV")] == QString("all"))
config[QString("HDDDEV")] = getAllHdd();
for (int i=config[QString("PKGNULL")].split(QString(","), QString::SkipEmptyParts).count();
i<config[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts).count()+1;
i++)
config[QString("PKGNULL")] += QString(",0");
return config;
}
QString ExtendedSysMon::getCustomCmd(const QString cmd)
{
QProcess command;
QString qoutput = QString("");
command.start(QString("bash -c \"") + cmd + QString("\""));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed();
return qoutput;
}
float ExtendedSysMon::getGpu(const QString device)
{
float gpu = 0.0;
if ((device != QString("nvidia")) && (device != QString("ati")))
return gpu;
QProcess command;
QString qoutput;
if (device == QString("nvidia")) {
command.start(QString("nvidia-smi -q -d UTILIZATION"));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i].contains(QString("Gpu"))) {
QString load = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i]
.split(QChar(' '), QString::SkipEmptyParts)[2]
.remove(QChar('%'));
gpu = load.toFloat();
}
}
}
else if (device == QString("ati")) {
command.start(QString("aticonfig --od-getclocks"));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i].contains(QString("load"))) {
QString load = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i]
.split(QChar(' '), QString::SkipEmptyParts)[3]
.remove(QChar('%'));
gpu = load.toFloat();
}
}
}
return gpu;
}
float ExtendedSysMon::getGpuTemp(const QString device)
{
float gpuTemp = 0.0;
if ((device != QString("nvidia")) && (device != QString("ati")))
return gpuTemp;
QProcess command;
QString qoutput;
if (device == QString("nvidia")) {
command.start(QString("nvidia-smi -q -d TEMPERATURE"));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i].contains(QString("Gpu"))) {
QString temp = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i]
.split(QChar(' '), QString::SkipEmptyParts)[2];
gpuTemp = temp.toFloat();
}
}
}
else if (device == QString("ati")) {
command.start(QString("aticonfig --od-gettemperature"));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i].contains(QString("Temperature"))) {
QString temp = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i]
.split(QChar(' '), QString::SkipEmptyParts)[4];
gpuTemp = temp.toFloat();
}
}
}
return gpuTemp;
}
float ExtendedSysMon::getHddTemp(const QString device)
{
float hddTemp = 0.0;
QProcess command;
QString qoutput = QString("");
command.start(QString("sudo hddtemp ") + device);
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed();
if (qoutput.split(QChar(':'), QString::SkipEmptyParts).count() >= 3) {
QString temp = qoutput.split(QChar(':'), QString::SkipEmptyParts)[2];
temp.remove(QChar(0260)).remove(QChar('C'));
hddTemp = temp.toFloat();
}
return hddTemp;
}
QStringList ExtendedSysMon::getPlayerInfo(const QString playerName,
const QString mpdAddress,
const QString mpdPort)
{
QStringList info;
// album
info.append(QString("unknown"));
// artist
info.append(QString("unknown"));
// progress
info.append(QString("0"));
// duration
info.append(QString("0"));
// title
info.append(QString("unknown"));
if ((playerName != QString("amarok")) &&
(playerName != QString("mpd")) &&
(playerName != QString("qmmp")))
return info;
QProcess command;
QString qoutput = QString("");
QString qstr;
if (playerName == QString("amarok")) {
// amarok
command.start("qdbus org.kde.amarok /Player GetMetadata");
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i];
if (qstr.split(QString(": "), QString::SkipEmptyParts).count() > 1) {
if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("album"))
info[0] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("artist"))
info[1] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("time"))
info[3] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("title"))
info[4] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
}
}
command.start("qdbus org.kde.amarok /Player PositionGet");
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i];
int time = qstr.toInt() / 1000;
info[2] = QString::number(time);
}
}
else if (playerName == QString("mpd")) {
// mpd
command.start(QString("bash -c \"echo 'currentsong\nstatus\nclose' | curl --connect-timeout 1 -fsm 3 telnet://") +
mpdAddress + QString(":") + mpdPort + QString("\""));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i];
if (qstr.split(QString(": "), QString::SkipEmptyParts).count() > 1) {
if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Album"))
info[0] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Artist"))
info[1] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("time")) {
info[3] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[0];
info[2] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[1];
}
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Title"))
info[4] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
}
}
}
else if (playerName == QString("qmmp")) {
// qmmp
command.start("qmmp --status");
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i];
if ((qstr.split(QString(" = "), QString::SkipEmptyParts).count() > 1) || (qstr.at(0) == QChar('['))) {
if (qstr.split(QString(" = "), QString::SkipEmptyParts)[0] == QString("ALBUM"))
info[0] = qstr.split(QString(" = "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(" = "), QString::SkipEmptyParts)[0] == QString("ARTIST"))
info[1] = qstr.split(QString(" = "), QString::SkipEmptyParts)[1].trimmed();
else if ((qstr.at(0) == QChar('[')) && (!qstr.contains("[stopped]"))) {
QString time = qstr.split(QString(" "), QString::SkipEmptyParts)[2].trimmed();
info[2] = QString::number(time.split(QString("/"), QString::SkipEmptyParts)[0].split(QString(":"), QString::SkipEmptyParts)[0].toInt() * 60 +
time.split(QString("/"), QString::SkipEmptyParts)[0].split(QString(":"), QString::SkipEmptyParts)[1].toInt());
info[3] = QString::number(time.split(QString("/"), QString::SkipEmptyParts)[1].split(QString(":"), QString::SkipEmptyParts)[0].toInt() * 60 +
time.split(QString("/"), QString::SkipEmptyParts)[1].split(QString(":"), QString::SkipEmptyParts)[1].toInt());
}
else if (qstr.split(QString(" = "), QString::SkipEmptyParts)[0] == QString("TITLE"))
info[4] = qstr.split(QString(" = "), QString::SkipEmptyParts)[1].trimmed();
}
}
}
return info;
}
QStringList ExtendedSysMon::getPsStats()
{
int psCount = 0;
QStringList psList;
QProcess command;
QString qoutput = QString("");
command.start(QString("ps --no-headers -o command"));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed();
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++)
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i] != QString("ps --no-headers -o command")) {
psCount++;
psList.append(qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i]);
}
QStringList psStats;
psStats.append(QString::number(psCount));
psStats.append(psList.join(QString(",")));
command.start(QString("ps -e --no-headers -o command"));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed();
int psTotal = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count();
psStats.append(QString::number(psTotal));
return psStats;
}
int ExtendedSysMon::getUpgradeInfo(const QString pkgCommand, const int pkgNull)
{
int count = 0;
QProcess command;
QString qoutput = QString("");
command.start(QString("bash -c \"") + pkgCommand + QString("\""));
command.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed();
count = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count();
return (count - pkgNull);
}
bool ExtendedSysMon::sourceRequestEvent(const QString &name)
{
return updateSourceEvent(name);
return updateSourceEvent(name);
}
bool ExtendedSysMon::updateSourceEvent(const QString &source)
{
FILE *f_out;
QString key, out, tmp_out, value;
bool ok = false;
char output[256], val[5];
if (source == QString("gpu")) {
key = QString("GPU");
if (gpuDev == QString("nvidia")) {
f_out = popen("nvidia-smi -q -d UTILIZATION 2> /dev/null | grep Gpu | tail -n1", "r");
fgets (output, 256, f_out);
if ((output[0] == '\0') ||
(QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 2))
value = QString(" N\\A");
else {
out = QString(output).split(QString(" "), QString::SkipEmptyParts)[2];
sprintf (val, "%5.1f", out.left(out.count()-2).toFloat(&ok));
value = QString(val);
}
pclose(f_out);
}
else if (gpuDev == QString("ati")) {
f_out = popen("aticonfig --od-getclocks 2> /dev/null | grep load | tail -n1", "r");
fgets (output, 256, f_out);
if ((output[0] == '\0') ||
(QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 3))
value = QString(" N\\A");
else {
out = QString(output).split(QString(" "), QString::SkipEmptyParts)[3];
sprintf (val, "%5.1f", out.left(out.count()-2).toFloat(&ok));
value = QString(val);
}
pclose(f_out);
}
else {
value = QString(" N\\A");
}
if (ok == false)
value = QString(" N\\A");
value = value.split(QString(","), QString::SkipEmptyParts).join(QString("."));
setData(source, key, value);
}
else if (source == QString("gputemp")) {
key = QString("GPUTemp");
if (gpuDev == QString("nvidia")) {
f_out = popen("nvidia-smi -q -d TEMPERATURE 2> /dev/null | grep Gpu | tail -n1", "r");
fgets (output, 256, f_out);
if ((output[0] == '\0') ||
(QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 2))
value = QString(" N\\A");
else {
out = QString(output).split(QString(" "), QString::SkipEmptyParts)[2];
sprintf (val, "%4.1f", out.toFloat(&ok));
value = QString(val);
}
pclose(f_out);
}
else if (gpuDev == QString("ati")) {
f_out = popen("aticonfig --od-gettemperature 2> /dev/null | grep Temperature | tail -n1", "r");
fgets (output, 256, f_out);
if ((output[0] == '\0') ||
(QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 4))
value = QString(" N\\A");
else {
out = QString(output).split(QString(" "), QString::SkipEmptyParts)[4];
sprintf (val, "%4.1f", out.toFloat(&ok));
value = QString(val);
}
pclose(f_out);
}
else {
value = QString(" N\\A");
}
if (ok == false)
value = QString(" N\\A");
value = value.split(QString(","), QString::SkipEmptyParts).join(QString("."));
setData(source, key, value);
}
else if (source == QString("hddtemp")) {
char command[256], *dev;
QByteArray qb;
for (int i=0; i<hddDev.count(); i++) {
qb = hddDev[i].toUtf8();
dev = qb.data();
sprintf(command, "sudo hddtemp %s 2> /dev/null", dev);
f_out = popen(command, "r");
fgets(output, 256, f_out);
if ((output[0] == '\0') ||
(QString(output).split(QString(":"), QString::SkipEmptyParts).count() < 3))
value = QString(" N\\A");
else {
out = QString(output).split(QString(":"), QString::SkipEmptyParts)[2];
sprintf (val, "%4.1f", out.left(out.count()-4).toFloat(&ok));
value = QString(val);
}
pclose(f_out);
if (ok == false)
value = QString(" N\\A");
value = value.split(QString(","), QString::SkipEmptyParts).join(QString("."));
setData(source, hddDev[i], value);
}
}
else if (source == QString("player")) {
QProcess player;
QString qoutput;
QString value_album, value_artist, value_progress, value_duration, qstr;
// qmmp
qoutput = QString("");
value = QString("N\\A");
value_album = QString("N\\A");
value_artist = QString("N\\A");
value_progress = QString("0");
value_duration = QString("0");
player.start("qmmp --status");
player.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(player.readAllStandardOutput());
for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QString("\n"), QString::SkipEmptyParts)[i];
if ((qstr.split(QString(" = "), QString::SkipEmptyParts).count() > 1) || (qstr.at(0) == QChar('['))) {
if (qstr.split(QString(" = "), QString::SkipEmptyParts)[0] == QString("ALBUM"))
value_album = qstr.split(QString(" = "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(" = "), QString::SkipEmptyParts)[0] == QString("ARTIST"))
value_artist = qstr.split(QString(" = "), QString::SkipEmptyParts)[1].trimmed();
else if ((qstr.at(0) == QChar('[')) && (!qstr.contains("[stopped]"))) {
QString time = qstr.split(QString(" "), QString::SkipEmptyParts)[2].trimmed();
value_progress = QString::number(time.split(QString("/"), QString::SkipEmptyParts)[0].split(QString(":"), QString::SkipEmptyParts)[0].toInt() * 60 +
time.split(QString("/"), QString::SkipEmptyParts)[0].split(QString(":"), QString::SkipEmptyParts)[1].toInt());
value_duration = QString::number(time.split(QString("/"), QString::SkipEmptyParts)[1].split(QString(":"), QString::SkipEmptyParts)[0].toInt() * 60 +
time.split(QString("/"), QString::SkipEmptyParts)[1].split(QString(":"), QString::SkipEmptyParts)[1].toInt());
QString key;
if (source == QString("custom")) {
key = QString("custom");
QString value = getCustomCmd(configuration[QString("CUSTOM")]);
setData(source, key, value);
}
else if (qstr.split(QString(" = "), QString::SkipEmptyParts)[0] == QString("TITLE"))
value = qstr.split(QString(" = "), QString::SkipEmptyParts)[1].trimmed();
}
else if (source == QString("gpu")) {
key = QString("GPU");
float value = getGpu(configuration[QString("GPUDEV")]);
setData(source, key, value);
}
key = QString("qmmp_album");
setData(source, key, value_album);
key = QString("qmmp_artist");
setData(source, key, value_artist);
key = QString("qmmp_progress");
setData(source, key, value_progress);
key = QString("qmmp_duration");
setData(source, key, value_duration);
key = QString("qmmp_title");
setData(source, key, value);
// amarok
qoutput = QString("");
value = QString("N\\A");
value_album = QString("N\\A");
value_artist = QString("N\\A");
value_progress = QString("0");
value_duration = QString("0");
player.start("qdbus org.kde.amarok /Player GetMetadata");
player.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(player.readAllStandardOutput());
for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QString("\n"), QString::SkipEmptyParts)[i];
if (qstr.split(QString(": "), QString::SkipEmptyParts).count() > 1) {
if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("album"))
value_album = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("artist"))
value_artist = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("time"))
value_duration = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("title"))
value = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
}
else if (source == QString("gputemp")) {
key = QString("GPUTemp");
float value = getGpuTemp(configuration[QString("GPUDEV")]);
setData(source, key, value);
}
player.start("qdbus org.kde.amarok /Player PositionGet");
player.waitForFinished(-1);
qoutput = player.readAllStandardOutput();
for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QString("\n"), QString::SkipEmptyParts)[i];
int time = qstr.toInt() / 1000;
value_progress = QString::number(time);
}
key = QString("amarok_album");
setData(source, key, value_album);
key = QString("amarok_artist");
setData(source, key, value_artist);
key = QString("amarok_progress");
setData(source, key, value_progress);
key = QString("amarok_duration");
setData(source, key, value_duration);
key = QString("amarok_title");
setData(source, key, value);
// mpd
value = QString("N\\A");
value_album = QString("N\\A");
value_artist = QString("N\\A");
value_progress = QString("0");
value_duration = QString("0");
char commandStr[512];
sprintf(commandStr, "bash -c \"echo 'currentsong\nstatus\nclose' | curl --connect-timeout 1 -fsm 3 telnet://%s:%s 2> /dev/null\"", \
mpdAddress.toUtf8().data(), mpdPort.toUtf8().data());
qoutput = QString("");
player.start(QString(commandStr));
player.waitForFinished(-1);
qoutput = QTextCodec::codecForMib(106)->toUnicode(player.readAllStandardOutput());
for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) {
qstr = qoutput.split(QString("\n"), QString::SkipEmptyParts)[i];
if (qstr.split(QString(": "), QString::SkipEmptyParts).count() > 1) {
if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Album"))
value_album = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Artist"))
value_artist = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("time")) {
value_duration = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[0];
value_progress = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[1];
else if (source == QString("hddtemp")) {
QStringList deviceList = configuration[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts);
for (int i=0; i<deviceList.count(); i++) {
float value = getHddTemp(deviceList[i]);
setData(source, deviceList[i], value);
}
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Title"))
value = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
}
}
key = QString("mpd_album");
setData(source, key, value_album);
key = QString("mpd_artist");
setData(source, key, value_artist);
key = QString("mpd_progress");
setData(source, key, value_progress);
key = QString("mpd_duration");
setData(source, key, value_duration);
key = QString("mpd_title");
setData(source, key, value);
}
else if (source == QString("custom")) {
QProcess custom;
custom.start(QString("bash -c \"") + QString(customCommand) + QString("\""));
custom.waitForFinished(-1);
value = QTextCodec::codecForMib(106)->toUnicode(custom.readAllStandardOutput()).trimmed();
key = QString("custom");
setData(source, key, value);
}
return true;
else if (source == QString("pkg")) {
for (int i=0; i<configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts).count(); i++) {
key = QString("pkgCount") + QString::number(i);
int value = getUpgradeInfo(configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts)[i],
configuration[QString("PKGNULL")].split(QString(","), QString::SkipEmptyParts)[i].toInt());
setData(source, key, value);
}
}
else if (source == QString("player")) {
QStringList value;
// amarok
value = getPlayerInfo(QString("amarok"));
key = QString("amarok_album");
setData(source, key, value[0]);
key = QString("amarok_artist");
setData(source, key, value[1]);
key = QString("amarok_progress");
setData(source, key, value[2]);
key = QString("amarok_duration");
setData(source, key, value[3]);
key = QString("amarok_title");
setData(source, key, value[4]);
// mpd
value = getPlayerInfo(QString("mpd"),
configuration[QString("MPDADDRESS")],
configuration[QString("MPDPORT")]);
key = QString("mpd_album");
setData(source, key, value[0]);
key = QString("mpd_artist");
setData(source, key, value[1]);
key = QString("mpd_progress");
setData(source, key, value[2]);
key = QString("mpd_duration");
setData(source, key, value[3]);
key = QString("mpd_title");
setData(source, key, value[4]);
// qmmp
value = getPlayerInfo(QString("qmmp"));
key = QString("qmmp_album");
setData(source, key, value[0]);
key = QString("qmmp_artist");
setData(source, key, value[1]);
key = QString("qmmp_progress");
setData(source, key, value[2]);
key = QString("qmmp_duration");
setData(source, key, value[3]);
key = QString("qmmp_title");
setData(source, key, value[4]);
}
else if (source == QString("ps")) {
QStringList value = getPsStats();
key = QString("psCount");
setData(source, key, value[0].toInt());
key = QString("ps");
setData(source, key, value[1]);
key = QString("psTotal");
setData(source, key, value[2].toInt());
}
return true;
}
K_EXPORT_PLASMA_DATAENGINE(extsysmon, ExtendedSysMon)
#include "extsysmon.moc"

View File

@ -22,22 +22,35 @@
class ExtendedSysMon : public Plasma::DataEngine
{
Q_OBJECT
Q_OBJECT
public:
ExtendedSysMon(QObject *parent, const QVariantList &args);
ExtendedSysMon(QObject *parent, const QVariantList &args);
// update functions
QString getCustomCmd(const QString cmd);
float getGpu(const QString device);
float getGpuTemp(const QString device);
float getHddTemp(const QString device);
QStringList getPlayerInfo(const QString playerName,
const QString mpdAddress = 0,
const QString mpdPort = 0);
QStringList getPsStats();
int getUpgradeInfo(const QString pkgCommand,
const int pkgNull = 0);
protected:
bool sourceRequestEvent(const QString &name);
bool updateSourceEvent(const QString &source);
bool readConfiguration();
QStringList sources() const;
// main configuration
QStringList hddDev;
QString gpuDev;
QString mpdAddress;
QString mpdPort;
QString customCommand;
bool sourceRequestEvent(const QString &name);
bool updateSourceEvent(const QString &source);
QStringList sources() const;
private:
// configuration
QMap<QString, QString> configuration;
// reread configuration
QString getAllHdd();
QString getAutoGpu();
void readConfiguration();
QMap<QString, QString> updateConfiguration(const QMap<QString, QString> rawConfig);
};
#endif /* EXTSYSMON_H */

View File

@ -65,6 +65,8 @@ class ConfigDefinition:
settings.set('custom_netdev', str(self.configpage.ui.comboBox_netdev.currentText()))
settings.set('battery_device', str(self.configpage.ui.lineEdit_batdev.text()))
settings.set('ac_device', str(self.configpage.ui.lineEdit_acdev.text()))
settings.set('ac_online', str(self.configpage.ui.lineEdit_acOnline.text()))
settings.set('ac_offline', str(self.configpage.ui.lineEdit_acOffline.text()))
settings.set('player_name', str(self.configpage.ui.comboBox_playerSelect.currentText()))
settings.set('tooltip_num', self.configpage.ui.spinBox_tooltipNum.value())
@ -74,11 +76,25 @@ class ConfigDefinition:
dataengineConfig = unicode(KGlobal.dirs().localkdedir()) + "/share/config/extsysmon.conf"
try:
with open(dataengineConfig, 'w') as deConfigFile:
deConfigFile.write("CUSTOM=" + str(self.configpage.ui.lineEdit_customCommand.text()) + "\n")
deConfigFile.write("GPUDEV=" + str(self.configpage.ui.comboBox_gpudev.currentText()) + "\n")
deConfigFile.write("HDDDEV=" + str(self.configpage.ui.comboBox_hdddev.currentText()) + "\n")
deConfigFile.write("MPDADDRESS=" + str(self.configpage.ui.lineEdit_mpdaddress.text()) + "\n")
deConfigFile.write("MPDPORT=" + str(self.configpage.ui.spinBox_mpdport.value()) + "\n")
deConfigFile.write("CUSTOM=" + str(self.configpage.ui.lineEdit_customCommand.text()) + "\n")
item = QStringList()
for i in range(self.configpage.ui.listWidget_pkgCommand.count()):
item.append(self.configpage.ui.listWidget_pkgCommand.item(i).text())
pkgCmd = []
pkgNull = []
for command in item:
try:
pkgCmd.append(str(command.split(QString(":"))[0]))
pkgNull.append(str(command.split(QString(":"))[1]))
except:
pkgCmd.append(str(command))
pkgNull.append("0")
deConfigFile.write("PKGCMD=" + ','.join(pkgCmd) + "\n")
deConfigFile.write("PKGNULL=" + ','.join(pkgNull) + "\n")
except:
pass
@ -157,6 +173,8 @@ class ConfigDefinition:
self.configpage.ui.comboBox_netdev.setCurrentIndex(index)
self.configpage.ui.lineEdit_batdev.setText(str(settings.get('battery_device', '/sys/class/power_supply/BAT0/capacity')))
self.configpage.ui.lineEdit_acdev.setText(str(settings.get('ac_device', '/sys/class/power_supply/AC/online')))
self.configpage.ui.lineEdit_acOnline.setText(str(settings.get('ac_online', '(*)')))
self.configpage.ui.lineEdit_acOffline.setText(str(settings.get('ac_offline', '( )')))
index = self.configpage.ui.comboBox_playerSelect.findText(str(settings.get('player_name', "amarok")))
self.configpage.ui.comboBox_playerSelect.setCurrentIndex(index)
@ -168,8 +186,8 @@ class ConfigDefinition:
self.configpage.ui.kcolorcombo_down.setColor(QColor(str(settings.get('down_color', '#00ffff'))))
self.configpage.ui.kcolorcombo_up.setColor(QColor(str(settings.get('up_color', '#ff00ff'))))
deSettings = {'GPUDEV':'auto', 'HDDDEV':'all', 'MPDADDRESS':'localhost',
'MPDPORT':'6600', 'CUSTOM':'wget -qO- http://ifconfig.me/ip'}
deSettings = {'CUSTOM':'wget -qO- http://ifconfig.me/ip', 'GPUDEV':'auto', 'HDDDEV':'all',
'MPDADDRESS':'localhost', 'MPDPORT':'6600', 'PKGCMD':'pacman -Qu', 'PKGNULL':'0'}
dataengineConfig = unicode(KGlobal.dirs().localkdedir()) + "/share/config/extsysmon.conf"
try:
with open(dataengineConfig, 'r') as deConfigFile:
@ -178,6 +196,7 @@ class ConfigDefinition:
deSettings[line.split('=')[0]] = line.split('=')[1][:-1]
except:
pass
self.configpage.ui.lineEdit_customCommand.setText(deSettings['CUSTOM'])
index = self.configpage.ui.comboBox_gpudev.findText(deSettings['GPUDEV'])
self.configpage.ui.comboBox_gpudev.setCurrentIndex(index)
self.configpage.ui.comboBox_hdddev.addItem("all")
@ -192,7 +211,13 @@ class ConfigDefinition:
self.configpage.ui.lineEdit_mpdaddress.setText(deSettings['MPDADDRESS'])
self.configpage.ui.spinBox_mpdport.setValue(int(deSettings['MPDPORT']))
self.configpage.ui.spinBox_mpdport.setValue(int(deSettings['MPDPORT']))
self.configpage.ui.lineEdit_customCommand.setText(deSettings['CUSTOM'])
self.configpage.ui.listWidget_pkgCommand.clear()
for i in range(len(deSettings['PKGCMD'].split(','))):
try:
num = deSettings['PKGNULL'].split(',')[i]
except:
num = "0"
self.configpage.ui.listWidget_pkgCommand.addItem(deSettings['PKGCMD'].split(',')[i] + ':' + num)
labelOrder = str(settings.get('label_order', '1345'))
for label in self.defaults['order'].keys():

View File

@ -40,7 +40,8 @@ class ConfigWindow(QWidget):
'hdd':self.ui.checkBox_hdd, 'hddtemp':self.ui.checkBox_hddTemp,
'mem':self.ui.checkBox_mem, 'net':self.ui.checkBox_net,
'swap':self.ui.checkBox_swap, 'temp':self.ui.checkBox_temp,
'uptime':self.ui.checkBox_uptime, 'player':self.ui.checkBox_player,
'uptime':self.ui.checkBox_uptime, 'pkg':self.ui.checkBox_pkg,
'player':self.ui.checkBox_player, 'ps':self.ui.checkBox_ps,
'time':self.ui.checkBox_time}
self.lineedits = {'bat':self.ui.lineEdit_bat, 'cpu':self.ui.lineEdit_cpu,
'cpuclock':self.ui.lineEdit_cpuclock, 'custom':self.ui.lineEdit_custom,
@ -48,7 +49,8 @@ class ConfigWindow(QWidget):
'hdd':self.ui.lineEdit_hdd, 'hddtemp':self.ui.lineEdit_hddTemp,
'mem':self.ui.lineEdit_mem, 'net':self.ui.lineEdit_net,
'swap':self.ui.lineEdit_swap, 'temp':self.ui.lineEdit_temp,
'uptime':self.ui.lineEdit_uptime, 'player':self.ui.lineEdit_player,
'uptime':self.ui.lineEdit_uptime, 'pkg':self.ui.lineEdit_pkg,
'player':self.ui.lineEdit_player, 'ps':self.ui.lineEdit_ps,
'time':self.ui.lineEdit_time}
self.sliders = {'bat':self.ui.slider_bat, 'cpu':self.ui.slider_cpu,
'cpuclock':self.ui.slider_cpuclock, 'custom':self.ui.slider_custom,
@ -56,16 +58,21 @@ class ConfigWindow(QWidget):
'hdd':self.ui.slider_hdd, 'hddtemp':self.ui.slider_hddTemp,
'mem':self.ui.slider_mem, 'net':self.ui.slider_net,
'swap':self.ui.slider_swap, 'temp':self.ui.slider_temp,
'uptime':self.ui.slider_uptime, 'player':self.ui.slider_player,
'uptime':self.ui.slider_uptime, 'pkg':self.ui.slider_pkg,
'player':self.ui.slider_player, 'ps':self.ui.slider_ps,
'time':self.ui.slider_time}
QObject.connect(self.ui.checkBox_netdev, SIGNAL("stateChanged(int)"), self.setNetdevEnabled)
QObject.connect(self.ui.pushButton_hddDevice, SIGNAL("clicked()"), self.addHddDevice)
QObject.connect(self.ui.pushButton_mount, SIGNAL("clicked()"), self.addMount)
QObject.connect(self.ui.pushButton_tempDevice, SIGNAL("clicked()"), self.addTempDevice)
QObject.connect(self.ui.pushButton_pkgCommand, SIGNAL("clicked()"), self.addPkgCommand)
QObject.connect(self.ui.listWidget_hddDevice, SIGNAL("itemActivated(QListWidgetItem*)"), self.ui.listWidget_hddDevice.openPersistentEditor)
QObject.connect(self.ui.listWidget_mount, SIGNAL("itemActivated(QListWidgetItem*)"), self.ui.listWidget_mount.openPersistentEditor)
QObject.connect(self.ui.listWidget_tempDevice, SIGNAL("itemActivated(QListWidgetItem*)"), self.ui.listWidget_tempDevice.openPersistentEditor)
QObject.connect(self.ui.listWidget_pkgCommand, SIGNAL("itemActivated(QListWidgetItem*)"), self.ui.listWidget_pkgCommand.openPersistentEditor)
QObject.connect(self.ui.comboBox_pkgCommand, SIGNAL("currentIndexChanged(int)"), self.updatePkgNullValue)
QObject.connect(self.ui.comboBox_pkgCommand, SIGNAL("editTextChanged(QString)"), self.updatePkgNullValue)
for item in self.sliders.values():
QObject.connect(item, SIGNAL("valueChanged(int)"), self.setSlider)
for item in self.checkboxes.values():
@ -84,6 +91,9 @@ class ConfigWindow(QWidget):
elif (self.ui.listWidget_tempDevice.hasFocus() and
(self.ui.listWidget_tempDevice.currentRow() > -1)):
self.ui.listWidget_tempDevice.takeItem(self.ui.listWidget_tempDevice.currentRow())
elif (self.ui.listWidget_pkgCommand.hasFocus() and
(self.ui.listWidget_pkgCommand.currentRow() > -1)):
self.ui.listWidget_pkgCommand.takeItem(self.ui.listWidget_pkgCommand.currentRow())
def addHddDevice(self):
@ -104,6 +114,29 @@ class ConfigWindow(QWidget):
self.ui.listWidget_tempDevice.addItem(self.ui.comboBox_tempDevice.currentText())
def addPkgCommand(self):
"""function to add package manager command"""
self.ui.listWidget_pkgCommand.clearSelection()
self.ui.listWidget_pkgCommand.addItem(self.ui.comboBox_pkgCommand.currentText() +\
QString(":") + QString.number(self.ui.spinBox_pkgCommandNum.value()))
def updatePkgNullValue(self):
"""function to set default values to PKGNULL spinbox"""
if (self.ui.comboBox_pkgCommand.currentText().contains(QString("pacman -Qu"))):
self.ui.spinBox_pkgCommandNum.setValue(0)
elif (self.ui.comboBox_pkgCommand.currentText().contains(QString("apt-show-versions -u -b"))):
self.ui.spinBox_pkgCommandNum.setValue(0)
elif (self.ui.comboBox_pkgCommand.currentText().contains(QString("aptitude search '~U'"))):
self.ui.spinBox_pkgCommandNum.setValue(0)
elif (self.ui.comboBox_pkgCommand.currentText().contains(QString("yum list updates"))):
self.ui.spinBox_pkgCommandNum.setValue(3)
elif (self.ui.comboBox_pkgCommand.currentText().contains(QString("pkg_version -I -l '<'"))):
self.ui.spinBox_pkgCommandNum.setValue(0)
elif (self.ui.comboBox_pkgCommand.currentText().contains(QString("urpmq --auto-select"))):
self.ui.spinBox_pkgCommandNum.setValue(0)
def setNetdevEnabled(self):
"""function to set enabled netdev"""
if (self.ui.checkBox_netdev.checkState() == 0):

View File

@ -19,6 +19,7 @@
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyKDE4.plasma import Plasma
import datetime
@ -53,6 +54,7 @@ class DataEngine:
if (bools['hdd'] > 0):
for item in names['hdd']:
dataEngines['system'].connectSource("partitions" + item + "/filllevel", self.parent, interval)
dataEngines['system'].connectSource("partitions" + item + "/usedspace", self.parent, interval)
if (bools['hddtemp'] > 0):
dataEngines['ext'].connectSource("hddtemp", self.parent, interval)
if (bools['mem'] > 0):
@ -63,8 +65,12 @@ class DataEngine:
self.updateNetdev = 0
dataEngines['system'].connectSource("network/interfaces/" + names['net'] + "/transmitter/data", self.parent, interval)
dataEngines['system'].connectSource("network/interfaces/" + names['net'] + "/receiver/data", self.parent, interval)
if (bools['pkg'] > 0):
dataEngines['ext'].connectSource("pkg", self.parent, 60*60*1000, Plasma.AlignToHour)
if (bools['player'] > 0):
dataEngines['ext'].connectSource("player", self.parent, interval)
if (bools['ps'] > 0):
dataEngines['ext'].connectSource("ps", self.parent, interval)
if (bools['swap'] > 0):
dataEngines['system'].connectSource("mem/swap/free", self.parent, interval)
dataEngines['system'].connectSource("mem/swap/used", self.parent, interval)
@ -112,22 +118,27 @@ class DataEngine:
updatedData['value'] = value
elif (sourceName == "gpu"):
updatedData['name'] = "gpu"
value = round(data[QString(u'GPU')].toFloat()[0], 1)
value = round(data[QString(u'GPU')], 1)
updatedData['value'] = "%4.1f" % (value)
elif (sourceName == "gputemp"):
updatedData['name'] = "gputemp"
value = round(data[QString(u'GPUTemp')].toFloat()[0], 1)
value = round(data[QString(u'GPUTemp')], 1)
updatedData['value'] = "%4.1f" % (value)
elif (sourceName.split('/')[0] == "partitions"):
elif (sourceName.split('/')[0] == "partitions") and (sourceName.split('/')[-1] == "filllevel"):
updatedData['name'] = "hdd"
updatedData['type'] = '/' + '/'.join(sourceName.split('/')[1:-1])
value = round(data[QString(u'value')].toFloat()[0], 1)
updatedData['value'] = "%5.1f" % (value)
updatedData['value'] = value
elif (sourceName.split('/')[0] == "partitions") and (sourceName.split('/')[-1] == "usedspace"):
updatedData['name'] = "hddmb"
updatedData['type'] = '/' + '/'.join(sourceName.split('/')[1:-1])
value = data[QString(u'value')].toFloat()[0]
updatedData['value'] = value
elif (sourceName == "hddtemp"):
updatedData['name'] = "hddtemp"
updatedData['value'] = {}
for item in names['hddtemp']:
value = round(data[QString(item)].toFloat()[0], 1)
value = round(data[QString(item)], 1)
updatedData['value'][item] = "%4.1f" % (value)
elif (sourceName == "mem/physical/application"):
updatedData['name'] = "mem"
@ -164,6 +175,11 @@ class DataEngine:
updatedData['type'] = "up"
value = round(data[QString(u'value')].toFloat()[0], 0)
updatedData['value'] = value
elif (sourceName == "pkg"):
updatedData['name'] = "pkg"
updatedData['value'] = {}
for singleData in data.keys():
updatedData['value'][str(singleData.toLower())] = "%i" % (data[singleData])
elif (sourceName == "player"):
updatedData['name'] = "player"
updatedData['value'] = {}
@ -185,6 +201,12 @@ class DataEngine:
updatedData['value']['progress'] = str(data[QString(u'qmmp_progress')].toUtf8()).decode("utf-8")
updatedData['value']['time'] = str(data[QString(u'qmmp_duration')].toUtf8()).decode("utf-8")
updatedData['value']['title'] = str(data[QString(u'qmmp_title')].toUtf8()).decode("utf-8")
elif (sourceName == "ps"):
updatedData['name'] = "ps"
updatedData['value'] = {}
updatedData['value']['num'] = "%i" % (data[QString(u'psCount')])
updatedData['value']['total'] = "%i" % (data[QString(u'psTotal')])
updatedData['value']['list'] = data[QString(u'ps')]
elif (sourceName == "mem/swap/free"):
updatedData['name'] = "swap"
updatedData['type'] = "free"
@ -267,6 +289,7 @@ class DataEngine:
elif (name == "hdd"):
for item in keys['hdd']:
dataEngines['system'].disconnectSource("partitions" + item + "/filllevel", self.parent)
dataEngines['system'].disconnectSource("partitions" + item + "/usedspace", self.parent)
elif (name == "hddtemp"):
dataEngines['ext'].disconnectSource("hddtemp", self.parent)
elif (name == "mem"):
@ -276,8 +299,12 @@ class DataEngine:
elif (name == "net"):
dataEngines['system'].disconnectSource("network/interfaces/" + keys['net'] + "/transmitter/data", self.parent)
dataEngines['system'].disconnectSource("network/interfaces/" + keys['net'] + "/receiver/data", self.parent)
elif (name == "pkg"):
dataEngines['ext'].disconnectSource("pkg", self.parent)
elif (name == "player"):
dataEngines['ext'].disconnectSource("player", self.parent)
elif (name == "ps"):
dataEngines['ext'].disconnectSource("ps", self.parent)
elif (name == "swap"):
dataEngines['system'].disconnectSource("mem/swap/used", self.parent)
dataEngines['system'].disconnectSource("mem/swap/free", self.parent)

View File

@ -132,29 +132,30 @@ class pyTextWidget(plasmascript.Applet):
self.ptm['defaults']['confBool'] = {'bat':'batBool', 'cpu':'cpuBool',
'cpuclock':'cpuclockBool', 'custom':'customBool', 'gpu':'gpuBool',
'gputemp':'gputempBool', 'hdd':'hddBool', 'hddtemp':'hddtempBool',
'mem':'memBool', 'net':'netBool', 'swap':'swapBool', 'temp':'tempBool',
'uptime':'uptimeBool', 'player':'playerBool', 'time':'timeBool'}
'mem':'memBool', 'net':'netBool', 'pkg':'pkgBool', 'player':'playerBool',
'ps':'psBool', 'swap':'swapBool', 'temp':'tempBool', 'uptime':'uptimeBool',
'time':'timeBool'}
self.ptm['defaults']['confColor'] = {'cpu':'cpu_color', 'cpuclock':'cpuclock_color',
'down':'down_color', 'mem':'mem_color', 'swap':'swap_color', 'up':'up_color'}
self.ptm['defaults']['confFormat'] = {'bat':'batFormat', 'cpu':'cpuFormat',
'cpuclock':'cpuclockFormat', 'custom':'customFormat', 'gpu':'gpuFormat',
'gputemp':'gputempFormat', 'hdd':'hddFormat', 'hddtemp':'hddtempFormat',
'mem':'memFormat', 'net':'netFormat', 'player':'playerFormat',
'swap':'swapFormat', 'temp':'tempFormat', 'time':'timeFormat',
'uptime':'uptimeFormat'}
'mem':'memFormat', 'net':'netFormat', 'pkg':'pkgFormat',
'player':'playerFormat', 'ps':'psFormat', 'swap':'swapFormat',
'temp':'tempFormat', 'time':'timeFormat', 'uptime':'uptimeFormat'}
self.ptm['defaults']['bool'] = {'bat':0, 'cpu':2, 'cpuclock':0, 'custom':0,
'gpu':0, 'gputemp':0, 'hdd':0, 'hddtemp':0, 'mem':2, 'net':2, 'player':0,
'swap':2, 'temp':0, 'time':0, 'uptime':0}
'gpu':0, 'gputemp':0, 'hdd':0, 'hddtemp':0, 'mem':2, 'net':2, 'pkg':0,
'player':0, 'ps':0, 'swap':2, 'temp':0, 'time':0, 'uptime':0}
self.ptm['defaults']['format'] = {'bat':'[bat: $bat%$ac]', 'cpu':'[cpu: $cpu%]',
'cpuclock':'[mhz: $cpucl]', 'custom':'[$custom]', 'gpu':'[gpu: $gpu%]',
'gputemp':'[gpu temp: $gputemp&deg;C]', 'hdd':'[hdd: $hdd0%]',
'hddtemp':'[hdd temp: $hddtemp0&deg;C]', 'mem':'[mem: $mem%]',
'net':'[$netdev: $down/$upKB/s]', 'player':'[$artist - $title]',
'swap':'[swap: $swap%]', 'temp':'[temp: $temp0&deg;C]',
'time':'[$time]', 'uptime':'[uptime: $uptime]'}
self.ptm['defaults']['order'] = {'6':'bat', '1':'cpu', '7':'cpuclock', 'f':'custom', '9':'gpu',
'a':'gputemp', 'b':'hdd', 'c':'hddtemp', '3':'mem', '5':'net', '4':'swap', '2':'temp',
'8':'uptime', 'd':'player', 'e':'time'}
'net':'[$netdev: $down/$upKB/s]', 'pkg':'[upgrade: $pkgcount0]',
'player':'[$artist - $title]', 'ps':'[proc: $pscount]', 'swap':'[swap: $swap%]',
'temp':'[temp: $temp0&deg;C]', 'time':'[$time]', 'uptime':'[uptime: $uptime]'}
self.ptm['defaults']['order'] = {'1':'cpu', '2':'temp', '3':'mem', '4':'swap', '5':'net',
'6':'bat', '7':'cpuclock', '8':'uptime', '9':'gpu', 'a':'gputemp', 'b':'hdd',
'c':'hddtemp', 'd':'player', 'e':'time', 'f':'custom', 'g':'ps', 'h':'pkg'}
# labels
self.ptm['labels'] = {}
self.ptm['layout'] = QGraphicsLinearLayout(Qt.Horizontal, self.applet)
@ -180,10 +181,10 @@ class pyTextWidget(plasmascript.Applet):
self.ptm['values']['cpu'][i] = 0.0
self.ptm['values']['cpuclock'][i] = 0.0
self.ptm['values']['hdd'] = {}
self.ptm['values']['hddmb'] = {}
self.ptm['values']['hddtemp'] = {}
self.ptm['values']['mem'] = {'app':0.0, 'used':0.0, 'free':1.0}
self.ptm['values']['net'] = {"up":0.0, "down":0.0}
self.ptm['values']['player'] = {}
self.ptm['values']['swap'] = {'used':0.0, 'free':1.0}
self.ptm['values']['temp'] = {}
# variables
@ -249,15 +250,14 @@ class pyTextWidget(plasmascript.Applet):
updatedData = self.dataengine.dataUpdated(str(sourceName), data, self.ptm)
if (updatedData['value'] == None):
return
# update falues where is needed
# update values where is needed
if (updatedData['type'] != None):
self.ptm['values'][updatedData['name']][updatedData['type']] = updatedData['value']
else:
self.ptm['values'][updatedData['name']] = updatedData['value']
# update labels where is needed
if (updatedData['name'] in ['custom', 'gpu', 'gputemp', 'player', 'time', 'uptime']):
elif (updatedData['name'] in ['custom', 'gpu', 'gputemp', 'pkg', 'player', 'ps', 'time', 'uptime']):
text = self.textPrepare(updatedData['name'], updatedData['value'])
self.setText(updatedData['name'], text)
else:
self.ptm['values'][updatedData['name']] = updatedData['value']
# update tooltips
if ((updatedData['name'] in ['cpu', 'cpuclock', 'mem', 'swap', 'net']) and (self.ptm['vars']['bools'][updatedData['name']] == 2)):
if (updatedData['name'] == "net"):
@ -296,12 +296,12 @@ class pyTextWidget(plasmascript.Applet):
try:
with open (self.ptm['vars']['adv']['acDev'], 'r') as batFile:
bat = batFile.readline()[:-1]
if (bat == '1'):
bat = "(*)"
if (bat == "1"):
bat = self.ptm['vars']['adv']['acOnline']
else:
bat = "( )"
bat = self.ptm['vars']['adv']['acOffline']
except:
bat = "(?)"
bat = "N\\A"
line = line.split('$ac')[0] + bat + line.split('$ac')[1]
text = self.ptm['vars']['app']['format'][0] + line + self.ptm['vars']['app']['format'][1]
self.setText("bat", text)
@ -348,7 +348,20 @@ class pyTextWidget(plasmascript.Applet):
devices.reverse()
for i in devices:
if (line.split('$hdd' + str(i))[0] != line):
line = line.split('$hdd' + str(i))[0] + str(self.ptm['values']['hdd'][devices[i]]) + line.split('$hdd' + str(i))[1]
hdd = "%4.1f" % (self.ptm['values']['hdd'][self.ptm['names']['hdd'][i]])
line = line.split('$hdd' + str(i))[0] +\
hdd +\
line.split('$hdd' + str(i))[1]
if (line.split('$hddmb' + str(i))[0] != line):
hdd = "%i" % (self.ptm['values']['hddmb'][self.ptm['names']['hdd'][i]] / 1024.0)
line = line.split('$hddmb' + str(i))[0] +\
str(int(self.ptm['values']['hddmb'][self.ptm['names']['hdd'][i]] / 1024.0)) +\
line.split('$hddmb' + str(i))[1]
if (line.split('$hddgb' + str(i))[0] != line):
hdd = "%4.1f" % (self.ptm['values']['hddmb'][self.ptm['names']['hdd'][i]] / (1024.0 * 1024.0))
line = line.split('$hddgb' + str(i))[0] +\
hdd +\
line.split('$hddgb' + str(i))[1]
text = self.ptm['vars']['app']['format'][0] + line + self.ptm['vars']['app']['format'][1]
self.setText("hdd", text)
@ -360,7 +373,9 @@ class pyTextWidget(plasmascript.Applet):
devices.reverse()
for i in devices:
if (line.split('$hddtemp' + str(i))[0] != line):
line = line.split('$hddtemp' + str(i))[0] + self.ptm['values']['hddtemp'][devices[i]] + line.split('$hddtemp' + str(i))[1]
line = line.split('$hddtemp' + str(i))[0] +\
str(self.ptm['values']['hddtemp'][self.ptm['names']['hddtemp'][i]]) +\
line.split('$hddtemp' + str(i))[1]
text = self.ptm['vars']['app']['format'][0] + line + self.ptm['vars']['app']['format'][1]
self.setText("hddtemp", text)
@ -427,7 +442,9 @@ class pyTextWidget(plasmascript.Applet):
devices.reverse()
for i in devices:
if (line.split('$temp' + str(i))[0] != line):
line = line.split('$temp' + str(i))[0] + self.ptm['values']['temp'][devices[i]] + line.split('$temp' + str(i))[1]
line = line.split('$temp' + str(i))[0] +\
str(self.ptm['values']['temp'][self.ptm['names']['temp'][i]]) +\
line.split('$temp' + str(i))[1]
text = self.ptm['vars']['app']['format'][0] + line + self.ptm['vars']['app']['format'][1]
self.setText("temp", text)
@ -451,6 +468,8 @@ class pyTextWidget(plasmascript.Applet):
for item in ['hdd', 'hddtemp', 'temp']:
for value in self.ptm['names'][item]:
self.ptm['values'][item][value] = 0.0
if (item == "hdd"):
self.ptm['values']['hddmb'][value] = 0.0
def connectToEngine(self):
@ -522,17 +541,28 @@ class pyTextWidget(plasmascript.Applet):
elif (name == "gputemp"):
if (line.split('$gputemp')[0] != line):
line = line.split('$gputemp')[0] + text + line.split('$gputemp')[1]
elif (name == "pkg"):
for item in text.keys():
if (line.split('$' + item)[0] != line):
line = line.split('$' + item)[0] + text[item] + line.split('$' + item)[1]
elif (name == "player"):
if (line.split('$album')[0] != line):
line = line.split('$album')[0] + self.ptm['values']['player']['album'] + line.split('$album')[1]
line = line.split('$album')[0] + text['album'] + line.split('$album')[1]
if (line.split('$artist')[0] != line):
line = line.split('$artist')[0] + self.ptm['values']['player']['artist'] + line.split('$artist')[1]
line = line.split('$artist')[0] + text['artist'] + line.split('$artist')[1]
if (line.split('$progress')[0] != line):
line = line.split('$progress')[0] + self.ptm['values']['player']['progress'] + line.split('$progress')[1]
line = line.split('$progress')[0] + text['progress'] + line.split('$progress')[1]
if (line.split('$time')[0] != line):
line = line.split('$time')[0] + self.ptm['values']['player']['time'] + line.split('$time')[1]
line = line.split('$time')[0] + text['time'] + line.split('$time')[1]
if (line.split('$title')[0] != line):
line = line.split('$title')[0] + self.ptm['values']['player']['title'] + line.split('$title')[1]
line = line.split('$title')[0] + text['title'] + line.split('$title')[1]
elif (name == "ps"):
if (line.split('$pscount')[0] != line):
line = line.split('$pscount')[0] + text['num'] + line.split('$pscount')[1]
if (line.split('$pstotal')[0] != line):
line = line.split('$pstotal')[0] + text['total'] + line.split('$pstotal')[1]
if (line.split('$ps')[0] != line):
line = line.split('$ps')[0] + text['list'] + line.split('$ps')[1]
elif (name == "time"):
if (line.split('$time')[0] != line):
line = line.split('$time')[0] + text + line.split('$time')[1]

View File

@ -206,8 +206,12 @@ class PTMNotify:
return self.createText("memory")
elif (name == "net"):
return self.createText("network")
elif (name == "pkg"):
return self.createText("system")
elif (name == "player"):
return self.createText("player")
elif (name == "ps"):
return self.createText("system")
elif (name == "swap"):
return self.createText("memory")
elif (name == "temp"):

View File

@ -38,6 +38,8 @@ class Reinit():
ptmVars['adv'] = {}
ptmVars['adv']['acDev'] = str(settings.get('ac_device', '/sys/class/power_supply/AC/online'))
ptmVars['adv']['acOnline'] = str(settings.get('ac_online', '(*)'))
ptmVars['adv']['acOffline'] = str(settings.get('ac_offline', '( )'))
ptmVars['adv']['batDev'] = str(settings.get('battery_device', '/sys/class/power_supply/BAT0/capacity'))
ptmVars['adv']['customTime'] = str(settings.get('custom_time', '$hh:$mm'))
ptmVars['adv']['customUptime'] = str(settings.get('custom_uptime', '$dd,$hh,$mm'))

File diff suppressed because it is too large Load Diff

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=157124\n"
"POT-Creation-Date: 2014-04-05 22:36+0400\n"
"PO-Revision-Date: 2014-04-05 22:36+0400\n"
"POT-Creation-Date: 2014-04-09 12:35+0400\n"
"PO-Revision-Date: 2014-04-09 12:26+0400\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n"
@ -40,13 +40,13 @@ msgstr ""
"Detailed information may be found on <a href=\"http://arcanis.name/projects/"
"pytextmonitor/\">project homepage</a>"
#. i18n: file: ui/configwindow.ui:69
#. i18n: file: ui/configwindow.ui:84
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_time)
#: rc.cpp:12
msgid "Time"
msgstr "Time"
#. i18n: file: ui/configwindow.ui:83
#. i18n: file: ui/configwindow.ui:98
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_time)
#: rc.cpp:15
msgid ""
@ -62,13 +62,13 @@ msgstr ""
"$longtime - time in log format\n"
"$custom - custom time format"
#. i18n: file: ui/configwindow.ui:128
#. i18n: file: ui/configwindow.ui:143
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_uptime)
#: rc.cpp:22
msgid "Uptime"
msgstr "Uptime"
#. i18n: file: ui/configwindow.ui:139
#. i18n: file: ui/configwindow.ui:154
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptime)
#: rc.cpp:25
msgid ""
@ -78,13 +78,13 @@ msgstr ""
"$uptime - system uptime\n"
"$custom - custom format"
#. i18n: file: ui/configwindow.ui:187
#. i18n: file: ui/configwindow.ui:202
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpu)
#: rc.cpp:29
msgid "CPU"
msgstr "CPU"
#. i18n: file: ui/configwindow.ui:205
#. i18n: file: ui/configwindow.ui:220
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpu)
#: rc.cpp:33
#, no-c-format
@ -103,13 +103,13 @@ msgstr ""
"...\n"
"$cpuN - load CPU for core N, %"
#. i18n: file: ui/configwindow.ui:253
#. i18n: file: ui/configwindow.ui:268
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpuclock)
#: rc.cpp:41
msgid "CPU Clock"
msgstr "CPU Clock"
#. i18n: file: ui/configwindow.ui:271
#. i18n: file: ui/configwindow.ui:286
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpuclock)
#: rc.cpp:44
msgid ""
@ -127,50 +127,50 @@ msgstr ""
"...\n"
"$cpuclN - CPU clock for core N, MHz"
#. i18n: file: ui/configwindow.ui:319
#. i18n: file: ui/configwindow.ui:334
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_temp)
#: rc.cpp:52
msgid "Temperature"
msgstr "Temperature"
#. i18n: file: ui/configwindow.ui:329
#. i18n: file: ui/configwindow.ui:344
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_temp)
#: rc.cpp:55
msgid "$tempN - physical temperature on device N (from 0). Example: $temp0"
msgstr "$tempN - physical temperature on device N (from 0). Example: $temp0"
#. i18n: file: ui/configwindow.ui:377
#. i18n: file: ui/configwindow.ui:392
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpu)
#: rc.cpp:58
msgid "GPU"
msgstr "GPU"
#. i18n: file: ui/configwindow.ui:387
#. i18n: file: ui/configwindow.ui:402
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpu)
#: rc.cpp:62
#, no-c-format
msgid "$gpu - gpu usage, %"
msgstr "$gpu - gpu usage, %"
#. i18n: file: ui/configwindow.ui:435
#. i18n: file: ui/configwindow.ui:450
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpuTemp)
#: rc.cpp:65
msgid "GPU Temp"
msgstr "GPU Temp"
#. i18n: file: ui/configwindow.ui:445
#. i18n: file: ui/configwindow.ui:460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpuTemp)
#: rc.cpp:68
msgid "$gputemp - physical temperature on GPU"
msgstr "$gputemp - physical temperature on GPU"
#. i18n: file: ui/configwindow.ui:493
#. i18n: file: ui/configwindow.ui:508
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_mem)
#: rc.cpp:71
msgid "Memory"
msgstr "Memory"
#. i18n: file: ui/configwindow.ui:508
#. i18n: file: ui/configwindow.ui:523
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_mem)
#: rc.cpp:75
#, no-c-format
@ -183,13 +183,13 @@ msgstr ""
"$memmb - RAM usage, MB\n"
"$memgb - RAM usage, GB"
#. i18n: file: ui/configwindow.ui:556
#. i18n: file: ui/configwindow.ui:571
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_swap)
#: rc.cpp:80
msgid "Swap"
msgstr "Swap"
#. i18n: file: ui/configwindow.ui:571
#. i18n: file: ui/configwindow.ui:586
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_swap)
#: rc.cpp:84
#, no-c-format
@ -202,44 +202,50 @@ msgstr ""
"$swapmb - swap usage, MB\n"
"$swapgb - swap usage, GB"
#. i18n: file: ui/configwindow.ui:619
#. i18n: file: ui/configwindow.ui:634
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hdd)
#. i18n: file: ui/configwindow.ui:2106
#. i18n: file: ui/configwindow.ui:2404
#. i18n: ectx: property (text), widget (QLabel, label_hdddev)
#: rc.cpp:89 rc.cpp:298
#: rc.cpp:89 rc.cpp:332
msgid "HDD"
msgstr "HDD"
#. i18n: file: ui/configwindow.ui:629
#. i18n: file: ui/configwindow.ui:646
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hdd)
#: rc.cpp:93
#, no-c-format
msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
msgstr "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
msgid ""
"$hddN - usage for mount point N (from 0), %. Example: $hdd0\n"
"$hddmbN - usage for mount point N (from 0), MB. Example: $hddmb0\n"
"$hddgbN - usage for mount point N (from 0), GB. Example: $hddgb0"
msgstr ""
"$hddN - usage for mount point N (from 0), %. Example: $hdd0\n"
"$hddmbN - usage for mount point N (from 0), MB. Example: $hddmb0\n"
"$hddgbN - usage for mount point N (from 0), GB. Example: $hddgb0"
#. i18n: file: ui/configwindow.ui:677
#. i18n: file: ui/configwindow.ui:694
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hddTemp)
#: rc.cpp:96
#: rc.cpp:98
msgid "HDD Temp"
msgstr "HDD Temp"
#. i18n: file: ui/configwindow.ui:687
#. i18n: file: ui/configwindow.ui:704
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hddTemp)
#: rc.cpp:99
#: rc.cpp:101
msgid ""
"$hddtempN - physical temperature on device N (from 0). Example: $hddtemp0"
msgstr ""
"$hddtempN - physical temperature on device N (from 0). Example: $hddtemp0"
#. i18n: file: ui/configwindow.ui:735
#. i18n: file: ui/configwindow.ui:752
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_net)
#: rc.cpp:102
#: rc.cpp:104
msgid "Network"
msgstr "Network"
#. i18n: file: ui/configwindow.ui:750
#. i18n: file: ui/configwindow.ui:767
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_net)
#: rc.cpp:105
#: rc.cpp:107
msgid ""
"$down - download speed, KB/s\n"
"$up - upload speed, KB/s\n"
@ -249,15 +255,15 @@ msgstr ""
"$up - upload speed, KB/s\n"
"$netdev - current network device"
#. i18n: file: ui/configwindow.ui:798
#. i18n: file: ui/configwindow.ui:815
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_bat)
#: rc.cpp:110
#: rc.cpp:112
msgid "Battery"
msgstr "Battery"
#. i18n: file: ui/configwindow.ui:809
#. i18n: file: ui/configwindow.ui:826
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_bat)
#: rc.cpp:114
#: rc.cpp:116
#, no-c-format
msgid ""
"$bat - battery charge, %\n"
@ -266,17 +272,17 @@ msgstr ""
"$bat - battery charge, %\n"
"$ac - AC status"
#. i18n: file: ui/configwindow.ui:857
#. i18n: file: ui/configwindow.ui:874
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_player)
#. i18n: file: ui/configwindow.ui:1347
#. i18n: file: ui/configwindow.ui:1561
#. i18n: ectx: property (text), widget (QLabel, label_playerSelect)
#: rc.cpp:118 rc.cpp:223
#: rc.cpp:120 rc.cpp:251
msgid "Music player"
msgstr "Music player"
#. i18n: file: ui/configwindow.ui:871
#. i18n: file: ui/configwindow.ui:888
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_player)
#: rc.cpp:121
#: rc.cpp:123
msgid ""
"$album - song album\n"
"$artist - song artist\n"
@ -290,33 +296,69 @@ msgstr ""
"$time - song duration\n"
"$title - song title"
#. i18n: file: ui/configwindow.ui:919
#. i18n: file: ui/configwindow.ui:936
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_ps)
#: rc.cpp:130
msgid "Processes"
msgstr "Processes"
#. i18n: file: ui/configwindow.ui:948
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_ps)
#: rc.cpp:133
msgid ""
"$pscount - number of running processes\n"
"$pstotal - total number of running processes\n"
"$ps - list of running processes comma separated"
msgstr ""
"$pscount - number of running processes\n"
"$pstotal - total number of running processes\n"
"$ps - list of running processes comma separated"
#. i18n: file: ui/configwindow.ui:996
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_pkg)
#. i18n: file: ui/configwindow.ui:2518
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommand)
#: rc.cpp:138 rc.cpp:341
msgid "Package manager"
msgstr "Package manager"
#. i18n: file: ui/configwindow.ui:1006
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_pkg)
#: rc.cpp:141
msgid ""
"$pkgcountN - number of packages which are available for updates, command N. "
"For example $pkgcount0"
msgstr ""
"$pkgcountN - number of packages which are available for updates, command N. "
"For example $pkgcount0"
#. i18n: file: ui/configwindow.ui:1054
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_custom)
#: rc.cpp:128
#: rc.cpp:144
msgid "Custom"
msgstr "Custom"
#. i18n: file: ui/configwindow.ui:929
#. i18n: file: ui/configwindow.ui:1064
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_custom)
#: rc.cpp:131
#: rc.cpp:147
msgid "$custom - get output from custom command"
msgstr "$custom - get output from custom command"
#. i18n: file: ui/configwindow.ui:983
#. i18n: file: ui/configwindow.ui:1122
#. i18n: ectx: attribute (title), widget (QWidget, advanced)
#: rc.cpp:134
#: rc.cpp:150
msgid "Advanced"
msgstr "Advanced"
#. i18n: file: ui/configwindow.ui:997
#. i18n: file: ui/configwindow.ui:1151
#. i18n: ectx: property (text), widget (QLabel, label_timeFormat)
#: rc.cpp:137
#: rc.cpp:153
msgid "Custom time format"
msgstr "Custom time format"
#. i18n: file: ui/configwindow.ui:1019
#. i18n: file: ui/configwindow.ui:1173
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_timeFormat)
#: rc.cpp:140
#: rc.cpp:156
msgid ""
"$dddd - long weekday\n"
"$ddd - short weekday\n"
@ -352,15 +394,15 @@ msgstr ""
"$ss - seconds\n"
"$s - seconds w\\o zero"
#. i18n: file: ui/configwindow.ui:1039
#. i18n: file: ui/configwindow.ui:1193
#. i18n: ectx: property (text), widget (QLabel, label_uptimeFormat)
#: rc.cpp:158
#: rc.cpp:174
msgid "Custom uptime format"
msgstr "Custom uptime format"
#. i18n: file: ui/configwindow.ui:1051
#. i18n: file: ui/configwindow.ui:1205
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptimeFormat)
#: rc.cpp:161
#: rc.cpp:177
msgid ""
"$dd - uptime days\n"
"$d - uptime days without zero\n"
@ -376,29 +418,33 @@ msgstr ""
"$mm - uptime minutes\n"
"$m - uptime minutes without zero"
#. i18n: file: ui/configwindow.ui:1073
#. i18n: file: ui/configwindow.ui:1227
#. i18n: ectx: property (text), widget (QLabel, label_tempDevice)
#: rc.cpp:169
#: rc.cpp:185
msgid "Temperature devices"
msgstr "Temperature devices"
#. i18n: file: ui/configwindow.ui:1099
#. i18n: file: ui/configwindow.ui:1253
#. i18n: ectx: property (text), widget (QPushButton, pushButton_tempDevice)
#. i18n: file: ui/configwindow.ui:1154
#. i18n: file: ui/configwindow.ui:1308
#. i18n: ectx: property (text), widget (QPushButton, pushButton_mount)
#. i18n: file: ui/configwindow.ui:1209
#. i18n: file: ui/configwindow.ui:1363
#. i18n: ectx: property (text), widget (QPushButton, pushButton_hddDevice)
#: rc.cpp:172 rc.cpp:182 rc.cpp:192
#. i18n: file: ui/configwindow.ui:2604
#. i18n: ectx: property (text), widget (QPushButton, pushButton_pkgCommand)
#: rc.cpp:188 rc.cpp:198 rc.cpp:208 rc.cpp:365
msgid "Add"
msgstr "Add"
#. i18n: file: ui/configwindow.ui:1109
#. i18n: file: ui/configwindow.ui:1263
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_tempDevice)
#. i18n: file: ui/configwindow.ui:1164
#. i18n: file: ui/configwindow.ui:1318
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_mount)
#. i18n: file: ui/configwindow.ui:1219
#. i18n: file: ui/configwindow.ui:1373
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_hddDevice)
#: rc.cpp:175 rc.cpp:185 rc.cpp:195
#. i18n: file: ui/configwindow.ui:2614
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_pkgCommand)
#: rc.cpp:191 rc.cpp:201 rc.cpp:211 rc.cpp:368
msgid ""
"Editable\n"
"del - remove item"
@ -406,93 +452,117 @@ msgstr ""
"Editable\n"
"del - remove item"
#. i18n: file: ui/configwindow.ui:1128
#. i18n: file: ui/configwindow.ui:1282
#. i18n: ectx: property (text), widget (QLabel, label_mount)
#: rc.cpp:179
#: rc.cpp:195
msgid "Mount points"
msgstr "Mount points"
#. i18n: file: ui/configwindow.ui:1183
#. i18n: file: ui/configwindow.ui:1337
#. i18n: ectx: property (text), widget (QLabel, label_hddDevice)
#: rc.cpp:189
#: rc.cpp:205
msgid "HDD devices"
msgstr "HDD devices"
#. i18n: file: ui/configwindow.ui:1236
#. i18n: file: ui/configwindow.ui:1390
#. i18n: ectx: property (text), widget (QLabel, label_netdir)
#: rc.cpp:199
#: rc.cpp:215
msgid "Network directory"
msgstr "Network directory"
#. i18n: file: ui/configwindow.ui:1243
#. i18n: file: ui/configwindow.ui:1397
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_netdir)
#: rc.cpp:202
#: rc.cpp:218
msgid "\"/sys/class/net\" by default"
msgstr "\"/sys/class/net\" by default"
#. i18n: file: ui/configwindow.ui:1263
#. i18n: file: ui/configwindow.ui:1417
#. i18n: ectx: property (toolTip), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:205
#: rc.cpp:221
msgid "Disable auto select device and set specified device"
msgstr "Disable auto select device and set specified device"
#. i18n: file: ui/configwindow.ui:1266
#. i18n: file: ui/configwindow.ui:1420
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:208
#: rc.cpp:224
msgid "Set network device"
msgstr "Set network device"
#. i18n: file: ui/configwindow.ui:1299
#. i18n: file: ui/configwindow.ui:1453
#. i18n: ectx: property (text), widget (QLabel, label_batdev)
#: rc.cpp:211
#: rc.cpp:227
msgid "Battery device"
msgstr "Battery device"
#. i18n: file: ui/configwindow.ui:1306
#. i18n: file: ui/configwindow.ui:1460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_batdev)
#: rc.cpp:214
#: rc.cpp:230
msgid "\"/sys/class/power_supply/BAT0/capacity\" by default"
msgstr "\"/sys/class/power_supply/BAT0/capacity\" by default"
#. i18n: file: ui/configwindow.ui:1323
#. i18n: file: ui/configwindow.ui:1477
#. i18n: ectx: property (text), widget (QLabel, label_acOnline)
#: rc.cpp:233
msgid "AC online tag"
msgstr "AC online tag"
#. i18n: file: ui/configwindow.ui:1484
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOnline)
#: rc.cpp:236
msgid "Line, which returns when AC is online"
msgstr "Line, which returns when AC is online"
#. i18n: file: ui/configwindow.ui:1507
#. i18n: ectx: property (text), widget (QLabel, label_acOffline)
#: rc.cpp:239
msgid "AC offline tag"
msgstr "AC offline tag"
#. i18n: file: ui/configwindow.ui:1514
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOffline)
#: rc.cpp:242
msgid "Line, which returns when AC is offline"
msgstr "Line, which returns when AC is offline"
#. i18n: file: ui/configwindow.ui:1537
#. i18n: ectx: property (text), widget (QLabel, label_acdev)
#: rc.cpp:217
#: rc.cpp:245
msgid "AC device"
msgstr "AC device"
#. i18n: file: ui/configwindow.ui:1330
#. i18n: file: ui/configwindow.ui:1544
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acdev)
#: rc.cpp:220
#: rc.cpp:248
msgid "\"/sys/class/power_supply/AC/online\" by default"
msgstr "\"/sys/class/power_supply/AC/online\" by default"
#. i18n: file: ui/configwindow.ui:1367
#. i18n: file: ui/configwindow.ui:1581
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:226
#: rc.cpp:254
msgid "amarok"
msgstr "amarok"
#. i18n: file: ui/configwindow.ui:1372
#. i18n: file: ui/configwindow.ui:1586
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:229
#: rc.cpp:257
msgid "mpd"
msgstr "mpd"
#. i18n: file: ui/configwindow.ui:1377
#. i18n: file: ui/configwindow.ui:1591
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:232
#: rc.cpp:260
msgid "qmmp"
msgstr "qmmp"
#. i18n: file: ui/configwindow.ui:1401
#. i18n: file: ui/configwindow.ui:1619
#. i18n: ectx: attribute (title), widget (QWidget, tooltip)
#: rc.cpp:235
#: rc.cpp:263
msgid "Tooltip"
msgstr "Tooltip"
#. i18n: file: ui/configwindow.ui:1407
#. i18n: file: ui/configwindow.ui:1625
#. i18n: ectx: property (text), widget (QLabel, label_tooltip)
#: rc.cpp:238
#: rc.cpp:266
msgid ""
"CPU, CPU clock, memory, swap and network labels support graphical tooltip. "
"To enable them just make needed checkbox fully checked."
@ -500,154 +570,199 @@ msgstr ""
"CPU, CPU clock, memory, swap and network labels support graphical tooltip. "
"To enable them just make needed checkbox fully checked."
#. i18n: file: ui/configwindow.ui:1428
#. i18n: file: ui/configwindow.ui:1661
#. i18n: ectx: property (text), widget (QLabel, label_tooltipNum)
#: rc.cpp:241
#: rc.cpp:269
msgid "Number of values for tooltips"
msgstr "Number of values for tooltips"
#. i18n: file: ui/configwindow.ui:1483
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:244
msgid "CPU color"
msgstr "CPU color"
#. i18n: file: ui/configwindow.ui:1523
#. i18n: file: ui/configwindow.ui:1716
#. i18n: ectx: property (text), widget (QLabel, label_cpuclockColor)
#: rc.cpp:247
#: rc.cpp:272
msgid "CPU clock color"
msgstr "CPU clock color"
#. i18n: file: ui/configwindow.ui:1563
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:250
msgid "Memory color"
msgstr "Memory color"
#. i18n: file: ui/configwindow.ui:1603
#. i18n: file: ui/configwindow.ui:1756
#. i18n: ectx: property (text), widget (QLabel, label_swapColor)
#: rc.cpp:253
#: rc.cpp:275
msgid "Swap color"
msgstr "Swap color"
#. i18n: file: ui/configwindow.ui:1643
#. i18n: file: ui/configwindow.ui:1796
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:278
msgid "CPU color"
msgstr "CPU color"
#. i18n: file: ui/configwindow.ui:1836
#. i18n: ectx: property (text), widget (QLabel, label_downColor)
#: rc.cpp:256
#: rc.cpp:281
msgid "Download speed color"
msgstr "Download speed color"
#. i18n: file: ui/configwindow.ui:1683
#. i18n: file: ui/configwindow.ui:1876
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:284
msgid "Memory color"
msgstr "Memory color"
#. i18n: file: ui/configwindow.ui:1916
#. i18n: ectx: property (text), widget (QLabel, label_upColor)
#: rc.cpp:259
#: rc.cpp:287
msgid "Upload speed color"
msgstr "Upload speed color"
#. i18n: file: ui/configwindow.ui:1729
#. i18n: file: ui/configwindow.ui:1966
#. i18n: ectx: attribute (title), widget (QWidget, appearance)
#: rc.cpp:262
#: rc.cpp:290
msgid "Appearance"
msgstr "Appearance"
#. i18n: file: ui/configwindow.ui:1743
#. i18n: file: ui/configwindow.ui:1995
#. i18n: ectx: property (text), widget (QLabel, label_interval)
#: rc.cpp:265
#: rc.cpp:293
msgid "Time interval"
msgstr "Time interval"
#. i18n: file: ui/configwindow.ui:1798
#. i18n: file: ui/configwindow.ui:2050
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: rc.cpp:268
#: rc.cpp:296
msgid "Font"
msgstr "Font"
#. i18n: file: ui/configwindow.ui:1838
#. i18n: file: ui/configwindow.ui:2090
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: rc.cpp:271
#: rc.cpp:299
msgid "Font size"
msgstr "Font size"
#. i18n: file: ui/configwindow.ui:1893
#. i18n: file: ui/configwindow.ui:2145
#. i18n: ectx: property (text), widget (QLabel, label_color)
#: rc.cpp:274
#: rc.cpp:302
msgid "Font color"
msgstr "Font color"
#. i18n: file: ui/configwindow.ui:1933
#. i18n: file: ui/configwindow.ui:2185
#. i18n: ectx: property (text), widget (QLabel, label_style)
#: rc.cpp:277
#: rc.cpp:305
msgid "Font style"
msgstr "Font style"
#. i18n: file: ui/configwindow.ui:1983
#. i18n: file: ui/configwindow.ui:2235
#. i18n: ectx: property (text), widget (QLabel, label_weight)
#: rc.cpp:280
#: rc.cpp:308
msgid "Font weight"
msgstr "Font weight"
#. i18n: file: ui/configwindow.ui:2044
#. i18n: file: ui/configwindow.ui:2300
#. i18n: ectx: attribute (title), widget (QWidget, dataengine)
#: rc.cpp:283
#: rc.cpp:311
msgid "DataEngine"
msgstr "DataEngine"
#. i18n: file: ui/configwindow.ui:2058
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:286
msgid "GPU device"
msgstr "GPU device"
#. i18n: file: ui/configwindow.ui:2078
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:289
msgid "auto"
msgstr "auto"
#. i18n: file: ui/configwindow.ui:2083
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:292
msgid "nvidia"
msgstr "nvidia"
#. i18n: file: ui/configwindow.ui:2088
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:295
msgid "ati"
msgstr "ati"
#. i18n: file: ui/configwindow.ui:2139
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:301
msgid "MPD address"
msgstr "MPD address"
#. i18n: file: ui/configwindow.ui:2163
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:304
msgid "MPD port"
msgstr "MPD port"
#. i18n: file: ui/configwindow.ui:2218
#. i18n: file: ui/configwindow.ui:2329
#. i18n: ectx: property (text), widget (QLabel, label_customCommand)
#: rc.cpp:307
#: rc.cpp:314
msgid "Custom command"
msgstr "Custom command"
#. i18n: file: ui/configwindow.ui:2225
#. i18n: file: ui/configwindow.ui:2336
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_customCommand)
#: rc.cpp:310
#: rc.cpp:317
msgid "Custom command to run"
msgstr "Custom command to run"
#: rc.cpp:311
#. i18n: file: ui/configwindow.ui:2356
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:320
msgid "GPU device"
msgstr "GPU device"
#. i18n: file: ui/configwindow.ui:2376
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:323
msgid "auto"
msgstr "auto"
#. i18n: file: ui/configwindow.ui:2381
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:326
msgid "nvidia"
msgstr "nvidia"
#. i18n: file: ui/configwindow.ui:2386
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:329
msgid "ati"
msgstr "ati"
#. i18n: file: ui/configwindow.ui:2437
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:335
msgid "MPD address"
msgstr "MPD address"
#. i18n: file: ui/configwindow.ui:2461
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:338
msgid "MPD port"
msgstr "MPD port"
#. i18n: file: ui/configwindow.ui:2535
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:344
msgid "pacman -Qu"
msgstr "pacman -Qu"
#. i18n: file: ui/configwindow.ui:2540
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:347
msgid "apt-show-versions -u -b"
msgstr "apt-show-versions -u -b"
#. i18n: file: ui/configwindow.ui:2545
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:350
msgid "aptitude search '~U'"
msgstr "aptitude search '~U'"
#. i18n: file: ui/configwindow.ui:2550
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:353
msgid "yum list updates"
msgstr "yum list updates"
#. i18n: file: ui/configwindow.ui:2555
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:356
msgid "pkg_version -I -l '<'"
msgstr "pkg_version -I -l '<'"
#. i18n: file: ui/configwindow.ui:2560
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:359
msgid "urpmq --auto-select"
msgstr "urpmq --auto-select"
#. i18n: file: ui/configwindow.ui:2578
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommandNum)
#: rc.cpp:362
msgid "Number of null lines"
msgstr "Number of null lines"
#: rc.cpp:370
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Evgeniy Alekseev"
#: rc.cpp:312
#: rc.cpp:371
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "esalexeev@gmail.com"
#~ msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
#~ msgstr "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
#~ msgid ""
#~ "$ds - uptime days\n"
#~ "$hs - uptime hours\n"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=157124\n"
"POT-Creation-Date: 2014-04-05 22:36+0400\n"
"PO-Revision-Date: 2014-04-05 22:36+0400\n"
"POT-Creation-Date: 2014-04-09 12:35+0400\n"
"PO-Revision-Date: 2014-04-09 12:33+0400\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: fr\n"
@ -41,13 +41,13 @@ msgstr ""
"D'avantage d'informations se trouvent sur <a href=\"http://arcanis.name/"
"projects/pytextmonitor/\">la page du projet</a>"
#. i18n: file: ui/configwindow.ui:69
#. i18n: file: ui/configwindow.ui:84
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_time)
#: rc.cpp:12
msgid "Time"
msgstr "Durée"
#. i18n: file: ui/configwindow.ui:83
#. i18n: file: ui/configwindow.ui:98
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_time)
#: rc.cpp:15
msgid ""
@ -63,13 +63,13 @@ msgstr ""
"$longtime - l'heure au format log\n"
"$custom - l'heure, format personnalisé"
#. i18n: file: ui/configwindow.ui:128
#. i18n: file: ui/configwindow.ui:143
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_uptime)
#: rc.cpp:22
msgid "Uptime"
msgstr "temps de fonctionnement"
#. i18n: file: ui/configwindow.ui:139
#. i18n: file: ui/configwindow.ui:154
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptime)
#: rc.cpp:25
msgid ""
@ -79,13 +79,13 @@ msgstr ""
"$uptime - temps de fonctionnement\n"
"$custom - format personnalisé"
#. i18n: file: ui/configwindow.ui:187
#. i18n: file: ui/configwindow.ui:202
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpu)
#: rc.cpp:29
msgid "CPU"
msgstr "CPU"
#. i18n: file: ui/configwindow.ui:205
#. i18n: file: ui/configwindow.ui:220
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpu)
#: rc.cpp:33
#, no-c-format
@ -104,13 +104,13 @@ msgstr ""
"...\n"
"$cpuN - charge processeur pour le coeur N, %"
#. i18n: file: ui/configwindow.ui:253
#. i18n: file: ui/configwindow.ui:268
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpuclock)
#: rc.cpp:41
msgid "CPU Clock"
msgstr "Horloge processeur"
#. i18n: file: ui/configwindow.ui:271
#. i18n: file: ui/configwindow.ui:286
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpuclock)
#: rc.cpp:44
msgid ""
@ -128,13 +128,13 @@ msgstr ""
"...\n"
"$cpuclN - Horloge du coeur N, MHz"
#. i18n: file: ui/configwindow.ui:319
#. i18n: file: ui/configwindow.ui:334
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_temp)
#: rc.cpp:52
msgid "Temperature"
msgstr "Température"
#. i18n: file: ui/configwindow.ui:329
#. i18n: file: ui/configwindow.ui:344
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_temp)
#: rc.cpp:55
msgid "$tempN - physical temperature on device N (from 0). Example: $temp0"
@ -142,38 +142,38 @@ msgstr ""
"$tempN - Température physique du périphérique N (à partir de 0). Exemple: "
"$temp0"
#. i18n: file: ui/configwindow.ui:377
#. i18n: file: ui/configwindow.ui:392
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpu)
#: rc.cpp:58
msgid "GPU"
msgstr "Processeur graphique"
#. i18n: file: ui/configwindow.ui:387
#. i18n: file: ui/configwindow.ui:402
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpu)
#: rc.cpp:62
#, no-c-format
msgid "$gpu - gpu usage, %"
msgstr "$gpu - utilisation du processeur graphique, %"
#. i18n: file: ui/configwindow.ui:435
#. i18n: file: ui/configwindow.ui:450
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpuTemp)
#: rc.cpp:65
msgid "GPU Temp"
msgstr "Temp du processeur graphique"
#. i18n: file: ui/configwindow.ui:445
#. i18n: file: ui/configwindow.ui:460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpuTemp)
#: rc.cpp:68
msgid "$gputemp - physical temperature on GPU"
msgstr "$gputemp - Température physique du processeur graphique"
#. i18n: file: ui/configwindow.ui:493
#. i18n: file: ui/configwindow.ui:508
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_mem)
#: rc.cpp:71
msgid "Memory"
msgstr "Mémoire"
#. i18n: file: ui/configwindow.ui:508
#. i18n: file: ui/configwindow.ui:523
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_mem)
#: rc.cpp:75
#, no-c-format
@ -186,13 +186,13 @@ msgstr ""
"$memmb - utilisation de la RAM, MB\n"
"$memgb - utilisation de la RAM, GB"
#. i18n: file: ui/configwindow.ui:556
#. i18n: file: ui/configwindow.ui:571
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_swap)
#: rc.cpp:80
msgid "Swap"
msgstr "mémoire d'échange (swap)"
#. i18n: file: ui/configwindow.ui:571
#. i18n: file: ui/configwindow.ui:586
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_swap)
#: rc.cpp:84
#, no-c-format
@ -205,47 +205,54 @@ msgstr ""
"$swapmb - utilisation swap, MB\n"
"$swapgb - utilisation swap, GB"
#. i18n: file: ui/configwindow.ui:619
#. i18n: file: ui/configwindow.ui:634
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hdd)
#. i18n: file: ui/configwindow.ui:2106
#. i18n: file: ui/configwindow.ui:2404
#. i18n: ectx: property (text), widget (QLabel, label_hdddev)
#: rc.cpp:89 rc.cpp:298
#: rc.cpp:89 rc.cpp:332
msgid "HDD"
msgstr "Disque dur"
#. i18n: file: ui/configwindow.ui:629
#. i18n: file: ui/configwindow.ui:646
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hdd)
#: rc.cpp:93
#, no-c-format
msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
msgid ""
"$hddN - usage for mount point N (from 0), %. Example: $hdd0\n"
"$hddmbN - usage for mount point N (from 0), MB. Example: $hddmb0\n"
"$hddgbN - usage for mount point N (from 0), GB. Example: $hddgb0"
msgstr ""
"$hddN - espace occupé sur le point de montage N (à partir de 0), %. Exemple: "
"$hdd0"
"$hdd0\n"
"$hddmbN - espace occupé sur le point de montage N (à partir de 0), MB. "
"Exemple: $hddmb0\n"
"$hddgbN - espace occupé sur le point de montage N (à partir de 0), GB. "
"Exemple: $hddgb0"
#. i18n: file: ui/configwindow.ui:677
#. i18n: file: ui/configwindow.ui:694
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hddTemp)
#: rc.cpp:96
#: rc.cpp:98
msgid "HDD Temp"
msgstr "Température disque dur"
#. i18n: file: ui/configwindow.ui:687
#. i18n: file: ui/configwindow.ui:704
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hddTemp)
#: rc.cpp:99
#: rc.cpp:101
msgid ""
"$hddtempN - physical temperature on device N (from 0). Example: $hddtemp0"
msgstr ""
"$hddtempN - température physique du périphérique N (à partir de 0). Exemple: "
"$hddtemp0"
#. i18n: file: ui/configwindow.ui:735
#. i18n: file: ui/configwindow.ui:752
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_net)
#: rc.cpp:102
#: rc.cpp:104
msgid "Network"
msgstr "Réseau"
#. i18n: file: ui/configwindow.ui:750
#. i18n: file: ui/configwindow.ui:767
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_net)
#: rc.cpp:105
#: rc.cpp:107
msgid ""
"$down - download speed, KB/s\n"
"$up - upload speed, KB/s\n"
@ -255,15 +262,15 @@ msgstr ""
"$up - vitesse ascendante, KB/s\n"
"$netdev - périphérique réseau actuel"
#. i18n: file: ui/configwindow.ui:798
#. i18n: file: ui/configwindow.ui:815
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_bat)
#: rc.cpp:110
#: rc.cpp:112
msgid "Battery"
msgstr "Batterie"
#. i18n: file: ui/configwindow.ui:809
#. i18n: file: ui/configwindow.ui:826
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_bat)
#: rc.cpp:114
#: rc.cpp:116
#, no-c-format
msgid ""
"$bat - battery charge, %\n"
@ -272,17 +279,17 @@ msgstr ""
"$bat - charge de la batterie, %\n"
"$ac - état de l'alimentation"
#. i18n: file: ui/configwindow.ui:857
#. i18n: file: ui/configwindow.ui:874
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_player)
#. i18n: file: ui/configwindow.ui:1347
#. i18n: file: ui/configwindow.ui:1561
#. i18n: ectx: property (text), widget (QLabel, label_playerSelect)
#: rc.cpp:118 rc.cpp:223
#: rc.cpp:120 rc.cpp:251
msgid "Music player"
msgstr "Lecteur audio"
#. i18n: file: ui/configwindow.ui:871
#. i18n: file: ui/configwindow.ui:888
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_player)
#: rc.cpp:121
#: rc.cpp:123
msgid ""
"$album - song album\n"
"$artist - song artist\n"
@ -296,33 +303,69 @@ msgstr ""
"$time - durée du morceau\n"
"$title - titre du morceau"
#. i18n: file: ui/configwindow.ui:919
#. i18n: file: ui/configwindow.ui:936
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_ps)
#: rc.cpp:130
msgid "Processes"
msgstr "Processus"
#. i18n: file: ui/configwindow.ui:948
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_ps)
#: rc.cpp:133
msgid ""
"$pscount - number of running processes\n"
"$pstotal - total number of running processes\n"
"$ps - list of running processes comma separated"
msgstr ""
"$pscount - nombre de processus en cours d'exécution\n"
" $pstotal - nombre total de processus\n"
" $ps - liste des processus en cours d'exécution séparés par des virgules"
#. i18n: file: ui/configwindow.ui:996
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_pkg)
#. i18n: file: ui/configwindow.ui:2518
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommand)
#: rc.cpp:138 rc.cpp:341
msgid "Package manager"
msgstr "Gestionnaire de paquets"
#. i18n: file: ui/configwindow.ui:1006
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_pkg)
#: rc.cpp:141
msgid ""
"$pkgcountN - number of packages which are available for updates, command N. "
"For example $pkgcount0"
msgstr ""
"$pkgcountN - nombre de paquets qui sont disponibles pour les mises à jour, "
"commande N. Exemple: $pkgcount0"
#. i18n: file: ui/configwindow.ui:1054
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_custom)
#: rc.cpp:128
#: rc.cpp:144
msgid "Custom"
msgstr "Personnalisé"
#. i18n: file: ui/configwindow.ui:929
#. i18n: file: ui/configwindow.ui:1064
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_custom)
#: rc.cpp:131
#: rc.cpp:147
msgid "$custom - get output from custom command"
msgstr "$custom - sortie d'une commande personnelle"
#. i18n: file: ui/configwindow.ui:983
#. i18n: file: ui/configwindow.ui:1122
#. i18n: ectx: attribute (title), widget (QWidget, advanced)
#: rc.cpp:134
#: rc.cpp:150
msgid "Advanced"
msgstr "Avancé"
#. i18n: file: ui/configwindow.ui:997
#. i18n: file: ui/configwindow.ui:1151
#. i18n: ectx: property (text), widget (QLabel, label_timeFormat)
#: rc.cpp:137
#: rc.cpp:153
msgid "Custom time format"
msgstr "Format de l'heure personnalisé"
#. i18n: file: ui/configwindow.ui:1019
#. i18n: file: ui/configwindow.ui:1173
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_timeFormat)
#: rc.cpp:140
#: rc.cpp:156
msgid ""
"$dddd - long weekday\n"
"$ddd - short weekday\n"
@ -358,15 +401,15 @@ msgstr ""
"$ss - secondes\n"
"$s - secondes sans zéro"
#. i18n: file: ui/configwindow.ui:1039
#. i18n: file: ui/configwindow.ui:1193
#. i18n: ectx: property (text), widget (QLabel, label_uptimeFormat)
#: rc.cpp:158
#: rc.cpp:174
msgid "Custom uptime format"
msgstr "Temps de fonctionnement personalisé"
#. i18n: file: ui/configwindow.ui:1051
#. i18n: file: ui/configwindow.ui:1205
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptimeFormat)
#: rc.cpp:161
#: rc.cpp:177
msgid ""
"$dd - uptime days\n"
"$d - uptime days without zero\n"
@ -382,29 +425,33 @@ msgstr ""
"$mm - temps de fonctionnement en minutes\n"
"$m - temps de fonctionnement en minutes sans zéro"
#. i18n: file: ui/configwindow.ui:1073
#. i18n: file: ui/configwindow.ui:1227
#. i18n: ectx: property (text), widget (QLabel, label_tempDevice)
#: rc.cpp:169
#: rc.cpp:185
msgid "Temperature devices"
msgstr "Temperature des périphériques"
#. i18n: file: ui/configwindow.ui:1099
#. i18n: file: ui/configwindow.ui:1253
#. i18n: ectx: property (text), widget (QPushButton, pushButton_tempDevice)
#. i18n: file: ui/configwindow.ui:1154
#. i18n: file: ui/configwindow.ui:1308
#. i18n: ectx: property (text), widget (QPushButton, pushButton_mount)
#. i18n: file: ui/configwindow.ui:1209
#. i18n: file: ui/configwindow.ui:1363
#. i18n: ectx: property (text), widget (QPushButton, pushButton_hddDevice)
#: rc.cpp:172 rc.cpp:182 rc.cpp:192
#. i18n: file: ui/configwindow.ui:2604
#. i18n: ectx: property (text), widget (QPushButton, pushButton_pkgCommand)
#: rc.cpp:188 rc.cpp:198 rc.cpp:208 rc.cpp:365
msgid "Add"
msgstr "Ajouter"
#. i18n: file: ui/configwindow.ui:1109
#. i18n: file: ui/configwindow.ui:1263
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_tempDevice)
#. i18n: file: ui/configwindow.ui:1164
#. i18n: file: ui/configwindow.ui:1318
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_mount)
#. i18n: file: ui/configwindow.ui:1219
#. i18n: file: ui/configwindow.ui:1373
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_hddDevice)
#: rc.cpp:175 rc.cpp:185 rc.cpp:195
#. i18n: file: ui/configwindow.ui:2614
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_pkgCommand)
#: rc.cpp:191 rc.cpp:201 rc.cpp:211 rc.cpp:368
msgid ""
"Editable\n"
"del - remove item"
@ -412,95 +459,119 @@ msgstr ""
"Modifiable\n"
"del - supprimer un élément"
#. i18n: file: ui/configwindow.ui:1128
#. i18n: file: ui/configwindow.ui:1282
#. i18n: ectx: property (text), widget (QLabel, label_mount)
#: rc.cpp:179
#: rc.cpp:195
msgid "Mount points"
msgstr "Points de montage"
#. i18n: file: ui/configwindow.ui:1183
#. i18n: file: ui/configwindow.ui:1337
#. i18n: ectx: property (text), widget (QLabel, label_hddDevice)
#: rc.cpp:189
#: rc.cpp:205
msgid "HDD devices"
msgstr "Périphériques HDD"
#. i18n: file: ui/configwindow.ui:1236
#. i18n: file: ui/configwindow.ui:1390
#. i18n: ectx: property (text), widget (QLabel, label_netdir)
#: rc.cpp:199
#: rc.cpp:215
msgid "Network directory"
msgstr "Voisinage réseau"
#. i18n: file: ui/configwindow.ui:1243
#. i18n: file: ui/configwindow.ui:1397
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_netdir)
#: rc.cpp:202
#: rc.cpp:218
msgid "\"/sys/class/net\" by default"
msgstr "\"/sys/class/net\" par défaut"
#. i18n: file: ui/configwindow.ui:1263
#. i18n: file: ui/configwindow.ui:1417
#. i18n: ectx: property (toolTip), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:205
#: rc.cpp:221
msgid "Disable auto select device and set specified device"
msgstr ""
"Désactiver la sélection automatique de périphériques et le sélectionner "
"manuellement"
#. i18n: file: ui/configwindow.ui:1266
#. i18n: file: ui/configwindow.ui:1420
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:208
#: rc.cpp:224
msgid "Set network device"
msgstr "Sélectionner le périphérique réseau"
#. i18n: file: ui/configwindow.ui:1299
#. i18n: file: ui/configwindow.ui:1453
#. i18n: ectx: property (text), widget (QLabel, label_batdev)
#: rc.cpp:211
#: rc.cpp:227
msgid "Battery device"
msgstr "Batterie"
#. i18n: file: ui/configwindow.ui:1306
#. i18n: file: ui/configwindow.ui:1460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_batdev)
#: rc.cpp:214
#: rc.cpp:230
msgid "\"/sys/class/power_supply/BAT0/capacity\" by default"
msgstr "\"/sys/class/power_supply/BAT0/capacity\" par défaut"
#. i18n: file: ui/configwindow.ui:1323
#. i18n: file: ui/configwindow.ui:1477
#. i18n: ectx: property (text), widget (QLabel, label_acOnline)
#: rc.cpp:233
msgid "AC online tag"
msgstr "AC online tag"
#. i18n: file: ui/configwindow.ui:1484
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOnline)
#: rc.cpp:236
msgid "Line, which returns when AC is online"
msgstr "Ligne, qui retourne lorsque le AC est online"
#. i18n: file: ui/configwindow.ui:1507
#. i18n: ectx: property (text), widget (QLabel, label_acOffline)
#: rc.cpp:239
msgid "AC offline tag"
msgstr "AC déconnecté tag"
#. i18n: file: ui/configwindow.ui:1514
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOffline)
#: rc.cpp:242
msgid "Line, which returns when AC is offline"
msgstr "Ligne, qui retourne lorsque le AC est offline"
#. i18n: file: ui/configwindow.ui:1537
#. i18n: ectx: property (text), widget (QLabel, label_acdev)
#: rc.cpp:217
#: rc.cpp:245
msgid "AC device"
msgstr "Périphérique d'alimentation"
#. i18n: file: ui/configwindow.ui:1330
#. i18n: file: ui/configwindow.ui:1544
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acdev)
#: rc.cpp:220
#: rc.cpp:248
msgid "\"/sys/class/power_supply/AC/online\" by default"
msgstr "\"/sys/class/power_supply/AC/online\" par défaut"
#. i18n: file: ui/configwindow.ui:1367
#. i18n: file: ui/configwindow.ui:1581
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:226
#: rc.cpp:254
msgid "amarok"
msgstr "amarok"
#. i18n: file: ui/configwindow.ui:1372
#. i18n: file: ui/configwindow.ui:1586
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:229
#: rc.cpp:257
msgid "mpd"
msgstr "mpd"
#. i18n: file: ui/configwindow.ui:1377
#. i18n: file: ui/configwindow.ui:1591
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:232
#: rc.cpp:260
msgid "qmmp"
msgstr "qmmp"
#. i18n: file: ui/configwindow.ui:1401
#. i18n: file: ui/configwindow.ui:1619
#. i18n: ectx: attribute (title), widget (QWidget, tooltip)
#: rc.cpp:235
#: rc.cpp:263
msgid "Tooltip"
msgstr "Conseil"
#. i18n: file: ui/configwindow.ui:1407
#. i18n: file: ui/configwindow.ui:1625
#. i18n: ectx: property (text), widget (QLabel, label_tooltip)
#: rc.cpp:238
#: rc.cpp:266
msgid ""
"CPU, CPU clock, memory, swap and network labels support graphical tooltip. "
"To enable them just make needed checkbox fully checked."
@ -509,154 +580,201 @@ msgstr ""
"les conseils visuels. Pour les activer cochez simplement les cases "
"correspondantes."
#. i18n: file: ui/configwindow.ui:1428
#. i18n: file: ui/configwindow.ui:1661
#. i18n: ectx: property (text), widget (QLabel, label_tooltipNum)
#: rc.cpp:241
#: rc.cpp:269
msgid "Number of values for tooltips"
msgstr "Nombre d'éléments pour les conseils"
#. i18n: file: ui/configwindow.ui:1483
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:244
msgid "CPU color"
msgstr "Couleur processeur"
#. i18n: file: ui/configwindow.ui:1523
#. i18n: file: ui/configwindow.ui:1716
#. i18n: ectx: property (text), widget (QLabel, label_cpuclockColor)
#: rc.cpp:247
#: rc.cpp:272
msgid "CPU clock color"
msgstr "Couleur de l'horloge processeur"
#. i18n: file: ui/configwindow.ui:1563
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:250
msgid "Memory color"
msgstr "Couleur de la mémoire"
#. i18n: file: ui/configwindow.ui:1603
#. i18n: file: ui/configwindow.ui:1756
#. i18n: ectx: property (text), widget (QLabel, label_swapColor)
#: rc.cpp:253
#: rc.cpp:275
msgid "Swap color"
msgstr "Couleur de la mémoire d'échange"
#. i18n: file: ui/configwindow.ui:1643
#. i18n: file: ui/configwindow.ui:1796
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:278
msgid "CPU color"
msgstr "Couleur processeur"
#. i18n: file: ui/configwindow.ui:1836
#. i18n: ectx: property (text), widget (QLabel, label_downColor)
#: rc.cpp:256
#: rc.cpp:281
msgid "Download speed color"
msgstr "Couleur de la vitesse de téléchargement"
#. i18n: file: ui/configwindow.ui:1683
#. i18n: file: ui/configwindow.ui:1876
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:284
msgid "Memory color"
msgstr "Couleur de la mémoire"
#. i18n: file: ui/configwindow.ui:1916
#. i18n: ectx: property (text), widget (QLabel, label_upColor)
#: rc.cpp:259
#: rc.cpp:287
msgid "Upload speed color"
msgstr "Couleur du téléversement"
#. i18n: file: ui/configwindow.ui:1729
#. i18n: file: ui/configwindow.ui:1966
#. i18n: ectx: attribute (title), widget (QWidget, appearance)
#: rc.cpp:262
#: rc.cpp:290
msgid "Appearance"
msgstr "Apparence"
#. i18n: file: ui/configwindow.ui:1743
#. i18n: file: ui/configwindow.ui:1995
#. i18n: ectx: property (text), widget (QLabel, label_interval)
#: rc.cpp:265
#: rc.cpp:293
msgid "Time interval"
msgstr "Intervalle"
#. i18n: file: ui/configwindow.ui:1798
#. i18n: file: ui/configwindow.ui:2050
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: rc.cpp:268
#: rc.cpp:296
msgid "Font"
msgstr "Police"
#. i18n: file: ui/configwindow.ui:1838
#. i18n: file: ui/configwindow.ui:2090
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: rc.cpp:271
#: rc.cpp:299
msgid "Font size"
msgstr "Taille de la police"
#. i18n: file: ui/configwindow.ui:1893
#. i18n: file: ui/configwindow.ui:2145
#. i18n: ectx: property (text), widget (QLabel, label_color)
#: rc.cpp:274
#: rc.cpp:302
msgid "Font color"
msgstr "Couleur de la police"
#. i18n: file: ui/configwindow.ui:1933
#. i18n: file: ui/configwindow.ui:2185
#. i18n: ectx: property (text), widget (QLabel, label_style)
#: rc.cpp:277
#: rc.cpp:305
msgid "Font style"
msgstr "Style de la police"
#. i18n: file: ui/configwindow.ui:1983
#. i18n: file: ui/configwindow.ui:2235
#. i18n: ectx: property (text), widget (QLabel, label_weight)
#: rc.cpp:280
#: rc.cpp:308
msgid "Font weight"
msgstr "Épaisseur de la police"
#. i18n: file: ui/configwindow.ui:2044
#. i18n: file: ui/configwindow.ui:2300
#. i18n: ectx: attribute (title), widget (QWidget, dataengine)
#: rc.cpp:283
#: rc.cpp:311
msgid "DataEngine"
msgstr "Moteur de données"
#. i18n: file: ui/configwindow.ui:2058
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:286
msgid "GPU device"
msgstr "Périphérique graphique"
#. i18n: file: ui/configwindow.ui:2078
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:289
msgid "auto"
msgstr "auto"
#. i18n: file: ui/configwindow.ui:2083
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:292
msgid "nvidia"
msgstr "nvidia"
#. i18n: file: ui/configwindow.ui:2088
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:295
msgid "ati"
msgstr "ati"
#. i18n: file: ui/configwindow.ui:2139
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:301
msgid "MPD address"
msgstr "Adresse MPD"
#. i18n: file: ui/configwindow.ui:2163
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:304
msgid "MPD port"
msgstr "Port MPD"
#. i18n: file: ui/configwindow.ui:2218
#. i18n: file: ui/configwindow.ui:2329
#. i18n: ectx: property (text), widget (QLabel, label_customCommand)
#: rc.cpp:307
#: rc.cpp:314
msgid "Custom command"
msgstr "Commande personnalisée"
#. i18n: file: ui/configwindow.ui:2225
#. i18n: file: ui/configwindow.ui:2336
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_customCommand)
#: rc.cpp:310
#: rc.cpp:317
msgid "Custom command to run"
msgstr "Commande personnalisée à exécuter"
#: rc.cpp:311
#. i18n: file: ui/configwindow.ui:2356
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:320
msgid "GPU device"
msgstr "Périphérique graphique"
#. i18n: file: ui/configwindow.ui:2376
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:323
msgid "auto"
msgstr "auto"
#. i18n: file: ui/configwindow.ui:2381
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:326
msgid "nvidia"
msgstr "nvidia"
#. i18n: file: ui/configwindow.ui:2386
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:329
msgid "ati"
msgstr "ati"
#. i18n: file: ui/configwindow.ui:2437
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:335
msgid "MPD address"
msgstr "Adresse MPD"
#. i18n: file: ui/configwindow.ui:2461
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:338
msgid "MPD port"
msgstr "Port MPD"
#. i18n: file: ui/configwindow.ui:2535
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:344
msgid "pacman -Qu"
msgstr "pacman -Qu"
#. i18n: file: ui/configwindow.ui:2540
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:347
msgid "apt-show-versions -u -b"
msgstr "apt-show-versions -u -b"
#. i18n: file: ui/configwindow.ui:2545
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:350
msgid "aptitude search '~U'"
msgstr "aptitude search '~U'"
#. i18n: file: ui/configwindow.ui:2550
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:353
msgid "yum list updates"
msgstr "yum list updates"
#. i18n: file: ui/configwindow.ui:2555
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:356
msgid "pkg_version -I -l '<'"
msgstr "pkg_version -I -l '<'"
#. i18n: file: ui/configwindow.ui:2560
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:359
msgid "urpmq --auto-select"
msgstr "urpmq --auto-select"
#. i18n: file: ui/configwindow.ui:2578
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommandNum)
#: rc.cpp:362
msgid "Number of null lines"
msgstr "Nombre de lignes nulles"
#: rc.cpp:370
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Evgeniy Alekseev"
#: rc.cpp:312
#: rc.cpp:371
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "esalexeev@gmail.com"
#~ msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
#~ msgstr ""
#~ "$hddN - espace occupé sur le point de montage N (à partir de 0), %. "
#~ "Exemple: $hdd0"
#~ msgid ""
#~ "$ds - uptime days\n"
#~ "$hs - uptime hours\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=157124\n"
"POT-Creation-Date: 2014-04-05 22:36+0400\n"
"POT-Creation-Date: 2014-04-09 12:35+0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -37,13 +37,13 @@ msgid ""
"pytextmonitor/\">project homepage</a>"
msgstr ""
#. i18n: file: ui/configwindow.ui:69
#. i18n: file: ui/configwindow.ui:84
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_time)
#: rc.cpp:12
msgid "Time"
msgstr ""
#. i18n: file: ui/configwindow.ui:83
#. i18n: file: ui/configwindow.ui:98
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_time)
#: rc.cpp:15
msgid ""
@ -54,13 +54,13 @@ msgid ""
"$custom - custom time format"
msgstr ""
#. i18n: file: ui/configwindow.ui:128
#. i18n: file: ui/configwindow.ui:143
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_uptime)
#: rc.cpp:22
msgid "Uptime"
msgstr ""
#. i18n: file: ui/configwindow.ui:139
#. i18n: file: ui/configwindow.ui:154
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptime)
#: rc.cpp:25
msgid ""
@ -68,13 +68,13 @@ msgid ""
"$custom - custom format"
msgstr ""
#. i18n: file: ui/configwindow.ui:187
#. i18n: file: ui/configwindow.ui:202
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpu)
#: rc.cpp:29
msgid "CPU"
msgstr ""
#. i18n: file: ui/configwindow.ui:205
#. i18n: file: ui/configwindow.ui:220
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpu)
#: rc.cpp:33
#, no-c-format
@ -87,13 +87,13 @@ msgid ""
"$cpuN - load CPU for core N, %"
msgstr ""
#. i18n: file: ui/configwindow.ui:253
#. i18n: file: ui/configwindow.ui:268
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpuclock)
#: rc.cpp:41
msgid "CPU Clock"
msgstr ""
#. i18n: file: ui/configwindow.ui:271
#. i18n: file: ui/configwindow.ui:286
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpuclock)
#: rc.cpp:44
msgid ""
@ -105,50 +105,50 @@ msgid ""
"$cpuclN - CPU clock for core N, MHz"
msgstr ""
#. i18n: file: ui/configwindow.ui:319
#. i18n: file: ui/configwindow.ui:334
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_temp)
#: rc.cpp:52
msgid "Temperature"
msgstr ""
#. i18n: file: ui/configwindow.ui:329
#. i18n: file: ui/configwindow.ui:344
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_temp)
#: rc.cpp:55
msgid "$tempN - physical temperature on device N (from 0). Example: $temp0"
msgstr ""
#. i18n: file: ui/configwindow.ui:377
#. i18n: file: ui/configwindow.ui:392
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpu)
#: rc.cpp:58
msgid "GPU"
msgstr ""
#. i18n: file: ui/configwindow.ui:387
#. i18n: file: ui/configwindow.ui:402
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpu)
#: rc.cpp:62
#, no-c-format
msgid "$gpu - gpu usage, %"
msgstr ""
#. i18n: file: ui/configwindow.ui:435
#. i18n: file: ui/configwindow.ui:450
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpuTemp)
#: rc.cpp:65
msgid "GPU Temp"
msgstr ""
#. i18n: file: ui/configwindow.ui:445
#. i18n: file: ui/configwindow.ui:460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpuTemp)
#: rc.cpp:68
msgid "$gputemp - physical temperature on GPU"
msgstr ""
#. i18n: file: ui/configwindow.ui:493
#. i18n: file: ui/configwindow.ui:508
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_mem)
#: rc.cpp:71
msgid "Memory"
msgstr ""
#. i18n: file: ui/configwindow.ui:508
#. i18n: file: ui/configwindow.ui:523
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_mem)
#: rc.cpp:75
#, no-c-format
@ -158,13 +158,13 @@ msgid ""
"$memgb - RAM usage, GB"
msgstr ""
#. i18n: file: ui/configwindow.ui:556
#. i18n: file: ui/configwindow.ui:571
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_swap)
#: rc.cpp:80
msgid "Swap"
msgstr ""
#. i18n: file: ui/configwindow.ui:571
#. i18n: file: ui/configwindow.ui:586
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_swap)
#: rc.cpp:84
#, no-c-format
@ -174,75 +174,78 @@ msgid ""
"$swapgb - swap usage, GB"
msgstr ""
#. i18n: file: ui/configwindow.ui:619
#. i18n: file: ui/configwindow.ui:634
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hdd)
#. i18n: file: ui/configwindow.ui:2106
#. i18n: file: ui/configwindow.ui:2404
#. i18n: ectx: property (text), widget (QLabel, label_hdddev)
#: rc.cpp:89 rc.cpp:298
#: rc.cpp:89 rc.cpp:332
msgid "HDD"
msgstr ""
#. i18n: file: ui/configwindow.ui:629
#. i18n: file: ui/configwindow.ui:646
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hdd)
#: rc.cpp:93
#, no-c-format
msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
msgid ""
"$hddN - usage for mount point N (from 0), %. Example: $hdd0\n"
"$hddmbN - usage for mount point N (from 0), MB. Example: $hddmb0\n"
"$hddgbN - usage for mount point N (from 0), GB. Example: $hddgb0"
msgstr ""
#. i18n: file: ui/configwindow.ui:677
#. i18n: file: ui/configwindow.ui:694
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hddTemp)
#: rc.cpp:96
#: rc.cpp:98
msgid "HDD Temp"
msgstr ""
#. i18n: file: ui/configwindow.ui:687
#. i18n: file: ui/configwindow.ui:704
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hddTemp)
#: rc.cpp:99
#: rc.cpp:101
msgid ""
"$hddtempN - physical temperature on device N (from 0). Example: $hddtemp0"
msgstr ""
#. i18n: file: ui/configwindow.ui:735
#. i18n: file: ui/configwindow.ui:752
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_net)
#: rc.cpp:102
#: rc.cpp:104
msgid "Network"
msgstr ""
#. i18n: file: ui/configwindow.ui:750
#. i18n: file: ui/configwindow.ui:767
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_net)
#: rc.cpp:105
#: rc.cpp:107
msgid ""
"$down - download speed, KB/s\n"
"$up - upload speed, KB/s\n"
"$netdev - current network device"
msgstr ""
#. i18n: file: ui/configwindow.ui:798
#. i18n: file: ui/configwindow.ui:815
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_bat)
#: rc.cpp:110
#: rc.cpp:112
msgid "Battery"
msgstr ""
#. i18n: file: ui/configwindow.ui:809
#. i18n: file: ui/configwindow.ui:826
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_bat)
#: rc.cpp:114
#: rc.cpp:116
#, no-c-format
msgid ""
"$bat - battery charge, %\n"
"$ac - AC status"
msgstr ""
#. i18n: file: ui/configwindow.ui:857
#. i18n: file: ui/configwindow.ui:874
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_player)
#. i18n: file: ui/configwindow.ui:1347
#. i18n: file: ui/configwindow.ui:1561
#. i18n: ectx: property (text), widget (QLabel, label_playerSelect)
#: rc.cpp:118 rc.cpp:223
#: rc.cpp:120 rc.cpp:251
msgid "Music player"
msgstr ""
#. i18n: file: ui/configwindow.ui:871
#. i18n: file: ui/configwindow.ui:888
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_player)
#: rc.cpp:121
#: rc.cpp:123
msgid ""
"$album - song album\n"
"$artist - song artist\n"
@ -251,33 +254,64 @@ msgid ""
"$title - song title"
msgstr ""
#. i18n: file: ui/configwindow.ui:919
#. i18n: file: ui/configwindow.ui:936
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_ps)
#: rc.cpp:130
msgid "Processes"
msgstr ""
#. i18n: file: ui/configwindow.ui:948
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_ps)
#: rc.cpp:133
msgid ""
"$pscount - number of running processes\n"
"$pstotal - total number of running processes\n"
"$ps - list of running processes comma separated"
msgstr ""
#. i18n: file: ui/configwindow.ui:996
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_pkg)
#. i18n: file: ui/configwindow.ui:2518
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommand)
#: rc.cpp:138 rc.cpp:341
msgid "Package manager"
msgstr ""
#. i18n: file: ui/configwindow.ui:1006
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_pkg)
#: rc.cpp:141
msgid ""
"$pkgcountN - number of packages which are available for updates, command N. "
"For example $pkgcount0"
msgstr ""
#. i18n: file: ui/configwindow.ui:1054
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_custom)
#: rc.cpp:128
#: rc.cpp:144
msgid "Custom"
msgstr ""
#. i18n: file: ui/configwindow.ui:929
#. i18n: file: ui/configwindow.ui:1064
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_custom)
#: rc.cpp:131
#: rc.cpp:147
msgid "$custom - get output from custom command"
msgstr ""
#. i18n: file: ui/configwindow.ui:983
#. i18n: file: ui/configwindow.ui:1122
#. i18n: ectx: attribute (title), widget (QWidget, advanced)
#: rc.cpp:134
#: rc.cpp:150
msgid "Advanced"
msgstr ""
#. i18n: file: ui/configwindow.ui:997
#. i18n: file: ui/configwindow.ui:1151
#. i18n: ectx: property (text), widget (QLabel, label_timeFormat)
#: rc.cpp:137
#: rc.cpp:153
msgid "Custom time format"
msgstr ""
#. i18n: file: ui/configwindow.ui:1019
#. i18n: file: ui/configwindow.ui:1173
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_timeFormat)
#: rc.cpp:140
#: rc.cpp:156
msgid ""
"$dddd - long weekday\n"
"$ddd - short weekday\n"
@ -297,15 +331,15 @@ msgid ""
"$s - seconds w\\o zero"
msgstr ""
#. i18n: file: ui/configwindow.ui:1039
#. i18n: file: ui/configwindow.ui:1193
#. i18n: ectx: property (text), widget (QLabel, label_uptimeFormat)
#: rc.cpp:158
#: rc.cpp:174
msgid "Custom uptime format"
msgstr ""
#. i18n: file: ui/configwindow.ui:1051
#. i18n: file: ui/configwindow.ui:1205
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptimeFormat)
#: rc.cpp:161
#: rc.cpp:177
msgid ""
"$dd - uptime days\n"
"$d - uptime days without zero\n"
@ -315,270 +349,340 @@ msgid ""
"$m - uptime minutes without zero"
msgstr ""
#. i18n: file: ui/configwindow.ui:1073
#. i18n: file: ui/configwindow.ui:1227
#. i18n: ectx: property (text), widget (QLabel, label_tempDevice)
#: rc.cpp:169
#: rc.cpp:185
msgid "Temperature devices"
msgstr ""
#. i18n: file: ui/configwindow.ui:1099
#. i18n: file: ui/configwindow.ui:1253
#. i18n: ectx: property (text), widget (QPushButton, pushButton_tempDevice)
#. i18n: file: ui/configwindow.ui:1154
#. i18n: file: ui/configwindow.ui:1308
#. i18n: ectx: property (text), widget (QPushButton, pushButton_mount)
#. i18n: file: ui/configwindow.ui:1209
#. i18n: file: ui/configwindow.ui:1363
#. i18n: ectx: property (text), widget (QPushButton, pushButton_hddDevice)
#: rc.cpp:172 rc.cpp:182 rc.cpp:192
#. i18n: file: ui/configwindow.ui:2604
#. i18n: ectx: property (text), widget (QPushButton, pushButton_pkgCommand)
#: rc.cpp:188 rc.cpp:198 rc.cpp:208 rc.cpp:365
msgid "Add"
msgstr ""
#. i18n: file: ui/configwindow.ui:1109
#. i18n: file: ui/configwindow.ui:1263
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_tempDevice)
#. i18n: file: ui/configwindow.ui:1164
#. i18n: file: ui/configwindow.ui:1318
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_mount)
#. i18n: file: ui/configwindow.ui:1219
#. i18n: file: ui/configwindow.ui:1373
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_hddDevice)
#: rc.cpp:175 rc.cpp:185 rc.cpp:195
#. i18n: file: ui/configwindow.ui:2614
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_pkgCommand)
#: rc.cpp:191 rc.cpp:201 rc.cpp:211 rc.cpp:368
msgid ""
"Editable\n"
"del - remove item"
msgstr ""
#. i18n: file: ui/configwindow.ui:1128
#. i18n: file: ui/configwindow.ui:1282
#. i18n: ectx: property (text), widget (QLabel, label_mount)
#: rc.cpp:179
#: rc.cpp:195
msgid "Mount points"
msgstr ""
#. i18n: file: ui/configwindow.ui:1183
#. i18n: file: ui/configwindow.ui:1337
#. i18n: ectx: property (text), widget (QLabel, label_hddDevice)
#: rc.cpp:189
#: rc.cpp:205
msgid "HDD devices"
msgstr ""
#. i18n: file: ui/configwindow.ui:1236
#. i18n: file: ui/configwindow.ui:1390
#. i18n: ectx: property (text), widget (QLabel, label_netdir)
#: rc.cpp:199
#: rc.cpp:215
msgid "Network directory"
msgstr ""
#. i18n: file: ui/configwindow.ui:1243
#. i18n: file: ui/configwindow.ui:1397
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_netdir)
#: rc.cpp:202
#: rc.cpp:218
msgid "\"/sys/class/net\" by default"
msgstr ""
#. i18n: file: ui/configwindow.ui:1263
#. i18n: file: ui/configwindow.ui:1417
#. i18n: ectx: property (toolTip), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:205
#: rc.cpp:221
msgid "Disable auto select device and set specified device"
msgstr ""
#. i18n: file: ui/configwindow.ui:1266
#. i18n: file: ui/configwindow.ui:1420
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:208
#: rc.cpp:224
msgid "Set network device"
msgstr ""
#. i18n: file: ui/configwindow.ui:1299
#. i18n: file: ui/configwindow.ui:1453
#. i18n: ectx: property (text), widget (QLabel, label_batdev)
#: rc.cpp:211
#: rc.cpp:227
msgid "Battery device"
msgstr ""
#. i18n: file: ui/configwindow.ui:1306
#. i18n: file: ui/configwindow.ui:1460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_batdev)
#: rc.cpp:214
#: rc.cpp:230
msgid "\"/sys/class/power_supply/BAT0/capacity\" by default"
msgstr ""
#. i18n: file: ui/configwindow.ui:1323
#. i18n: file: ui/configwindow.ui:1477
#. i18n: ectx: property (text), widget (QLabel, label_acOnline)
#: rc.cpp:233
msgid "AC online tag"
msgstr ""
#. i18n: file: ui/configwindow.ui:1484
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOnline)
#: rc.cpp:236
msgid "Line, which returns when AC is online"
msgstr ""
#. i18n: file: ui/configwindow.ui:1507
#. i18n: ectx: property (text), widget (QLabel, label_acOffline)
#: rc.cpp:239
msgid "AC offline tag"
msgstr ""
#. i18n: file: ui/configwindow.ui:1514
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOffline)
#: rc.cpp:242
msgid "Line, which returns when AC is offline"
msgstr ""
#. i18n: file: ui/configwindow.ui:1537
#. i18n: ectx: property (text), widget (QLabel, label_acdev)
#: rc.cpp:217
#: rc.cpp:245
msgid "AC device"
msgstr ""
#. i18n: file: ui/configwindow.ui:1330
#. i18n: file: ui/configwindow.ui:1544
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acdev)
#: rc.cpp:220
#: rc.cpp:248
msgid "\"/sys/class/power_supply/AC/online\" by default"
msgstr ""
#. i18n: file: ui/configwindow.ui:1367
#. i18n: file: ui/configwindow.ui:1581
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:226
#: rc.cpp:254
msgid "amarok"
msgstr ""
#. i18n: file: ui/configwindow.ui:1372
#. i18n: file: ui/configwindow.ui:1586
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:229
#: rc.cpp:257
msgid "mpd"
msgstr ""
#. i18n: file: ui/configwindow.ui:1377
#. i18n: file: ui/configwindow.ui:1591
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:232
#: rc.cpp:260
msgid "qmmp"
msgstr ""
#. i18n: file: ui/configwindow.ui:1401
#. i18n: file: ui/configwindow.ui:1619
#. i18n: ectx: attribute (title), widget (QWidget, tooltip)
#: rc.cpp:235
#: rc.cpp:263
msgid "Tooltip"
msgstr ""
#. i18n: file: ui/configwindow.ui:1407
#. i18n: file: ui/configwindow.ui:1625
#. i18n: ectx: property (text), widget (QLabel, label_tooltip)
#: rc.cpp:238
#: rc.cpp:266
msgid ""
"CPU, CPU clock, memory, swap and network labels support graphical tooltip. "
"To enable them just make needed checkbox fully checked."
msgstr ""
#. i18n: file: ui/configwindow.ui:1428
#. i18n: file: ui/configwindow.ui:1661
#. i18n: ectx: property (text), widget (QLabel, label_tooltipNum)
#: rc.cpp:241
#: rc.cpp:269
msgid "Number of values for tooltips"
msgstr ""
#. i18n: file: ui/configwindow.ui:1483
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:244
msgid "CPU color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1523
#. i18n: file: ui/configwindow.ui:1716
#. i18n: ectx: property (text), widget (QLabel, label_cpuclockColor)
#: rc.cpp:247
#: rc.cpp:272
msgid "CPU clock color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1563
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:250
msgid "Memory color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1603
#. i18n: file: ui/configwindow.ui:1756
#. i18n: ectx: property (text), widget (QLabel, label_swapColor)
#: rc.cpp:253
#: rc.cpp:275
msgid "Swap color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1643
#. i18n: file: ui/configwindow.ui:1796
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:278
msgid "CPU color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1836
#. i18n: ectx: property (text), widget (QLabel, label_downColor)
#: rc.cpp:256
#: rc.cpp:281
msgid "Download speed color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1683
#. i18n: file: ui/configwindow.ui:1876
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:284
msgid "Memory color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1916
#. i18n: ectx: property (text), widget (QLabel, label_upColor)
#: rc.cpp:259
#: rc.cpp:287
msgid "Upload speed color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1729
#. i18n: file: ui/configwindow.ui:1966
#. i18n: ectx: attribute (title), widget (QWidget, appearance)
#: rc.cpp:262
#: rc.cpp:290
msgid "Appearance"
msgstr ""
#. i18n: file: ui/configwindow.ui:1743
#. i18n: file: ui/configwindow.ui:1995
#. i18n: ectx: property (text), widget (QLabel, label_interval)
#: rc.cpp:265
#: rc.cpp:293
msgid "Time interval"
msgstr ""
#. i18n: file: ui/configwindow.ui:1798
#. i18n: file: ui/configwindow.ui:2050
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: rc.cpp:268
#: rc.cpp:296
msgid "Font"
msgstr ""
#. i18n: file: ui/configwindow.ui:1838
#. i18n: file: ui/configwindow.ui:2090
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: rc.cpp:271
#: rc.cpp:299
msgid "Font size"
msgstr ""
#. i18n: file: ui/configwindow.ui:1893
#. i18n: file: ui/configwindow.ui:2145
#. i18n: ectx: property (text), widget (QLabel, label_color)
#: rc.cpp:274
#: rc.cpp:302
msgid "Font color"
msgstr ""
#. i18n: file: ui/configwindow.ui:1933
#. i18n: file: ui/configwindow.ui:2185
#. i18n: ectx: property (text), widget (QLabel, label_style)
#: rc.cpp:277
#: rc.cpp:305
msgid "Font style"
msgstr ""
#. i18n: file: ui/configwindow.ui:1983
#. i18n: file: ui/configwindow.ui:2235
#. i18n: ectx: property (text), widget (QLabel, label_weight)
#: rc.cpp:280
#: rc.cpp:308
msgid "Font weight"
msgstr ""
#. i18n: file: ui/configwindow.ui:2044
#. i18n: file: ui/configwindow.ui:2300
#. i18n: ectx: attribute (title), widget (QWidget, dataengine)
#: rc.cpp:283
#: rc.cpp:311
msgid "DataEngine"
msgstr ""
#. i18n: file: ui/configwindow.ui:2058
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:286
msgid "GPU device"
msgstr ""
#. i18n: file: ui/configwindow.ui:2078
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:289
msgid "auto"
msgstr ""
#. i18n: file: ui/configwindow.ui:2083
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:292
msgid "nvidia"
msgstr ""
#. i18n: file: ui/configwindow.ui:2088
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:295
msgid "ati"
msgstr ""
#. i18n: file: ui/configwindow.ui:2139
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:301
msgid "MPD address"
msgstr ""
#. i18n: file: ui/configwindow.ui:2163
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:304
msgid "MPD port"
msgstr ""
#. i18n: file: ui/configwindow.ui:2218
#. i18n: file: ui/configwindow.ui:2329
#. i18n: ectx: property (text), widget (QLabel, label_customCommand)
#: rc.cpp:307
#: rc.cpp:314
msgid "Custom command"
msgstr ""
#. i18n: file: ui/configwindow.ui:2225
#. i18n: file: ui/configwindow.ui:2336
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_customCommand)
#: rc.cpp:310
#: rc.cpp:317
msgid "Custom command to run"
msgstr ""
#: rc.cpp:311
#. i18n: file: ui/configwindow.ui:2356
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:320
msgid "GPU device"
msgstr ""
#. i18n: file: ui/configwindow.ui:2376
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:323
msgid "auto"
msgstr ""
#. i18n: file: ui/configwindow.ui:2381
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:326
msgid "nvidia"
msgstr ""
#. i18n: file: ui/configwindow.ui:2386
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:329
msgid "ati"
msgstr ""
#. i18n: file: ui/configwindow.ui:2437
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:335
msgid "MPD address"
msgstr ""
#. i18n: file: ui/configwindow.ui:2461
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:338
msgid "MPD port"
msgstr ""
#. i18n: file: ui/configwindow.ui:2535
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:344
msgid "pacman -Qu"
msgstr ""
#. i18n: file: ui/configwindow.ui:2540
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:347
msgid "apt-show-versions -u -b"
msgstr ""
#. i18n: file: ui/configwindow.ui:2545
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:350
msgid "aptitude search '~U'"
msgstr ""
#. i18n: file: ui/configwindow.ui:2550
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:353
msgid "yum list updates"
msgstr ""
#. i18n: file: ui/configwindow.ui:2555
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:356
msgid "pkg_version -I -l '<'"
msgstr ""
#. i18n: file: ui/configwindow.ui:2560
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:359
msgid "urpmq --auto-select"
msgstr ""
#. i18n: file: ui/configwindow.ui:2578
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommandNum)
#: rc.cpp:362
msgid "Number of null lines"
msgstr ""
#: rc.cpp:370
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: rc.cpp:312
#: rc.cpp:371
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=157124\n"
"POT-Creation-Date: 2014-04-05 22:36+0400\n"
"PO-Revision-Date: 2014-04-05 22:37+0400\n"
"POT-Creation-Date: 2014-04-09 12:35+0400\n"
"PO-Revision-Date: 2014-04-09 12:26+0400\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n"
@ -40,13 +40,13 @@ msgstr ""
"Подробная информация может быть найдена на <a href=\"http://arcanis.name/ru/"
"projects/pytextmonitor/\">домашней странице проекта</a>"
#. i18n: file: ui/configwindow.ui:69
#. i18n: file: ui/configwindow.ui:84
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_time)
#: rc.cpp:12
msgid "Time"
msgstr "Время"
#. i18n: file: ui/configwindow.ui:83
#. i18n: file: ui/configwindow.ui:98
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_time)
#: rc.cpp:15
msgid ""
@ -62,13 +62,13 @@ msgstr ""
"$longtime - время в длинном формате\n"
"$custom - свой формат времени"
#. i18n: file: ui/configwindow.ui:128
#. i18n: file: ui/configwindow.ui:143
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_uptime)
#: rc.cpp:22
msgid "Uptime"
msgstr "Время работы"
#. i18n: file: ui/configwindow.ui:139
#. i18n: file: ui/configwindow.ui:154
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptime)
#: rc.cpp:25
msgid ""
@ -78,13 +78,13 @@ msgstr ""
"$uptime - время работы\n"
"$custom - свой формат"
#. i18n: file: ui/configwindow.ui:187
#. i18n: file: ui/configwindow.ui:202
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpu)
#: rc.cpp:29
msgid "CPU"
msgstr "CPU"
#. i18n: file: ui/configwindow.ui:205
#. i18n: file: ui/configwindow.ui:220
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpu)
#: rc.cpp:33
#, no-c-format
@ -103,13 +103,13 @@ msgstr ""
"...\n"
"$cpuN - загрузка CPU для ядра N, %"
#. i18n: file: ui/configwindow.ui:253
#. i18n: file: ui/configwindow.ui:268
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_cpuclock)
#: rc.cpp:41
msgid "CPU Clock"
msgstr "Частота CPU"
#. i18n: file: ui/configwindow.ui:271
#. i18n: file: ui/configwindow.ui:286
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_cpuclock)
#: rc.cpp:44
msgid ""
@ -127,50 +127,50 @@ msgstr ""
"...\n"
"$cpuclN - частота CPU для ядра N, MHz"
#. i18n: file: ui/configwindow.ui:319
#. i18n: file: ui/configwindow.ui:334
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_temp)
#: rc.cpp:52
msgid "Temperature"
msgstr "Температура"
#. i18n: file: ui/configwindow.ui:329
#. i18n: file: ui/configwindow.ui:344
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_temp)
#: rc.cpp:55
msgid "$tempN - physical temperature on device N (from 0). Example: $temp0"
msgstr "$tempN - физическая температура на устройстве N (от 0). Пример: $temp0"
#. i18n: file: ui/configwindow.ui:377
#. i18n: file: ui/configwindow.ui:392
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpu)
#: rc.cpp:58
msgid "GPU"
msgstr "GPU"
#. i18n: file: ui/configwindow.ui:387
#. i18n: file: ui/configwindow.ui:402
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpu)
#: rc.cpp:62
#, no-c-format
msgid "$gpu - gpu usage, %"
msgstr "$gpu - использование GPU, %"
#. i18n: file: ui/configwindow.ui:435
#. i18n: file: ui/configwindow.ui:450
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_gpuTemp)
#: rc.cpp:65
msgid "GPU Temp"
msgstr "Температура GPU"
#. i18n: file: ui/configwindow.ui:445
#. i18n: file: ui/configwindow.ui:460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_gpuTemp)
#: rc.cpp:68
msgid "$gputemp - physical temperature on GPU"
msgstr "$gputemp - физическая температура на GPU"
#. i18n: file: ui/configwindow.ui:493
#. i18n: file: ui/configwindow.ui:508
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_mem)
#: rc.cpp:71
msgid "Memory"
msgstr "Память"
#. i18n: file: ui/configwindow.ui:508
#. i18n: file: ui/configwindow.ui:523
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_mem)
#: rc.cpp:75
#, no-c-format
@ -183,13 +183,13 @@ msgstr ""
"$memmb - использование RAM, MB\n"
"$memgb - использование RAM, GB"
#. i18n: file: ui/configwindow.ui:556
#. i18n: file: ui/configwindow.ui:571
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_swap)
#: rc.cpp:80
msgid "Swap"
msgstr "Swap"
#. i18n: file: ui/configwindow.ui:571
#. i18n: file: ui/configwindow.ui:586
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_swap)
#: rc.cpp:84
#, no-c-format
@ -202,45 +202,51 @@ msgstr ""
"$swapmb - использование swap, MB\n"
"$swapgb - использование swap, GB"
#. i18n: file: ui/configwindow.ui:619
#. i18n: file: ui/configwindow.ui:634
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hdd)
#. i18n: file: ui/configwindow.ui:2106
#. i18n: file: ui/configwindow.ui:2404
#. i18n: ectx: property (text), widget (QLabel, label_hdddev)
#: rc.cpp:89 rc.cpp:298
#: rc.cpp:89 rc.cpp:332
msgid "HDD"
msgstr "HDD"
#. i18n: file: ui/configwindow.ui:629
#. i18n: file: ui/configwindow.ui:646
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hdd)
#: rc.cpp:93
#, no-c-format
msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
msgstr "$hddN - использование точки монтирования N (от 0), %. Пример: $hdd0"
msgid ""
"$hddN - usage for mount point N (from 0), %. Example: $hdd0\n"
"$hddmbN - usage for mount point N (from 0), MB. Example: $hddmb0\n"
"$hddgbN - usage for mount point N (from 0), GB. Example: $hddgb0"
msgstr ""
"$hddN - usage for mount point N (from 0), %. Example: $hdd0\n"
"$hddmbN - usage for mount point N (from 0), MB. Example: $hddmb0\n"
"$hddgbN - usage for mount point N (from 0), GB. Example: $hddgb0"
#. i18n: file: ui/configwindow.ui:677
#. i18n: file: ui/configwindow.ui:694
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_hddTemp)
#: rc.cpp:96
#: rc.cpp:98
msgid "HDD Temp"
msgstr "Температура HDD"
#. i18n: file: ui/configwindow.ui:687
#. i18n: file: ui/configwindow.ui:704
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_hddTemp)
#: rc.cpp:99
#: rc.cpp:101
msgid ""
"$hddtempN - physical temperature on device N (from 0). Example: $hddtemp0"
msgstr ""
"$hddtempN - physical temperature on device N (from 0). Example: $hddtemp0 "
"$hddtempN - температура на устройстве N (от 0). Пример: $hddtemp0"
#. i18n: file: ui/configwindow.ui:735
#. i18n: file: ui/configwindow.ui:752
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_net)
#: rc.cpp:102
#: rc.cpp:104
msgid "Network"
msgstr "Сеть"
#. i18n: file: ui/configwindow.ui:750
#. i18n: file: ui/configwindow.ui:767
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_net)
#: rc.cpp:105
#: rc.cpp:107
msgid ""
"$down - download speed, KB/s\n"
"$up - upload speed, KB/s\n"
@ -250,15 +256,15 @@ msgstr ""
"$up - скорость загрузки, KB/s\n"
"$netdev - текущее устройство"
#. i18n: file: ui/configwindow.ui:798
#. i18n: file: ui/configwindow.ui:815
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_bat)
#: rc.cpp:110
#: rc.cpp:112
msgid "Battery"
msgstr "Батарея"
#. i18n: file: ui/configwindow.ui:809
#. i18n: file: ui/configwindow.ui:826
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_bat)
#: rc.cpp:114
#: rc.cpp:116
#, no-c-format
msgid ""
"$bat - battery charge, %\n"
@ -267,17 +273,17 @@ msgstr ""
"$bat - заряд батареи, %\n"
"$ac - статус адаптора питания"
#. i18n: file: ui/configwindow.ui:857
#. i18n: file: ui/configwindow.ui:874
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_player)
#. i18n: file: ui/configwindow.ui:1347
#. i18n: file: ui/configwindow.ui:1561
#. i18n: ectx: property (text), widget (QLabel, label_playerSelect)
#: rc.cpp:118 rc.cpp:223
#: rc.cpp:120 rc.cpp:251
msgid "Music player"
msgstr "Музыкальный плеер"
#. i18n: file: ui/configwindow.ui:871
#. i18n: file: ui/configwindow.ui:888
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_player)
#: rc.cpp:121
#: rc.cpp:123
msgid ""
"$album - song album\n"
"$artist - song artist\n"
@ -291,33 +297,69 @@ msgstr ""
"$time - продолжительность\n"
"$title - название"
#. i18n: file: ui/configwindow.ui:919
#. i18n: file: ui/configwindow.ui:936
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_ps)
#: rc.cpp:130
msgid "Processes"
msgstr "Процессы"
#. i18n: file: ui/configwindow.ui:948
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_ps)
#: rc.cpp:133
msgid ""
"$pscount - number of running processes\n"
"$pstotal - total number of running processes\n"
"$ps - list of running processes comma separated"
msgstr ""
"$pscount - число запущенных процессов\n"
"$pstotal - общее число процессов\n"
"$ps - список запущенных процессов, разделенных запятыми"
#. i18n: file: ui/configwindow.ui:996
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_pkg)
#. i18n: file: ui/configwindow.ui:2518
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommand)
#: rc.cpp:138 rc.cpp:341
msgid "Package manager"
msgstr "Пакетный менеджер"
#. i18n: file: ui/configwindow.ui:1006
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_pkg)
#: rc.cpp:141
msgid ""
"$pkgcountN - number of packages which are available for updates, command N. "
"For example $pkgcount0"
msgstr ""
"$pkgcountN - число пакетов, которые доступны для обновления, для команды N. "
"Например, $pkgcount0"
#. i18n: file: ui/configwindow.ui:1054
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_custom)
#: rc.cpp:128
#: rc.cpp:144
msgid "Custom"
msgstr "Своя команда"
#. i18n: file: ui/configwindow.ui:929
#. i18n: file: ui/configwindow.ui:1064
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_custom)
#: rc.cpp:131
#: rc.cpp:147
msgid "$custom - get output from custom command"
msgstr "$custom - получить информацию из своей команды"
#. i18n: file: ui/configwindow.ui:983
#. i18n: file: ui/configwindow.ui:1122
#. i18n: ectx: attribute (title), widget (QWidget, advanced)
#: rc.cpp:134
#: rc.cpp:150
msgid "Advanced"
msgstr "Расширенные"
#. i18n: file: ui/configwindow.ui:997
#. i18n: file: ui/configwindow.ui:1151
#. i18n: ectx: property (text), widget (QLabel, label_timeFormat)
#: rc.cpp:137
#: rc.cpp:153
msgid "Custom time format"
msgstr "Свой формат времени"
#. i18n: file: ui/configwindow.ui:1019
#. i18n: file: ui/configwindow.ui:1173
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_timeFormat)
#: rc.cpp:140
#: rc.cpp:156
msgid ""
"$dddd - long weekday\n"
"$ddd - short weekday\n"
@ -353,15 +395,15 @@ msgstr ""
"$ss - секунды\n"
"$s - секунды без 0"
#. i18n: file: ui/configwindow.ui:1039
#. i18n: file: ui/configwindow.ui:1193
#. i18n: ectx: property (text), widget (QLabel, label_uptimeFormat)
#: rc.cpp:158
#: rc.cpp:174
msgid "Custom uptime format"
msgstr "Свой формат аптайма"
#. i18n: file: ui/configwindow.ui:1051
#. i18n: file: ui/configwindow.ui:1205
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_uptimeFormat)
#: rc.cpp:161
#: rc.cpp:177
msgid ""
"$dd - uptime days\n"
"$d - uptime days without zero\n"
@ -377,29 +419,33 @@ msgstr ""
"$mm - минуты аптайма\n"
"$m - минуты аптайма без нулей"
#. i18n: file: ui/configwindow.ui:1073
#. i18n: file: ui/configwindow.ui:1227
#. i18n: ectx: property (text), widget (QLabel, label_tempDevice)
#: rc.cpp:169
#: rc.cpp:185
msgid "Temperature devices"
msgstr "Температурные устройства"
#. i18n: file: ui/configwindow.ui:1099
#. i18n: file: ui/configwindow.ui:1253
#. i18n: ectx: property (text), widget (QPushButton, pushButton_tempDevice)
#. i18n: file: ui/configwindow.ui:1154
#. i18n: file: ui/configwindow.ui:1308
#. i18n: ectx: property (text), widget (QPushButton, pushButton_mount)
#. i18n: file: ui/configwindow.ui:1209
#. i18n: file: ui/configwindow.ui:1363
#. i18n: ectx: property (text), widget (QPushButton, pushButton_hddDevice)
#: rc.cpp:172 rc.cpp:182 rc.cpp:192
#. i18n: file: ui/configwindow.ui:2604
#. i18n: ectx: property (text), widget (QPushButton, pushButton_pkgCommand)
#: rc.cpp:188 rc.cpp:198 rc.cpp:208 rc.cpp:365
msgid "Add"
msgstr "Добавить"
#. i18n: file: ui/configwindow.ui:1109
#. i18n: file: ui/configwindow.ui:1263
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_tempDevice)
#. i18n: file: ui/configwindow.ui:1164
#. i18n: file: ui/configwindow.ui:1318
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_mount)
#. i18n: file: ui/configwindow.ui:1219
#. i18n: file: ui/configwindow.ui:1373
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_hddDevice)
#: rc.cpp:175 rc.cpp:185 rc.cpp:195
#. i18n: file: ui/configwindow.ui:2614
#. i18n: ectx: property (toolTip), widget (QListWidget, listWidget_pkgCommand)
#: rc.cpp:191 rc.cpp:201 rc.cpp:211 rc.cpp:368
msgid ""
"Editable\n"
"del - remove item"
@ -407,93 +453,117 @@ msgstr ""
"Редактируемо\n"
"del - удалить строку"
#. i18n: file: ui/configwindow.ui:1128
#. i18n: file: ui/configwindow.ui:1282
#. i18n: ectx: property (text), widget (QLabel, label_mount)
#: rc.cpp:179
#: rc.cpp:195
msgid "Mount points"
msgstr "Точки монтирования"
#. i18n: file: ui/configwindow.ui:1183
#. i18n: file: ui/configwindow.ui:1337
#. i18n: ectx: property (text), widget (QLabel, label_hddDevice)
#: rc.cpp:189
#: rc.cpp:205
msgid "HDD devices"
msgstr "HDD"
#. i18n: file: ui/configwindow.ui:1236
#. i18n: file: ui/configwindow.ui:1390
#. i18n: ectx: property (text), widget (QLabel, label_netdir)
#: rc.cpp:199
#: rc.cpp:215
msgid "Network directory"
msgstr "Путь к интерфейсам"
#. i18n: file: ui/configwindow.ui:1243
#. i18n: file: ui/configwindow.ui:1397
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_netdir)
#: rc.cpp:202
#: rc.cpp:218
msgid "\"/sys/class/net\" by default"
msgstr "\"/sys/class/net\" по умолчанию"
#. i18n: file: ui/configwindow.ui:1263
#. i18n: file: ui/configwindow.ui:1417
#. i18n: ectx: property (toolTip), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:205
#: rc.cpp:221
msgid "Disable auto select device and set specified device"
msgstr "Отключить авто выбор устройства и использовать указанное"
#. i18n: file: ui/configwindow.ui:1266
#. i18n: file: ui/configwindow.ui:1420
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_netdev)
#: rc.cpp:208
#: rc.cpp:224
msgid "Set network device"
msgstr "Выберете сетевое устройство"
#. i18n: file: ui/configwindow.ui:1299
#. i18n: file: ui/configwindow.ui:1453
#. i18n: ectx: property (text), widget (QLabel, label_batdev)
#: rc.cpp:211
#: rc.cpp:227
msgid "Battery device"
msgstr "Устройство батареи"
#. i18n: file: ui/configwindow.ui:1306
#. i18n: file: ui/configwindow.ui:1460
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_batdev)
#: rc.cpp:214
#: rc.cpp:230
msgid "\"/sys/class/power_supply/BAT0/capacity\" by default"
msgstr "\"/sys/class/power_supply/BAT0/capacity\" по умолчанию"
#. i18n: file: ui/configwindow.ui:1323
#. i18n: file: ui/configwindow.ui:1477
#. i18n: ectx: property (text), widget (QLabel, label_acOnline)
#: rc.cpp:233
msgid "AC online tag"
msgstr "AC подключен"
#. i18n: file: ui/configwindow.ui:1484
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOnline)
#: rc.cpp:236
msgid "Line, which returns when AC is online"
msgstr "Строка, возвращаемая при подключенном адапторе питания"
#. i18n: file: ui/configwindow.ui:1507
#. i18n: ectx: property (text), widget (QLabel, label_acOffline)
#: rc.cpp:239
msgid "AC offline tag"
msgstr "AC отключен"
#. i18n: file: ui/configwindow.ui:1514
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acOffline)
#: rc.cpp:242
msgid "Line, which returns when AC is offline"
msgstr "Строка, возвращаемая при отключенном адапторе питания"
#. i18n: file: ui/configwindow.ui:1537
#. i18n: ectx: property (text), widget (QLabel, label_acdev)
#: rc.cpp:217
#: rc.cpp:245
msgid "AC device"
msgstr "Устройство AC"
#. i18n: file: ui/configwindow.ui:1330
#. i18n: file: ui/configwindow.ui:1544
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_acdev)
#: rc.cpp:220
#: rc.cpp:248
msgid "\"/sys/class/power_supply/AC/online\" by default"
msgstr "\"/sys/class/power_supply/AC/online\" по умолчанию"
#. i18n: file: ui/configwindow.ui:1367
#. i18n: file: ui/configwindow.ui:1581
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:226
#: rc.cpp:254
msgid "amarok"
msgstr "amarok"
#. i18n: file: ui/configwindow.ui:1372
#. i18n: file: ui/configwindow.ui:1586
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:229
#: rc.cpp:257
msgid "mpd"
msgstr "mpd"
#. i18n: file: ui/configwindow.ui:1377
#. i18n: file: ui/configwindow.ui:1591
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_playerSelect)
#: rc.cpp:232
#: rc.cpp:260
msgid "qmmp"
msgstr "qmmp"
#. i18n: file: ui/configwindow.ui:1401
#. i18n: file: ui/configwindow.ui:1619
#. i18n: ectx: attribute (title), widget (QWidget, tooltip)
#: rc.cpp:235
#: rc.cpp:263
msgid "Tooltip"
msgstr "Тултип"
#. i18n: file: ui/configwindow.ui:1407
#. i18n: file: ui/configwindow.ui:1625
#. i18n: ectx: property (text), widget (QLabel, label_tooltip)
#: rc.cpp:238
#: rc.cpp:266
msgid ""
"CPU, CPU clock, memory, swap and network labels support graphical tooltip. "
"To enable them just make needed checkbox fully checked."
@ -501,154 +571,199 @@ msgstr ""
"Поля CPU, частота CPU, память, swap, сеть поддерживают графический тултип. "
"Чтобы включить его, просто сделайте требуемые чекбоксы полностью чекнутыми."
#. i18n: file: ui/configwindow.ui:1428
#. i18n: file: ui/configwindow.ui:1661
#. i18n: ectx: property (text), widget (QLabel, label_tooltipNum)
#: rc.cpp:241
#: rc.cpp:269
msgid "Number of values for tooltips"
msgstr "Число хранящихся значений"
#. i18n: file: ui/configwindow.ui:1483
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:244
msgid "CPU color"
msgstr "Цвет CPU"
#. i18n: file: ui/configwindow.ui:1523
#. i18n: file: ui/configwindow.ui:1716
#. i18n: ectx: property (text), widget (QLabel, label_cpuclockColor)
#: rc.cpp:247
#: rc.cpp:272
msgid "CPU clock color"
msgstr "Цвет частоты CPU"
#. i18n: file: ui/configwindow.ui:1563
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:250
msgid "Memory color"
msgstr "Цвет памяти"
#. i18n: file: ui/configwindow.ui:1603
#. i18n: file: ui/configwindow.ui:1756
#. i18n: ectx: property (text), widget (QLabel, label_swapColor)
#: rc.cpp:253
#: rc.cpp:275
msgid "Swap color"
msgstr "Цвет swap"
#. i18n: file: ui/configwindow.ui:1643
#. i18n: file: ui/configwindow.ui:1796
#. i18n: ectx: property (text), widget (QLabel, label_cpuColor)
#: rc.cpp:278
msgid "CPU color"
msgstr "Цвет CPU"
#. i18n: file: ui/configwindow.ui:1836
#. i18n: ectx: property (text), widget (QLabel, label_downColor)
#: rc.cpp:256
#: rc.cpp:281
msgid "Download speed color"
msgstr "Цвет скорости загрузки"
#. i18n: file: ui/configwindow.ui:1683
#. i18n: file: ui/configwindow.ui:1876
#. i18n: ectx: property (text), widget (QLabel, label_memColor)
#: rc.cpp:284
msgid "Memory color"
msgstr "Цвет памяти"
#. i18n: file: ui/configwindow.ui:1916
#. i18n: ectx: property (text), widget (QLabel, label_upColor)
#: rc.cpp:259
#: rc.cpp:287
msgid "Upload speed color"
msgstr "Цвет скорости отдачи"
#. i18n: file: ui/configwindow.ui:1729
#. i18n: file: ui/configwindow.ui:1966
#. i18n: ectx: attribute (title), widget (QWidget, appearance)
#: rc.cpp:262
#: rc.cpp:290
msgid "Appearance"
msgstr "Внешний вид"
#. i18n: file: ui/configwindow.ui:1743
#. i18n: file: ui/configwindow.ui:1995
#. i18n: ectx: property (text), widget (QLabel, label_interval)
#: rc.cpp:265
#: rc.cpp:293
msgid "Time interval"
msgstr "Интервал обновления"
#. i18n: file: ui/configwindow.ui:1798
#. i18n: file: ui/configwindow.ui:2050
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: rc.cpp:268
#: rc.cpp:296
msgid "Font"
msgstr "Шрифт"
#. i18n: file: ui/configwindow.ui:1838
#. i18n: file: ui/configwindow.ui:2090
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: rc.cpp:271
#: rc.cpp:299
msgid "Font size"
msgstr "Размер шрифта"
#. i18n: file: ui/configwindow.ui:1893
#. i18n: file: ui/configwindow.ui:2145
#. i18n: ectx: property (text), widget (QLabel, label_color)
#: rc.cpp:274
#: rc.cpp:302
msgid "Font color"
msgstr "Цвет шрифта"
#. i18n: file: ui/configwindow.ui:1933
#. i18n: file: ui/configwindow.ui:2185
#. i18n: ectx: property (text), widget (QLabel, label_style)
#: rc.cpp:277
#: rc.cpp:305
msgid "Font style"
msgstr "Стиль шрифта"
#. i18n: file: ui/configwindow.ui:1983
#. i18n: file: ui/configwindow.ui:2235
#. i18n: ectx: property (text), widget (QLabel, label_weight)
#: rc.cpp:280
#: rc.cpp:308
msgid "Font weight"
msgstr "Ширина шрифта"
#. i18n: file: ui/configwindow.ui:2044
#. i18n: file: ui/configwindow.ui:2300
#. i18n: ectx: attribute (title), widget (QWidget, dataengine)
#: rc.cpp:283
#: rc.cpp:311
msgid "DataEngine"
msgstr "DataEngine"
#. i18n: file: ui/configwindow.ui:2058
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:286
msgid "GPU device"
msgstr "Устройство GPU"
#. i18n: file: ui/configwindow.ui:2078
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:289
msgid "auto"
msgstr "auto"
#. i18n: file: ui/configwindow.ui:2083
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:292
msgid "nvidia"
msgstr "nvidia"
#. i18n: file: ui/configwindow.ui:2088
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:295
msgid "ati"
msgstr "ati"
#. i18n: file: ui/configwindow.ui:2139
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:301
msgid "MPD address"
msgstr "Адрес сервера MPD"
#. i18n: file: ui/configwindow.ui:2163
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:304
msgid "MPD port"
msgstr "Порт сервера MPD"
#. i18n: file: ui/configwindow.ui:2218
#. i18n: file: ui/configwindow.ui:2329
#. i18n: ectx: property (text), widget (QLabel, label_customCommand)
#: rc.cpp:307
#: rc.cpp:314
msgid "Custom command"
msgstr "Своя команда"
#. i18n: file: ui/configwindow.ui:2225
#. i18n: file: ui/configwindow.ui:2336
#. i18n: ectx: property (toolTip), widget (QLineEdit, lineEdit_customCommand)
#: rc.cpp:310
#: rc.cpp:317
msgid "Custom command to run"
msgstr "Своя команда для запуска"
#: rc.cpp:311
#. i18n: file: ui/configwindow.ui:2356
#. i18n: ectx: property (text), widget (QLabel, label_gpudev)
#: rc.cpp:320
msgid "GPU device"
msgstr "Устройство GPU"
#. i18n: file: ui/configwindow.ui:2376
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:323
msgid "auto"
msgstr "auto"
#. i18n: file: ui/configwindow.ui:2381
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:326
msgid "nvidia"
msgstr "nvidia"
#. i18n: file: ui/configwindow.ui:2386
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_gpudev)
#: rc.cpp:329
msgid "ati"
msgstr "ati"
#. i18n: file: ui/configwindow.ui:2437
#. i18n: ectx: property (text), widget (QLabel, label_mpdaddress)
#: rc.cpp:335
msgid "MPD address"
msgstr "Адрес сервера MPD"
#. i18n: file: ui/configwindow.ui:2461
#. i18n: ectx: property (text), widget (QLabel, label_mpdport)
#: rc.cpp:338
msgid "MPD port"
msgstr "Порт сервера MPD"
#. i18n: file: ui/configwindow.ui:2535
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:344
msgid "pacman -Qu"
msgstr "pacman -Qu"
#. i18n: file: ui/configwindow.ui:2540
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:347
msgid "apt-show-versions -u -b"
msgstr "apt-show-versions -u -b"
#. i18n: file: ui/configwindow.ui:2545
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:350
msgid "aptitude search '~U'"
msgstr "aptitude search '~U'"
#. i18n: file: ui/configwindow.ui:2550
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:353
msgid "yum list updates"
msgstr "yum list updates"
#. i18n: file: ui/configwindow.ui:2555
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:356
msgid "pkg_version -I -l '<'"
msgstr "pkg_version -I -l '<'"
#. i18n: file: ui/configwindow.ui:2560
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_pkgCommand)
#: rc.cpp:359
msgid "urpmq --auto-select"
msgstr "urpmq --auto-select"
#. i18n: file: ui/configwindow.ui:2578
#. i18n: ectx: property (text), widget (QLabel, label_pkgCommandNum)
#: rc.cpp:362
msgid "Number of null lines"
msgstr "Число пустых линий"
#: rc.cpp:370
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Evgeniy Alekseev"
#: rc.cpp:312
#: rc.cpp:371
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "esalexeev@gmail.com"
#~ msgid "$hddN - usage for mount point N (from 0), %. Example: $hdd0"
#~ msgstr "$hddN - использование точки монтирования N (от 0), %. Пример: $hdd0"
#~ msgid ""
#~ "$ds - uptime days\n"
#~ "$hs - uptime hours\n"