--- hasTr: true layout: project title: py-text-monitor short: pytextmonitor hasgui: true developers: - Evgeniy Alelseev - Ernesto Avilés Vzqz (Spanish translation) - Mermouy (French translation) - underr (Brazillian Portuguese translation) - Виктор Слободян (Ukrainian translation) license: GPLv3 links: - Plasmoid page on kde-look.org - DataEngine page on kde-look.org - Archlinux AUR package ---

Information

A minimalistic Plasmoid script written on Python2. It looks like widgets in Awesome WM. My plasmoid is highly and easily configurable and does not clutter your KDE system. Also this packages has an additional DataEngine written on CPP (old version was written on Python2).

NOTE: LOOKING FOR TRANSLATORS!

Developers and contributors

License

Changelog

CHANGELOG

Installation

Instruction

Dependencies

I want note that all were tested on latest version of dependencies.

How to use

Open your Plasma widgetes and select Py Text Monitor.

Tips & tricks

You may use different colors for labels. Just put label text into html code. See issue for more details.

Numbering of elements of temperature, HDD usage, HDD speed, HDD temperature refers to elements order from second tab (Advanced settings). You should add item to the required listWidget first. And the first element in the listWidget will be $tag0. See issue for more details.

Configuration

DataEngine configuration

You may edit DataEngine configuration. It is /usr/share/config/extsysmon.conf or $HOME/.kde4/share/config/extsysmon.conf depending on the type of installation. Uncomment needed line and edit it.

DataEngine options

CUSTOM

Custom commands to run. Default is wget -qO- http://ifconfig.me/ip. Separator is @@.

DESKTOPCMD

Command which defines the current desktop. Default is qdbus org.kde.kwin /KWin currentDesktop.

GPUDEV

Set GPU device. May be nvidia (for nVidia), ati (for ATI Radeon), disable or auto. Default is auto.

HDDDEV

Set block device for hddtemp comma separated or use all. disable will disable HDD temperature monitor. Default is all.

HDDTEMPCMD

A command which will be run for hddtemp DataEngine. Default is sudo hddtemp.

MPDADDRESS

MPD host address. Default is localhost.

MPDPORT

MPD host port. Default is 6600.

PKGCMD

Commands to run for package manager, comma separated.

PKGNULL

Number of null lines for commands, comma separated.

PLAYER

Set music player. Supported players are amarok, clementine, mpd, qmmp.

Widget configuration

For edited output you must open Settings window and setup output format in lines. Label order will changed if you change slider position. HTML tags in label work normally.
NOTE You do not may set to show $cpu in swap label for example. $cpu will work only in cpu label.

Available flags are in the table below.
NOTE The numbering of all arrays in variables starts at 0.

Time label $time

Time in default format. For example, fri Nov 6 04:48:01 2013.

$isotime

Time in ISO format.

$shorttime

Time in short locale format.

$longtime

Time in long locale format.

$custom

Will enable custom time format.

Uptime label $uptime

System uptime, ---d--h--m.

$custom

Will enable custom uptime format.

CPU label $cpu

Total load CPU, %, -----.

$cpuN

Load CPU for core N, %, -----.

CPU clock label $cpucl

Average CPU clock, MHz, ----.

$cpuclN

CPU clock for core N, MHz, ----.

Temperature label $tempN

Temperature for device N, °C, ----. For example, $temp0.

GPU label $gpu

GPU usage, %, -----. aticonfig or nvidia-smi must be installed.

GPU temperature label $gputemp

GPU temperature, °C, ----. aticonfig or nvidia-smi must be installed.

Memory label $mem

Memory usage, %, -----.

$memmb

Memory usage, MB, -----.

$memgb

Memory usage, GB, ----.

$memtotmb

RAM, MB, -----.

$memtotgb

RAM, GB, ----.

Swap label $swap

Swap usage, %, -----.

$swapmb

Swap usage, MB, -----.

$swapgb

Swap usage, GB, ----.

$swaptotmb

Swap, MB, -----.

$swaptotgb

Swap, GB, ----.

HDD usage label $hddN

Usage for mount point N, %, -----. For example $hdd0.

$hddmbN

Usage for mount point N, MB, -----. For example $hddmb0.

$hddgbN

Usage for mount point N, GB, -----. For example $hddgb0.

$hddtotmbN

Total size of mount point N, MB, -----. For example $hddtotmb0.

$hddtotgbN

Total size of mount point N, GB, -----. For example $hddtotgb0.

HDD speed label $hddrN

Read speed of disk N, KB/s, -----. For example $hddr0.

$hddwN

Write speed of disk N, KB/s, -----. For example $hddw0.

HDD temperature label $hddtempN

Temperature for HDD N, °C, ----. For example $hddtemp0. hddtemp must be installed.

Network label $down

Download speed, KB/s, ----.

$up

Upload speed, KB/s, ----.

$netdev

Current network device.

Battery label $bat

Battery charge, %, ---.

$ac

Status of AC device. Returns (*) if AC device is online or ( ) if offline.

Music player label $album

Current song album. One of supported music players must be installed.

$artist

Current song artist. One of supported music players must be installed.

$progress

Current song progress. One of supported music players must be installed.

$time

Current song duration. One of supported music players must be installed.

$title

Current song title. One of supported music players must be installed.

Process label $ps

List of running processes comma separated.

$pscount

Number of running processes.

$pstotal

Total number of processes.

Package manager label $pkgcountN

