A lightweight system monitor similar to conky but with html and css for themes
- Create a theme file called main.html in ~/.config/cysboard/ (There must be a file name 'main.html').
- Add your html code with any of the listed ids below in html tags for device info.
- Run cysboard.
If a 'main.html' file does not exist in the config directory cysboard will start with a default theme.
You must have cmake >= 3.1 and gcc >= 5.4 in order to compile
- mkdir build
- cmake .
- make
Use ids like the following
<html>
<head>
<title>Cysboard</title>
<meta name="position_x" content="3400">
<meta name="position_y" content="50">
<meta name="width" content="350">
<meta name="height" content="350">
<meta name="time" content="1">
<link rel=stylesheet href="path/to/style.css" />
</head>
<body>
<div
<!-- os info -->
<div class="section" #osinfo>
<div >SYSTEM</div>
<div class="section-content-child">
<p>name: <span id="os_name"></span></p>
<p>distro: <span id="os_distro_name"></span></p>
<p>uptime: <span id="os_uptime"></span></p>
</div>
</div>
<!-- cpu info -->
<div id="cpuinfo">
<div>CPU</div>
<p>model: <span id="cpu_name"></span></p>
<p>vendor: <span id="cpu_vendor"></span></p>
<p>arch: <span id="cpu_arch"></span></p>
<p>usage: <span id="cpu_usage"></span> %</p>
</div>
<!-- mem info -->
<div id="meminfo">
<div>RAM</div>
<p>free: <span id="mem_free"></span> KB</p>
<p>used: <span id="mem_used"></span> KB</p>
</div>
<div>
<p>Program 1 Output: <span id="exec_1" cmd="path/to/program"></span></p>
<p>Program 2 Output: <span id="exec_2" cmd="path/to/program"></span></p>
</div>
<!-- album art and other stuff -->
<!-- you can change the img src tag with shell scripts like this -->
<div>
<img class="album-pic" id="exec_3" cmd="/home/melchor9000/.config/cysboard/dbus.sh 4">
</div>
</div>
</body>
</html>
Please see sources/resources/default.html for a working theme.
A list of currently supported information from sources. Add any of them as an id attribute for a tag in your theme file.
ID | Info |
---|---|
cpu_name | The CPU's name |
cpu_usage | The total usage of the CPU in percentages |
cpu_arch | The CPU's architecture |
cpu_vendor | The CPU vendor eg. Intel, AMD |
cpu_num_cores | The number of physical cores |
mem_free | The amount of free memory in KB, MB or GB |
mem_used | The amount of used memory in KB, MB or GB |
mem_swap_total | The amount of swap memory in KB, MB or GB |
mem_total | The total amount of physical memory available |
os_name | The name of the OS |
os_distro_name | The distribution name (Linux only) |
os_uptime | The total amount of time since last boot |
os_num_procs | The number of running processes |
exec_# | Execute a program and display its output eg. exec_0, exec_1 etc. |
cpu_usage_# | Get a cpu core's usage percentage eg. cpu_usage_0, cpu_usage_1 etc. |
Some IDs require attributes and can be used like this
<p>Free RAM: <span id="mem_free" mul="MB"></span></p>
Atrribute | Description | Applicable ID(s) |
---|---|---|
mul | Display value in MB, KB or GB | mem_free, mem_used, mem_swap_total, mem_total |
cmd | Path of program to execute | exec_# |
The source code for the project is located in the source directory.
The header file cysboard.h
contains the main update function for the program.
Objects for information from or about the cpu, os, memory and others are initialized in this class.
All the other files house classes for gathering information from various sources. For example cpuinfo_linux.cpp
has functions for gathering cpu info on a system. The header file util.h
holds functions for common and repetitive tasks.
- Program crashes sometimes when editing themes.
- GPU, Disk and Network information.
- Add graph and bar controls like conky.
- Run commands from theme file.