Repository navigation
Releases: zzqmt/polycat
Release list
v2.0.0
Polycat v2.0.0
This update simplifies build process and removes dependencies.
Breaking Changes
Migration to different config format
Config now does not use JSON. The new format is more simple and lightweight. Parameter names changed.
Config path changed
$HOME/.config/polycat-config is used, if exists, otherwise usr/local/share/polycat/polycat-config is used (may be different depending on the install prefix).
Migration from CMake to Makefile
Building is now done through make, not cmake
v1.3.0
v1.2.1
v1.2.0
v1.1.0
Polycat v1.1.0
New Features
Sleeping mode
Polycat can now sleep and wake up on specific CPU load values (see in configuration section below).
Animation smoothing
Animations can smoothly transition between CPU load values (see in configuration section below).
Output formatting
You can format the output of polycat to contain CPU load information and some custom text (see in configuration section below).
New configuration options
You can now configure sleeping, smoothing, and output format of polycat.
Example (only new options are shown)
{
"smoothEnabled": true,
"smoothValue": 2000,
"sleepEnabled": true,
"sleepThreshold": 8,
"wakeupThreshold": 12,
"sleepFrames": "",
"sleepRate": 4,
"formatEnabled": false,
"format": "$frame $lcpu"
}smoothEnabled(boolean)
enables smooth transition between CPU load values.smoothValue(num [1-10000] inclusive)
number of milliseconds required to transition from 0% to 100%.sleepEnabled(boolean)
enables sleeping.sleepThreshold(number [1-100] inclusive)
sets the maximum CPU load needed to transition from active mode to sleeping mode.wakeupThreshold(number [1-100] inclusive, >sleepThreshold)
sets the minimum CPU load value needed to transition from sleeping mode to active mode.sleepFrames(non-empty string)
sets the frames to loop through in sleeping mode.sleepRate(number [1-255] inclusive)
sets the FPS for sleeping animation.formatEnabled(boolean)
enables output formatting.format(string)
sets the output format. $frame - animation, $lcpu - left-aligned CPU load value, $rcpu - right-aligned CPU load value .
Note: always escape $ characters with $, otherwise an error will be thrown.
v1.0.0
Polycat v1.0.0
New Features
Configuration
Polycat is configured with json file usually placed in the working directory of polycat (can be configured using command-line arguments)
Example
{
"frames": "",
"lowRate": 3,
"highRate": 60,
"pollingPeriod": 500
}- frames sets the frames to loop through
- lowRate sets the FPS minimum
- highRate sets the FPS maximum
- pollingPeriod sets the period of polling the CPU (stat file)
Command-line arguments
By default, polycat uses /proc/stat file for CPU polling and polycat-config.json located in the working directory as a configuration file
Command-line arguments allow you to set the location of configuration file as well as the location of stat file
- -c or --config-path sets the path for configuration file
- -s or --stat-path sets the path for stat file
Example
foo@bar:~$ ./polycat --config-path ./config-files/config.json --stat-path /proc/statIn this example, the config file path would be ~/.config-files/config.json and stat path would be /proc/stat