github brndnmtthws/conky v1.25.0

3 hours ago

Conky v1.25.0

Conky v1.25.0 reworks output backend selection around a new output_backend setting with display-session detection, restores desktop-widget behavior on Wayland, extends the NVML NVIDIA backend with encoder/decoder and PCIe throughput metrics, and adds a systemd-logind fallback for ${user_names} and ${user_terms} on systems without utmp.

No breaking configuration changes are expected for existing Conky configs: the old out_to_* settings are honored as hints, and the own_window_colour to own_window_color and xftalpha/fontalpha to font_alpha renames are handled with backwards compatibility.

Full Changelog: v1.24.2...v1.25.0

Highlights Since v1.24.2

Output Backend Selection

  • Added an output_backend setting that replaces the old out_to_* settings. The old settings are kept as hints: out_to_x is ignored when running on Wayland unless output_backend = "x11" explicitly opts into XWayland. When no backend is selected, Conky picks the most appropriate one from the display session instead of relying on compile-time flags. This fixes #2295 and #2240, and may also address #2340 (#2414).
  • Unified xftalpha and fontalpha under a single font_alpha setting, and renamed own_window_colour to own_window_color, both with backwards-compatible handling of the old names (#2414).
  • Removed state mutation from the out_to_x, out_to_ncurses, and out_to_http Lua settings as groundwork for the backend heuristic, and improved session detection by inferring X11/Wayland sessions from DISPLAY/WAYLAND_DISPLAY when XDG_SESSION_TYPE is unset (#2407).
  • Fixed missing x11.h includes that were previously pulled in transitively and broke some builds (#2408, #2409).

Wayland

  • Made own_window_hints available on Wayland builds and used the hints to guide the shell role: below/above windows mount as wlr-layer-shell surfaces instead of toplevels, restoring the pre-1.24.2 desktop-widget behavior while keeping layer choice configurable (#2404, #2405).
  • Added an own_window_namespace setting (default "conky", unchanged behavior for existing configs) for the layer-shell namespace, so KDE Plasma users can set e.g. own_window_namespace = 'desktop' to stay visible during Show Desktop (Meta+D) (#2432, #2435).
  • Fixed Conky blocking forever in wl_display_dispatch while waiting for buffer-release events by moving Wayland communication into the SHM surface destructor chain (#2411, #2412).
  • Guarded SHM surface creation against invalid buffer dimensions (negative stride, non-positive length, nil Cairo surfaces) instead of segfaulting on resize (#2431, #2434).
  • Added fallback to ftruncate() when posix_fallocate fails with EOPNOTSUPP/ENOSYS/ENOTSUP (e.g. FreeBSD/ZFS); other errors keep the existing hard-fail behavior (#2430, #2455).

X11

  • Stopped selecting XI2 button press/release events on desktop-type windows unless lua_mouse_hook is configured, so clicks pass through to the windows below instead of being misrouted through Conky's manual event replay (#2451, #2454).
  • Documented the alpha-first #AARRGGBB 8-digit form of own_window_color with an example (#2449, #2456).

NVIDIA (NVML Backend)

  • Added videodecutil and videoencutil query attributes exposing separate NVDEC/NVENC utilization counters (#2410).
  • Added pciethroughputtx and pciethroughputrx query attributes for PCIe transmit/receive throughput (#2416).

Users and Sessions

  • Added a systemd-logind fallback for ${user_names} and ${user_terms} on systems where utmp is unavailable (e.g. Ubuntu 25.04+, which dropped utmp for the Y2K38 problem) (#2252, #2425).

Text Objects and Hardware Monitoring

  • Made percent_print pad to at least 3 columns when use_spacer is left/right, so ${cpu} and other percentage values align like other spaced sensors, and corrected the pad_percents docs (field width, not decimal precision) (#2078, #2444).
  • Handled power entries now exposed under /sys/class/hwmon on newer kernels: microwatt values are converted to watts and always printed as integers (#2445).

Toolchain and Build

  • Moved the codebase to C++20 and enabled -Wpedantic in maintainer mode, fixing the stricter-check issues this surfaced (#2403).
  • Removed the BUILD_HSV_GRADIENT, BUILD_LIBXML2, and BUILD_MIXER_ALSA flags, which could not affect the build (five deletions, no additions) (#2440).

Pull Requests by Category

Features

  • feat(wayland): honor own_window_hints via layer-shell (#2405)
  • nvidia_nvml: add video encoder and decoder utilization metrics (#2410)
  • feat: display output backend heuristic (#2414)
  • nvidia_nvml: add PCIe throughput monitoring (#2416)
  • feat: add own_window_namespace config setting for wlr-layer-shell (#2435)

Bug Fixes

  • fix: add missing x11.h imports (#2409)
  • fix(wayland): blocking forever in wl_display_dispatch (#2412)
  • Fix utmp issue 2252 (#2425)
  • fix: wayland: guard shm surfaces against invalid buffer dimensions (#2434)
  • fix(text): honor use_spacer for percentage values (#2078)
  • hwmon/i2c/platform: properly handle power entries (#2445)
  • fix(x11): skip XI2 button grab on desktop windows without mouse hook (#2454)
  • fix(wayland): fall back to ftruncate when posix_fallocate unsupported (#2455)

Misc

  • chore: bump version to v1.24.3 (#2400)
  • build(deps): bump the actions group with 2 updates (#2402)
  • chore: switch to C++20; enable -Wpedantic (#2403)
  • refactor: remove init code from Lua backend settings (#2407)
  • build(deps): bump actions/cache from 5 to 6 in the actions group (#2417)
  • build(deps): bump the actions group across 1 directory with 3 updates (#2428)
  • build: remove BUILD_HSV_GRADIENT, BUILD_LIBXML2 and BUILD_MIXER_ALSA, which have no effect (#2440)
  • chore: relax mise config (#2453)
  • docs: document #AARRGGBB 8-digit form for own_window_color (#2456)

New Contributors

Don't miss a new conky release

NewReleases is sending notifications on new releases.