Number of packages, which available to upgrade for command N.

Custom label $customN

Get output from custom command N. For example $custom0.

Desktop label $name

Name of the current desktop.

$number

Number of the current desktop.

$total

Total number of desktops.

Advanced settings

Enable background: Uncheck to disable default background and set transparent one.

Vertical layout: Use vertical layout instead of horizontal one.

Enable popup: Uncheck box if you do not use popup messages.

Add stretch: Add stretch (spacer) to the selected side of the widget.

Custom time format:

$dddd

Weekday in long format.

$ddd

Weekday in short format.

$dd

Day.

$d

Day without zero.

$MMMM

Month in long format.

$MMM

Month in short format.

$MM

Month.

$M

Month without zero.

$yyyy

Year.

$yy

Year in short format.

$hh

Hours.

$h

Hours without zero.

$mm

Minutes.

$m

Minutes without zero.

$ss

Seconds.

$s

Seconds without zero.

Custom uptime format:

$dd

Uptime days.

$d

Uptime days without zero.

$hh

Uptime hours.

$h

Uptime hours without zero.

$mm

Uptime minutes.

$m

Uptime minutes without zero.

Temperature units: Select units for temperature. Available units are Celsius, Farenheit and Kelvin.

Temperature devices: List of devices, which will be observed in temperature label (combo box items come from sensors). List widget is editable, delete key will remove current item.

Mount points: List of mount points, which will be observed in HDD label (combo box items come from mount). List widget is editable, delete key will remove current item.

HDDs (speed): List of hard disk devices, which will be observed in HDD speed label (combo box items come from DataEngine). List widget is editable, delete key will remove current item.

HDDs (temperature): List of hard disk devices, which will be observed in HDD temperature label (combo box items come from find). List widget is editable, delete key will remove current item.

Network directory: Path to directory, which contains network devices information. Default is /sys/class/net. It is required for auto select of network device.

Network device: Use specified device as active. Combo box items come from network directory. This option will disable auto select network device.

Battery device: File with battery information. The 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. Default is (*).

AC offline tag: Line which will be shown when AC is offline. Default is ( ).

AC device: File with AC information. The file (/sys/class/power_supply/AC/online by default) should contain 1 if AC is online.

Tooltips

Since version 1.7.0 CPU, CPU clock, memory, swap and network labels support graphical tooltip. To enable them just make the needed checkboxes a fully checked. The number of stored values can be set in the tab. Colors of graphs are configurable too.

DataEngine settings

Custom command: NOTE this label may cause the computer freeze. Commands, which will be run for custom label. For example, wget -qO- http://ifconfig.me/ip will return external IP.

Desktop cmd: Type a command which will be run for desktop DataEngine. Default is qdbus org.kde.kwin /KWin currentDesktop.

GPU device: Select one of supported GPU devices. auto will enable auto selection, disable will disable all GPU monitors. Default is auto.

HDD: Select one of HDDs for HDD temperature monitor. all will enable monitor for all devices, disable will disable HDD temperature monitor. Default is all.

hddtemp cmd: Type a command which will be run for hddtemp DataEngine. Default is sudo hddtemp.

MPD address: Address of MPD server. Default is localhost.

MPD port: Port of MPD server. Default is 6600.

Package manager: List of commands, which will be run. Number of null lines is a number of unneeded lines. Defaults are:

Distro

Command

Number

Arch

pacman -Qu 0

Debian

apt-show-versions -u -b 0

Ubuntu

aptitude search '~U' 0

Fedora

yum list updates 3

FreeBSD

pkg_version -I -l '<' 0

Mandriva

urpmq --auto-select 0

Music player: Select one of supported music playes for player label.

PTM desktop panel

Since version 1.11.0 PyTextMonitor provides a minimalistic panel for monitoring on desktops written on C++. And yes, it looks like the same panel in Awesome.

Desktop panel configuration

Enable background: Uncheck to disable default background and set transparent one.

Vertical layout: Use vertical layout instead of horizontal one.

Add stretch: Add stretch (spacer) to the selected side of the widget.

Mark: Type symbol (or string) which will be shown if this desktop is active now.

Pattern tags

$mark

Show mark if this desktop is active.

$name

Name of the desktop.

$number

Number of the desktop.

$total

Total number of desktops.

Command: Type command which will be run on left click on the selected desktop. Available variables are same as for pattern. Default is dbus org.kde.kwin /KWin setCurrentDesktop $number.

Graphical user interface

Screenshots

{% assign scrdesc = "Widget (clickable)" %} {% assign scrname = "pytextmonitor_widget" %} {% include prj_scr.html %} {% assign scrdesc = "Configuration window" %} {% assign scrname = "pytextmonitor_config_01" %} {% include prj_scr.html %} {% assign scrdesc = "Configuration window" %} {% assign scrname = "pytextmonitor_config_02" %} {% include prj_scr.html %} {% assign scrdesc = "Configuration window" %} {% assign scrname = "pytextmonitor_config_03" %} {% include prj_scr.html %} {% assign scrdesc = "Configuration window" %} {% assign scrname = "pytextmonitor_config_04" %} {% include prj_scr.html %} {% assign scrdesc = "Configuration window" %} {% assign scrname = "pytextmonitor_config_05" %} {% include prj_scr.html %} {% assign scrdesc = "Tooltips" %} {% assign scrname = "pytextmonitor_tooltips" %} {% include prj_scr.html %}