20 KiB
permalink | hastr | layout | title | short | tags | hasgui | hasdocs | developers | license | links | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
projects/awesome-widgets | true | project | Awesome Widgets | awesome-widgets | python, kde, qt, linux, system, awesome | true | false |
|
GPLv3 |
|
A collection of minimalistic easily configurable Plasmoids written on C++/Qt
.
They look like widgets in Awesome WM.
Also this packages has an additional system [DataEngine]
(//techbase.kde.org/Development/Tutorials/Plasma/DataEngines "Developers tutorial").
NOTE: LOOKING FOR TRANSLATORS!
PLASMA 5 COMPATIBLE!
Developers and contributors
{% for devel in page.developers %}
- {{ devel }}{% endfor %}
License
- {{ page.license }}
Changelog
Installation
Instruction
-
Download an archive with latest version of source files.
-
Extract it and install:
cd /where/is/applet/ mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../ make sudo make install
NOTE: on Plasma 5 it very likely requires
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
flag.
Dependencies
I want note that all were tested on latest version of dependencies.
- plasma-framework
- cmake (make)
- extra-cmake-modules (make)
- hddtemp or smartmontools (optional, for HDD temperature monitor)
- one of supported music player (optional, for music player monitor)
- proprietary video driver (optional, for GPU monitor)
How to use
Open your Plasma widgets and select Awesome Widget
.
Tips & tricks
You may use different colours inside. Just put label text into html code. See issue for more details.
Configuration
DataEngine configuration
You may edit DataEngine configuration. It is /etc/xdg/plasma-dataengine-extsysmon.conf
and $HOME/.config/plasma-dataengine-extsysmon.conf
. Uncomment needed line and
edit it.
DataEngine options
ACPIPATH | Path to ACPI devices. Default is /sys/class/power_supply/ . |
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 . Supported applications are hddtemp and smartmontools . |
MPDADDRESS | MPD host address. Default is localhost . |
MPDPORT | MPD host port. Default is 6600 . |
PLAYER | Set music player. Supported players are mpd and MPRIS/DBus supported. disable will disable this monitor. |
PLAYERSYMBOLS | Select symbols count for dynamic player tags. Default is 10 . |
Widget configuration
For edited output you must open Settings window and setup output format. HTML tags work normally.
Available flags are in the table below.
NOTE The numbering of all arrays in variables starts at 0.
Tag | Description | Since |
---|---|---|
$time |
Time in default format. For example, fri Nov 6 04:48:01 2013 . |
1.5.1 |
$isotime |
Time in ISO format. | 1.5.2 |
$shorttime |
Time in short locale format. | 1.5.2 |
$longtime |
Time in long locale format. | 1.5.2 |
$ctime |
Will enable custom time format. | 2.0.0 |
$uptime |
System uptime, ---d--h--m . |
|
$cuptime |
Will enable custom uptime format. | 2.0.0 |
$la1 |
Load average over 1 min, ----- . |
2.4.0 |
$la5 |
Load average over 5 min, ----- . |
2.4.0 |
$la15 |
Load average over 15 min, ----- . |
2.4.0 |
$cpu |
Total load CPU, %, ----- . |
|
$cpuN |
Load CPU for core N, %, ----- . |
1.7.0 |
$cpucl |
Average CPU clock, MHz, ---- . |
1.1.2 |
$cpuclN |
CPU clock for core N, MHz, ---- . |
1.7.0 |
$tempN |
Temperature for device N, ---- . For example, $temp0 . |
|
$gpu |
GPU usage, %, ----- . aticonfig or nvidia-smi must be installed. |
1.3.2 |
$gputemp |
GPU temperature, ---- . aticonfig or nvidia-smi must be installed. |
1.3.2 |
$mem |
Memory usage, %, ----- . |
|
$memmb |
Memory usage, MB, ----- . |
1.1.1 |
$memgb |
Memory usage, GB, ---- . |
1.7.3 |
$memfreemb |
Free memory, MB, ----- . |
2.0.0 |
$memfreegb |
Free memory, GB, ---- . |
2.0.0 |
$memtotmb |
RAM, MB, ----- . |
1.10.0 |
$memtotgb |
RAM, GB, ---- . |
1.10.0 |
$memusedmb |
Used and cached memory, MB, ----- . |
2.0.0 |
$memusedgb |
Used and cached memory, GB, ---- . |
2.0.0 |
$swap |
Swap usage, %, ----- . |
|
$swapmb |
Swap usage, MB, ----- . |
1.1.1 |
$swapgb |
Swap usage, GB, ---- . |
1.7.3 |
$swapfreemb |
Free swap, MB, ----- . |
2.0.0 |
$swapfreegb |
Free swap, GB, ---- . |
2.0.0 |
$swaptotmb |
Swap, MB, ----- . |
1.10.0 |
$swaptotgb |
Swap, GB, ---- . |
1.10.0 |
$hddN |
Usage for mount point N, %, ----- . For example $hdd0 . |
1.3.2 |
$hddmbN |
Usage for mount point N, MB, ----- . For example $hddmb0 . |
1.8.0 |
$hddgbN |
Usage for mount point N, GB, ----- . For example $hddgb0 . |
1.8.0 |
$hddfreembN |
Free space for mount point N, MB, ----- . For example $hddfreemb0 . |
2.0.0 |
$hddfreegbN |
Free space for mount point N, GB, ----- . For example $hddfreegb0 . |
2.0.0 |
$hddtotmbN |
Total size of mount point N, MB, ----- . For example $hddtotmb0 . |
1.10.0 |
$hddtotgbN |
Total size of mount point N, GB, ----- . For example $hddtotgb0 . |
1.10.0 |
$hddrN |
Read speed of disk N, KB/s, ----- . For example $hddr0 . |
1.9.0 |
$hddwN |
Write speed of disk N, KB/s, ----- . For example $hddw0 . |
1.9.0 |
$hddtempN |
Temperature for HDD N, ---- . For example $hddtemp0 . hddtemp or smartmontools must be installed. |
1.7.0 |
$down |
Download speed for active device, KB/s or MB/s, ---- . |
1.7.0 |
$downkb |
Download speed for active device, KB/s, ---- . |
3.0.0 |
$downunits |
Download speed units for active device, ---- . |
3.0.0 |
$downN |
Download speed for device N, KB/s or MB/s, ---- . |
2.2.0 |
$downkbN |
Download speed for device N, KB/s, ---- . |
3.0.0 |
$downunitsN |
Download speed units for device N, ---- . |
3.0.0 |
$up |
Upload speed for active device, KB/s or MB/s, ---- . |
1.7.0 |
$upkb |
Upload speed for active device, KB/s, ---- . |
3.0.0 |
$upunits |
Upload speed units for active device, ---- . |
3.0.0 |
$upN |
Upload speed for device N, KB/s or MB/s, ---- . |
2.2.0 |
$upkbN |
Upload speed for device N, KB/s, ---- . |
3.0.0 |
$upunitsN |
Upload speed units for device N, ---- . |
3.0.0 |
$netdev |
Current network device. | 1.1.1 |
$bat |
Average battery charge, %, --- . |
|
$batN |
Battery N charge, %, --- . |
2.0.3 |
$ac |
Status of AC device. Returns (*) if AC device is online or ( ) if offline. |
|
$album |
Current song album. One of supported music players must be installed. | 1.5.3 |
$dalbum |
Current song album with fixed symbols count shown as a running line. | 3.0.0 |
$salbum |
Current song album with fixed symbols count shown with three dots at the end. | 3.0.0 |
$artist |
Current song artist. One of supported music players must be installed. | 1.5.0 |
$dartist |
Current song artist with fixed symbols count shown as a running line. | 3.0.0 |
$sartist |
Current song artist with fixed symbols count shown with three dots at the end. | 3.0.0 |
$duration |
Current song duration. One of supported music players must be installed. | 2.0.0 |
$progress |
Current song progress. One of supported music players must be installed. | 1.5.3 |
$title |
Current song title. One of supported music players must be installed. | 1.5.0 |
$dtitle |
Current song title with fixed symbols count shown as a running line. | 3.0.0 |
$stitle |
Current song title with fixed symbols count shown with three dots at the end. | 3.0.0 |
$ps |
List of running processes comma separated. | 1.8.0 |
$pscount |
Number of running processes. | 1.8.0 |
$pstotal |
Total number of processes. | 1.8.0 |
$pkgcountN |
Number of packages, which available to upgrade for command N. | 1.8.0 |
$customN |
Get output from custom command N. For example $custom0 . |
1.9.0 |
$desktop |
Name of the current desktop. | 2.0.0 |
$ndesktop |
Number of the current desktop. | 2.0.0 |
$tdesktops |
Total number of desktops. | 2.0.0 |
$askN |
Get ask for ticker N. For example $ask0 . |
2.2.2 |
$askchgN |
Get absolute ask change for ticker N. For example $askchg0 . |
2.2.2 |
$percaskchgN |
Get ask change for ticker N, %. For example $percaskchg0 . |
2.2.2 |
$bidN |
Get bid for ticker N. For example $bid0 . |
2.2.2 |
$bidchgN |
Get absolute bid change for ticker N, %. For example $bidchg0 . |
2.2.2 |
$percbidchgN |
Get bid change for ticker N. For example $percbidchg0 . |
2.2.2 |
$priceN |
Get price for ticker N. For example $price0 . |
2.2.2 |
$pricechgN |
Get absolute price change for ticker N. For example $pricechg0 . |
2.2.2 |
$percaskchgN |
Get price change for ticker N, %. For example $percpricechg0 . |
2.2.2 |
$weatherIdN |
Numerical weather ID. For example $weatherId0 . |
2.4.0 |
$weatherN |
Weather status. For example $weather0 . |
2.4.0 |
$humidityN |
Humidity, %. For example $humidity0 . |
2.4.0 |
$pressureN |
Pressure, bars. For example $pressure0 . |
2.4.0 |
$temperatureN |
Temperature. For example $temperature0 . |
2.4.0 |
Lambda functions
Since version 3.0.0 the main widgets supports lambda functions, which are
calculated at runtime. It may be declared by using {% raw %}${{{% endraw %} {% raw %}}}{% endraw %}
construction:
{% raw %}${{{% endraw %}
function three()
{
return 1+2;
}
three()
{% raw %}}}{% endraw %}
A functions inside will be interpret as JavaScript ones, any variables from main body is supported, thus the following function:
{% raw %}${{{% endraw %}
function colorCpu()
{
if ($cpu > 90.0)
return "<span style=\"color:#ff0000;\">$cpu</span>"
else
return "$cpu"
}
colorCpu()
{% raw %}}}{% endraw %}
will show $cpu
value in red if it is more than 90.0, otherwise it will be shown
in default colour. Any calculations are also supported:
{% raw %}${{{% endraw %}
$down - $up
{% raw %}}}{% endraw %}
will show difference between download and upload speed. Another feature provided
by lambda functions is $this
value which returns the last value of the lambda
function. Here is a little more complicated example which will show running line
"Artist - Title" with length less or equal than 20 symbols:
{% raw %}${{{% endraw %}
function runningLine() {
var current = "$artist - $title";
var index = current.indexOf("$this");
if (("$this" == "") || ((index + 20 + 1) > current.length))
return current.substring(0, 20);
else
return current.substring(index + 1, index + 20 + 1);
}
runningLine()
{% raw %}}}{% endraw %}
Thus this feature may be used for example to show any custom values which will be calculated in runtime and to show different information depending on some conditions. But please keep in mind that such runtime calculation may increase CPU load.
Advanced settings
Enable background: Uncheck to disable default background and set transparent
one. Default is true
.
Translate strings: Translate strings tags. Default is true
.
Wrap new lines: Replace \n
to <br>
. Default is false
.
Word wrap: Enable word wrap. Default is false
.
Enable popup: Uncheck box if you do not want popup messages on system events.
Default is true
.
Check updates: Check updates on load. Default is true
.
Widget height: Disable automatic widget height definition and set it to this
value. Default is 0
(auto).
Widget width: Disable automatic widget width definition and set it to this
value. Default is 0
(auto).
Update interval: Widget update interval. Default is 1000
.
Queue limit: Use thread pool with this maximum thread counts. 0
means CPU
ideal thread count. Default is 0
.
Temperature units: Select units for temperature. Available units are Celsius, Farenheit, Kelvin, Reaumur, cm^-1, kJ/mol, kcal/mol.
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. |
$HH |
Hours in 24-hours format. |
$H |
Hours in 24-hours format without zero. |
$mm |
Minutes. |
$m |
Minutes without zero. |
$ss |
Seconds. |
$s |
Seconds without zero. |
$t |
Timezone name. |
$a /$ap |
am or pm. |
$A /$AP |
AM or PM. |
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. |
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 ( )
.
Tooltips
Since version 1.7.0 CPU, CPU clock, memory, swap, network and battery support graphical tooltip. To enable them just select required fields. The number of stored values can be set in the tab. Colours of the graphs are configurable too.
DataEngine settings
ACPI path: Path to ACPI devices. The file /sys/class/power_supply/
.
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 smartctl -a
.
Player symbol count: Symbol count for dynamic player tags.
Music player: Select one of supported music players for player label.
MPRIS: Select MPRIS player name. auto
will enable auto selection. Default
is auto
.
MPD address: Address of MPD server. Default is localhost
.
MPD port: Port of MPD server. Default is 6600
.
Desktop Panel
Since version 1.11.0 it provides a minimalistic panel for monitoring on desktops. And yes, it looks like the same panel in Awesome.
Desktop panel configuration
Enable background: Uncheck to disable default background and set transparent
one. Default is true
.
Vertical layout: Use vertical layout instead of horizontal one. Default is
false
.
Widget height: Disable automatic widget height definition and set it to this
value. Default is 0
(auto).
Widget width: Disable automatic widget width definition and set it to this
value. Default is 0
(auto).
Mark: Type symbol (or string) which will be shown if this desktop is active now.
Tooltip type: Select tooltip type. Default is windows
.
Tooltip width: Using tooltip width in px. Default is 200px
.
Color of tooltip: Colour which is used in some tooltip types. Default is
#ffffff
.
Pattern tags
$mark |
Show mark if this desktop is active. Shows spaces in other way. |
$name |
Name of the desktop. |
$number |
Number of the desktop. |
$total |
Total number of desktops. |