py-text-monitor

General information
Installation guide
How to use
Configuration
GUI
Screenshots
Links

Report a bug

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

pytextmonitor_widget
Widget (clickable)
pytextmonitor_config_01
Configuration window
pytextmonitor_config_02
Configuration window
pytextmonitor_config_03
Configuration window
pytextmonitor_config_04
Configuration window
pytextmonitor_config_05
Configuration window
pytextmonitor_tooltips
Tooltips

Links