From a13d6b5b5394c66ce4d2ec9ee959cb9408567b8c Mon Sep 17 00:00:00 2001 From: damachine Date: Sun, 14 Sep 2025 23:40:39 +0200 Subject: [PATCH] feat: improve configuration files and documentation - Restructure config.ini with better formatting and clear sections - Add comprehensive configuration documentation (docs/config.md) - Include practical examples for colors, layouts, and temperature zones - Add configuration guide link to README.md - Improve user experience with emoji icons and structured layout - Add PKGBUILD_AUR for Arch Linux package management --- PKGBUILD_AUR | 121 +++++++++ README.md | 1 + docs/config.md | 503 ++++++++++++++++++++++++++++++++++++++ etc/coolerdash/config.ini | 243 ++++++++++-------- 4 files changed, 761 insertions(+), 107 deletions(-) create mode 100644 PKGBUILD_AUR create mode 100644 docs/config.md diff --git a/PKGBUILD_AUR b/PKGBUILD_AUR new file mode 100644 index 0000000..690e9b4 --- /dev/null +++ b/PKGBUILD_AUR @@ -0,0 +1,121 @@ +# ----------------------------------------------------------------------------- +# Author: damachine (christkue79@gmail.com) +# Maintainer: damachine +# Website: https://github.com/damachine +# Copyright: (c) 2025 damachine +# License: MIT +# Version: 1.0 +# This software is provided "as is", without warranty of any kind, express or implied. +# I do not guarantee that it will work as intended on your system. +# +# Info: +# CoolerDash 'PKGBUILD' - For Arch/AUR building! +# This 'PKGBUILD' is hosted on AUR and is intended for automatic updates via AUR. +# This 'PKGBUILD' is designed for Arch Linux and derivatives. +# Build system for CoolerDash (C99 compliant). +# Project coding standards and packaging notes (see README for details) +# +# Details: +# This PKGBUILD handles build, install, dependencies, and packaging for Arch/AUR. +# Edit dependencies, paths, and user as needed for your system. +# Do not run as root. Use dedicated user for security. +# Ensure all required dependencies are installed. +# It uses color output and Unicode icons for better readability. All paths and dependencies are configurable. +# See 'README.md' for further details. +# +# Build: +# 'makepkg -si' +# +# Dependency: +# 'cairo' 'coolercontrol' 'jansson' 'libcurl-gnutls' 'libinih' are required for core functionality. +# 'ttf-roboto' is required for proper font rendering on the LCD. +# All dependencies are documented in 'README.md'. +# ----------------------------------------------------------------------------- +pkgname=coolerdash-git +pkgver=1.60.r0.g8b31607 +pkgrel=1 +provides=('coolerdash') +replaces=('coolerdash') +conflicts=('coolerdash') +pkgdesc="Extends CoolerControl with a polished LCD dashboard" +arch=('x86_64') +url="https://github.com/damachine/coolerdash" +license=('MIT') +depends=('cairo' 'coolercontrol' 'jansson' 'libcurl-gnutls' 'libinih' 'ttf-roboto') +makedepends=('gcc' 'make' 'pkg-config' 'git') +backup=('etc/coolerdash/config.ini') +install=coolerdash.install +_commit=8b316075907c2fab32db6a3f4f12b1e6c18c8901 +source=("git+https://github.com/damachine/coolerdash.git#commit=$_commit") +sha256sums=('SKIP') + +# https://wiki.archlinux.org/title/Arch_package_guidelines#Package_sources +pkgver() { + cd "$srcdir/coolerdash" + git describe --tags --long --match "v*" | sed -E 's/^v//; s/-([0-9]+)-g/\.r\1.g/; s/-/./g' +} + +build() { + # Build inside the checked-out repository + cd "$srcdir/coolerdash" || return 1 + + # Remove all previous tarball builds + rm -rf coolerdash-*.pkg.* || true + rm -rf build bin || true + mkdir -p build bin || true + + # Clean any previous builds if a Makefile exists + if [[ -f Makefile || -f GNUmakefile ]]; then + make clean || true + fi + + # Build + make || return 1 + + # Copy binary to $srcdir/bin for packaging + mkdir -p "$srcdir/bin" + cp -a bin/coolerdash "$srcdir/bin/coolerdash" + + # Copy all required files for packaging to $srcdir + cp -a README.md "$srcdir/README.md" + cp -a CHANGELOG.md "$srcdir/CHANGELOG.md" + cp -a VERSION "$srcdir/VERSION" + cp -a LICENSE "$srcdir/LICENSE" + cp -a etc/coolerdash/config.ini "$srcdir/config.ini" + mkdir -p "$srcdir/images" + cp -a images/shutdown.png "$srcdir/images/shutdown.png" + mkdir -p "$srcdir/systemd" + cp -a etc/systemd/coolerdash.service "$srcdir/systemd/coolerdash.service" + mkdir -p "$srcdir/man" + cp -a man/coolerdash.1 "$srcdir/man/coolerdash.1" +} + +check() { + # Check in the checked-out repository + cd "$srcdir/coolerdash" || return 1 + + if [[ -f bin/coolerdash ]]; then + echo "Build successful - binary created" + else + echo "ERROR: Binary not found" + return 1 + fi +} + +package() { + # Create necessary directories and install files + install -dm755 "$pkgdir/opt/coolerdash" + install -Dm644 "$srcdir/README.md" "$pkgdir/opt/coolerdash/README.md" + install -Dm644 "$srcdir/VERSION" "$pkgdir/opt/coolerdash/VERSION" + install -Dm644 "$srcdir/LICENSE" "$pkgdir/opt/coolerdash/LICENSE" + install -Dm644 "$srcdir/CHANGELOG.md" "$pkgdir/opt/coolerdash/CHANGELOG.md" + install -Dm644 "$srcdir/config.ini" "$pkgdir/etc/coolerdash/config.ini" + install -dm755 "$pkgdir/opt/coolerdash/bin" + install -Dm755 "$srcdir/bin/coolerdash" "$pkgdir/opt/coolerdash/bin/coolerdash" + install -dm755 "$pkgdir/opt/coolerdash/images" + install -Dm644 "$srcdir/images/shutdown.png" "$pkgdir/opt/coolerdash/images/shutdown.png" + install -dm755 "$pkgdir/usr/bin" + ln -sf /opt/coolerdash/bin/coolerdash "$pkgdir/usr/bin/coolerdash" + install -Dm644 "$srcdir/systemd/coolerdash.service" "$pkgdir/etc/systemd/system/coolerdash.service" + install -Dm644 "$srcdir/man/coolerdash.1" "$pkgdir/usr/share/man/man1/coolerdash.1" +} \ No newline at end of file diff --git a/README.md b/README.md index 8e0de54..8acabab 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ journalctl -u coolerdash.service **โ„น๏ธ NOTE:** - When CoolerDash stops (for example during system shutdown or reboot), it automatically displays the `shutdown.png` image from the install path. This happens because sensor data is no longer available at that point. - You can customize this and much more as you wish, by editing the `/etc/coolerdash/config.ini` file. +- **๐Ÿ“– For detailed configuration options and examples, see: [Configuration Guide](docs/config.md)** --- diff --git a/docs/config.md b/docs/config.md new file mode 100644 index 0000000..61cbf10 --- /dev/null +++ b/docs/config.md @@ -0,0 +1,503 @@ +# CoolerDash Configuration Guide + +Complete guide for configuring CoolerDash through the `config.ini` file. + +## ๐Ÿ“ Configuration File Location + +The configuration file is located at: +``` +/etc/coolerdash/config.ini +``` + +## ๐Ÿ”„ Applying Changes + +After modifying the configuration file, restart CoolerDash: +```bash +sudo systemctl restart coolerdash +``` + +--- + +## ๐ŸŒ Daemon Settings + +Configure connection to CoolerControl daemon API. + +### Example Configuration +```ini +[daemon] +address=http://localhost:11987 +password=coolAdmin +``` + +### Settings +- **`address`**: API endpoint URL (default: `http://localhost:11987`) +- **`password`**: API authentication password (default: `coolAdmin`) + +### HTTPS Example +For secure connections: +```ini +[daemon] +address=https://192.168.1.100:11987 +password=mySecurePassword123 +``` + +--- + +## ๐Ÿ“ File Paths + +System file and directory locations. + +### Example Configuration +```ini +[paths] +images=/opt/coolerdash/images +image_coolerdash=/tmp/coolerdash.png +image_shutdown=/opt/coolerdash/images/shutdown.png +pid=/tmp/coolerdash.pid +``` + +### Settings +- **`images`**: Directory containing display images +- **`image_coolerdash`**: Generated display image path +- **`image_shutdown`**: Shutdown screen image +- **`pid`**: Process ID file location + +--- + +## ๐Ÿ–ฅ๏ธ Display Settings + +LCD display configuration tested with NZXT Kraken 2023. + +### Basic Configuration +```ini +[display] +width=240 +height=240 +refresh_interval_sec=2 +refresh_interval_nsec=500000000 +brightness=80 +orientation=0 +``` + +### Settings +- **`width`**: Screen width in pixels (240 for NZXT Kraken) +- **`height`**: Screen height in pixels (240 for NZXT Kraken) +- **`refresh_interval_sec`**: Update interval in seconds (1-10 recommended) +- **`refresh_interval_nsec`**: Additional nanoseconds (500000000 = 0.5s) +- **`brightness`**: LCD brightness 0-100% (80% recommended) +- **`orientation`**: Screen rotation: `0`, `90`, `180`, `270` degrees + +### Brightness Examples +```ini +# Dim for night use +brightness=40 + +# Standard brightness (recommended) +brightness=80 + +# Maximum brightness +brightness=100 +``` + +### Refresh Rate Examples +```ini +# Fast updates (1 second) +refresh_interval_sec=1 +refresh_interval_nsec=0 + +# Standard updates (2.5 seconds) +refresh_interval_sec=2 +refresh_interval_nsec=500000000 + +# Slow updates (5 seconds) - saves power +refresh_interval_sec=5 +refresh_interval_nsec=0 +``` + +--- + +## ๐ŸŽจ Visual Layout + +Display layout and spacing configuration. + +### Example Configuration +```ini +[layout] +box_width=240 +box_height=120 +box_gap=0 +bar_width=230 +bar_height=22 +bar_gap=10 +bar_border_width=1.5 +``` + +### Settings +- **`box_width`**: Main display box width (should match display width) +- **`box_height`**: Main display box height (typically half display height) +- **`box_gap`**: Space between display boxes +- **`bar_width`**: Temperature bar width (fits within box_width) +- **`bar_height`**: Temperature bar thickness +- **`bar_gap`**: Space between temperature bars +- **`bar_border_width`**: Border line thickness + +### Layout Examples + +#### Compact Layout +```ini +[layout] +box_width=240 +box_height=115 +bar_width=220 +bar_height=18 +bar_gap=5 +bar_border_width=1.0 +``` + +#### Spacious Layout +```ini +[layout] +box_width=240 +box_height=125 +bar_width=235 +bar_height=26 +bar_gap=15 +bar_border_width=2.0 +``` + +--- + +## ๐ŸŽจ Colors + +RGB color configuration (values 0-255). + +### Bar Colors +```ini +[bar_color_background] +r=52 # Dark gray +g=52 +b=52 + +[bar_color_border] +r=192 # Light gray +g=192 +b=192 +``` + +### Color Examples + +#### Dark Theme +```ini +[bar_color_background] +r=25 # Very dark gray +g=25 +b=25 + +[bar_color_border] +r=100 # Medium gray +g=100 +b=100 +``` + +#### Blue Theme +```ini +[bar_color_background] +r=20 # Dark blue +g=30 +b=60 + +[bar_color_border] +r=70 # Light blue +g=130 +b=180 +``` + +#### Custom RGB Colors +```ini +# Pure black background +[bar_color_background] +r=0 +g=0 +b=0 + +# White border +[bar_color_border] +r=255 +g=255 +b=255 +``` + +--- + +## ๐Ÿ”ค Font Settings + +Text appearance configuration. + +### Example Configuration +```ini +[font] +font_face=Roboto Black +font_size_temp=100.0 +font_size_labels=30.0 + +[font_color_temp] +r=255 # White temperature text +g=255 +b=255 + +[font_color_label] +r=200 # Light gray labels +g=200 +b=200 +``` + +### Font Examples + +#### Large Text Setup +```ini +[font] +font_face=Arial Bold +font_size_temp=120.0 # Larger temperature numbers +font_size_labels=35.0 # Larger labels +``` + +#### Compact Text Setup +```ini +[font] +font_face=Helvetica +font_size_temp=80.0 # Smaller temperature numbers +font_size_labels=24.0 # Smaller labels +``` + +#### Color Examples +```ini +# Bright white text +[font_color_temp] +r=255 +g=255 +b=255 + +# Cyan labels +[font_color_label] +r=0 +g=255 +b=255 +``` + +--- + +## ๐ŸŒก๏ธ Temperature Zones + +Color-coded temperature thresholds and their colors. + +### Example Configuration +```ini +[temperature] +temp_threshold_1=55.0 # Cool zone (< 55ยฐC) +temp_threshold_2=65.0 # Warm zone (55-65ยฐC) +temp_threshold_3=75.0 # Hot zone (65-75ยฐC) + # Critical zone (> 75ยฐC) + +[temp_threshold_1_bar] # ๐Ÿ’š Cool (Green) +r=0 +g=255 +b=0 + +[temp_threshold_2_bar] # ๐Ÿงก Warm (Orange) +r=255 +g=140 +b=0 + +[temp_threshold_3_bar] # ๐Ÿ”ฅ Hot (Dark Orange) +r=255 +g=70 +b=0 + +[temp_threshold_4_bar] # ๐Ÿšจ Critical (Red) +r=255 +g=0 +b=0 +``` + +### Temperature Threshold Examples + +#### Conservative (Lower Thresholds) +```ini +[temperature] +temp_threshold_1=45.0 # Cool < 45ยฐC +temp_threshold_2=55.0 # Warm 45-55ยฐC +temp_threshold_3=65.0 # Hot 55-65ยฐC + # Critical > 65ยฐC +``` + +#### Aggressive (Higher Thresholds) +```ini +[temperature] +temp_threshold_1=60.0 # Cool < 60ยฐC +temp_threshold_2=70.0 # Warm 60-70ยฐC +temp_threshold_3=80.0 # Hot 70-80ยฐC + # Critical > 80ยฐC +``` + +### Color Scheme Examples + +#### Rainbow Theme +```ini +[temp_threshold_1_bar] # Blue (Cool) +r=0 +g=100 +b=255 + +[temp_threshold_2_bar] # Yellow (Warm) +r=255 +g=255 +b=0 + +[temp_threshold_3_bar] # Orange (Hot) +r=255 +g=128 +b=0 + +[temp_threshold_4_bar] # Red (Critical) +r=255 +g=0 +b=0 +``` + +#### Monochrome Theme +```ini +[temp_threshold_1_bar] # Light gray +r=200 +g=200 +b=200 + +[temp_threshold_2_bar] # Medium gray +r=150 +g=150 +b=150 + +[temp_threshold_3_bar] # Dark gray +r=100 +g=100 +b=100 + +[temp_threshold_4_bar] # Very dark gray +r=50 +g=50 +b=50 +``` + +--- + +## ๐Ÿ“‹ Complete Example Configuration + +Here's a complete working configuration file: + +```ini +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# CoolerDash Configuration - NZXT Kraken Setup +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• + +[daemon] +address=http://localhost:11987 +password=coolAdmin + +[paths] +images=/opt/coolerdash/images +image_coolerdash=/tmp/coolerdash.png +image_shutdown=/opt/coolerdash/images/shutdown.png +pid=/tmp/coolerdash.pid + +[display] +width=240 +height=240 +refresh_interval_sec=2 +refresh_interval_nsec=500000000 +brightness=80 +orientation=0 + +[layout] +box_width=240 +box_height=120 +box_gap=0 +bar_width=230 +bar_height=22 +bar_gap=10 +bar_border_width=1.5 + +[bar_color_background] +r=52 +g=52 +b=52 + +[bar_color_border] +r=192 +g=192 +b=192 + +[font] +font_face=Roboto Black +font_size_temp=100.0 +font_size_labels=30.0 + +[font_color_temp] +r=255 +g=255 +b=255 + +[font_color_label] +r=200 +g=200 +b=200 + +[temperature] +temp_threshold_1=55.0 +temp_threshold_2=65.0 +temp_threshold_3=75.0 + +[temp_threshold_1_bar] +r=0 +g=255 +b=0 + +[temp_threshold_2_bar] +r=255 +g=140 +b=0 + +[temp_threshold_3_bar] +r=255 +g=70 +b=0 + +[temp_threshold_4_bar] +r=255 +g=0 +b=0 +``` + +--- + +## ๐Ÿ”ง Troubleshooting + +### Common Issues + +1. **Display not updating**: Check refresh intervals and restart service +2. **Wrong colors**: Verify RGB values are 0-255 +3. **Text too small/large**: Adjust font_size_temp and font_size_labels +4. **Bars don't fit**: Ensure bar_width < box_width + +### Testing Changes + +Always restart the service after configuration changes: +```bash +sudo systemctl restart coolerdash +sudo systemctl status coolerdash +``` + +### Backup Configuration + +Before making changes, backup your working configuration: +```bash +sudo cp /etc/coolerdash/config.ini /etc/coolerdash/config.ini.backup +``` \ No newline at end of file diff --git a/etc/coolerdash/config.ini b/etc/coolerdash/config.ini index a9050b4..582b819 100644 --- a/etc/coolerdash/config.ini +++ b/etc/coolerdash/config.ini @@ -1,117 +1,146 @@ -; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; -; Author: damachine (christkue79@gmail.com) -; Maintainer: damachine -; Website: https://github.com/damachine -; Copyright: (c) 2025 damachine -; License: MIT -; Version: 1.0 -; This software is provided "as is", without warranty of any kind, express or implied. -; I do not guarantee that it will work as intended on your system. -; -; Disclaimer: -; CoolerDash configuration file. -; This file contains settings for the CoolerDash application. -; Restart the service or coolerdash after editing this file: sudo systemctl restart coolerdash.service -; Values not set in this file will be set to default values. -; The comments provide explanations for each setting and its purpose. -; Display resolution is automatically detected by CoolerControl and does not need to be set in this file. -; Temperatures are displayed in Celsius. -; The layout settings can be adjusted to optimize readability based on personal preferences. -; The temperature settings define the color-coding scheme for temperature bars, allowing customization of visual feedback. -; The font settings can be adjusted to change the appearance of the display text. -; The color settings can be adjusted to change the appearance of the display bars and text. -; The daemon settings define the API communication parameters for CoolerControl. Automatic fallbacks are in place, so it is safe to omit these settings. -; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; -; -; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; CC-DAEMON SETTINGS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; This section defines the daemon settings, including the address and password for API communication. -; Ensure the address matches the daemon's configuration and the password is secure. -; SSL is supported by using the hhtps:// protocol in the daemon_address setting. -; Only modify if daemon settings don't work or cause problems. +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# CoolerDash Configuration File +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# Author: damachine (christkue79@gmail.com) +# Website: https://github.com/damachine +# Version: 1.0 | License: MIT +# +# IMPORTANT: Restart CoolerDash after changes: sudo systemctl restart coolerdash +# โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐ŸŒ DAEMON SETTINGS +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# Connection settings for CoolerControl daemon API [daemon] -;address=http://localhost:11987 ; URL address for CoolerControl daemon API. Used for communication. -;password=coolAdmin ; Password for CoolerControl daemon API. Must match daemon config. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; HARDWARE SETTINGS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; This section defines the hardware monitor settings, including paths to sensor data and image directories. -; Ensure the paths are correct for your system to avoid issues with sensor data retrieval and image display. +# API endpoint (default: http://localhost:11987) +;address=http://localhost:11987 + +# API password (default: coolAdmin) +;password=coolAdmin + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐Ÿ“ FILE PATHS +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# System file and directory locations [paths] -;images=/opt/coolerdash/images ; Directory where images are stored for display and shutdown. -;image_coolerdash=/tmp/coolerdash.png ; Path for temporary image file generated at runtime. -;image_shutdown=/opt/coolerdash/images/shutdown.png ; Image shown on LCD when service stops or system shuts down. -;pid=/tmp/coolerdash.pid ; File storing the daemon's process ID for service management (user-accessible). -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; DISPLAY SETTINGS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; This section defines the display dimensions, refresh rates, brightness, and orientation. -; The following settings were tested with an NZXT Kraken 2023 -; Ensure the values match your hardware specifications to avoid display issues. +# Images directory +;images=/opt/coolerdash/images + +# Generated display image +;image_coolerdash=/tmp/coolerdash.png + +# Shutdown screen image +;image_shutdown=/opt/coolerdash/images/shutdown.png + +# Process ID file +;pid=/tmp/coolerdash.pid + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐Ÿ–ฅ๏ธ DISPLAY SETTINGS +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# LCD display configuration (tested with NZXT Kraken 2023) [display] -;width=240 ; Sets the width of the LCD display in pixels. Must match your hardware specification. -;height=240 ; Sets the height of the LCD display in pixels. Must match your hardware specification. -;refresh_interval_sec=2 ; Interval in seconds between display refreshes. Lower values update more frequently. -;refresh_interval_nsec=500000000 ; Additional nanoseconds for display refresh interval. Fine-tune for precise timing. (value of 500000000 are 0.5 seconds) -;brightness=80 ; LCD brightness percentage (0-100). Higher values mean a brighter display. (default is 80 to avoid burn-in and flicker) -;orientation=0 ; Display orientation in degrees. Valid values: 0, 90, 180, 270. Rotates the screen output. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; LAYOUT SETTINGS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; This section defines the layout of the display boxes, including dimensions, gaps, and border thickness. -; Adjust these values to customize the appearance of the display. +# Screen dimensions (pixels) +;width=240 +;height=240 + +# Update frequency +;refresh_interval_sec=2 +;refresh_interval_nsec=500000000 # 0.5 seconds + +# Brightness (0-100%) - 80% recommended to prevent burn-in +;brightness=80 + +# Screen rotation (0ยฐ, 90ยฐ, 180ยฐ, 270ยฐ) +;orientation=0 + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐ŸŽจ VISUAL LAYOUT +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# Display layout and spacing [layout] -;box_width=240 ; Width of the main display box in pixels. Should match display width for full coverage. -;box_height=120 ; Height of the main display box in pixels. Should only bee the half of the display height. -;box_gap=0 ; Gap in pixels between display boxes. Set to 0 for no gap. -;bar_width=230 ; Width of temperature/usage bars in pixels. Should fit inside box_width. -;bar_height=22 ; Height of temperature/usage bars in pixels. Controls bar thickness. -;bar_gap=10 ; Gap in pixels between bars. Increase for more spacing between bars. -;bar_border_width=1.5 ; Thickness of border lines in pixels. Use decimals for fine control. +# Box dimensions +;box_width=240 # Full width coverage +;box_height=120 # Half screen height +;box_gap=0 # No spacing between boxes + +# Temperature bars +;bar_width=230 # Fits within box width +;bar_height=22 # Bar thickness +;bar_gap=10 # Spacing between bars +;bar_border_width=1.5 + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐ŸŽจ COLORS +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# RGB color values (0-255) + +# Bar styling [bar_color_background] -;r=52 ; Red color component for bar background (0-255). -;g=52 ; Green color component for bar background (0-255). -;b=52 ; Blue color component for bar background (0-255). +;r=52 # Dark gray background +;g=52 +;b=52 + [bar_color_border] -;r=192 ; Red color component for bar border (0-255). -;g=192 ; Green color component for bar border (0-255). -;b=192 ; Blue color component for bar border (0-255). -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; FONT SETTINGS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; This section defines the font settings for display text, including family, size, and style. -; Ensure the specified font is installed on the system to avoid display issues. +;r=192 # Light gray border +;g=192 +;b=192 + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐Ÿ”ค FONTS +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# Text appearance settings [font] -;font_face=Roboto Black ; Font family and style used for all display text. Must be installed on system. -;font_size_temp=100.0 ; Font size for main temperature/usage values. Large for visibility. -;font_size_labels=30.0 ; Font size for labels and units. Should be readable but not dominant. +# Font family (must be installed) +;font_face=Roboto Black + +# Font sizes +;font_size_temp=100.0 # Large numbers +;font_size_labels=30.0 # Small labels + +# Text colors (RGB 0-255) [font_color_temp] -;r=255 ; Red color component for temperature value (0-255). -;g=255 ; Green color component for temperature value (0-255). -;b=255 ; Blue color component for temperature value (0-255). +;r=255 # White temperature text +;g=255 +;b=255 + [font_color_label] -;r=200 ; Red color component for label text (0-255). -;g=200 ; Green color component for label text (0-255). -;b=200 ; Blue color component for label text (0-255). -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; TEMPERATURE SETTINGS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; the temperature section defines the temperature thresholds and their corresponding colors. -; Adjust these values to control the color coding of temperature bars. +;r=200 # Light gray labels +;g=200 +;b=200 + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# ๐ŸŒก๏ธ TEMPERATURE ZONES +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# Color-coded temperature thresholds (ยฐC) [temperature] -;temp_threshold_1=55.0 ; Temperature (ยฐC) > temp_threshold_1 shown in green. -;temp_threshold_2=65.0 ; Temperature (ยฐC) <= temp_threshold_1 - temp_threshold_2 show in orange. -;temp_threshold_3=75.0 ; Temperature (ยฐC) <= temp_threshold_2 - temp_threshold_3 show in hot orange and all <= temp_threshold_3 show temp_threshold_4_bar. -;[temp_threshold_1_bar] -;r=0 ; Red color component for green status (0-255). -;g=255 ; Green color component for green status (0-255). -;b=0 ; Blue color component for green status (0-255). -[temp_threshold_2_bar] -;r=255 ; Red color component for orange status (0-255). -;g=140 ; Green color component for orange status (0-255). -;b=0 ; Blue color component for orange status (0-255). -[temp_threshold_3_bar] -;r=255 ; Red color component for hot orange status (0-255). -;g=70 ; Green color component for hot orange status (0-255). -;b=0 ; Blue color component for hot orange status (0-255). -[temp_threshold_4_bar] -;r=255 ; Red color component for red status (0-255). -;g=0 ; Green color component for red status (0-255). -;b=0 ; Blue color component for red status (0-255). -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;temp_threshold_1=55.0 # Green zone (< 55ยฐC) +;temp_threshold_2=65.0 # Orange zone (55-65ยฐC) +;temp_threshold_3=75.0 # Hot zone (65-75ยฐC) + # Red zone (> 75ยฐC) + +# Temperature zone colors (RGB 0-255) +[temp_threshold_1_bar] # ๐Ÿ’š Cool (Green) +;r=0 +;g=255 +;b=0 + +[temp_threshold_2_bar] # ๐Ÿงก Warm (Orange) +;r=255 +;g=140 +;b=0 + +[temp_threshold_3_bar] # ๐Ÿ”ฅ Hot (Dark Orange) +;r=255 +;g=70 +;b=0 + +[temp_threshold_4_bar] # ๐Ÿšจ Critical (Red) +;r=255 +;g=0 +;b=0 + +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +# End of Configuration +# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• \ No newline at end of file