v5.5
Hi everyone!
Here is quite a big Clightd release; it spots lots of improvements, bug fixes and some new features.
Let's dive deep in!
Features
Backlight2
First of all, a new Backlight2 API is available, that is smarter and better compared to old Backlight API.
Old Backlight API is now internally routed to new Backlight2.
- Better API with different object paths for each detected display
- Support monitor hotplug using new ddcutil 1.2.0
ddca_redetect_displays
API - Added support for monitor id specific
CLIGHTD_BL_VCP
env variable (CLIGHTD_BL_VCP_$mon_id, see: https://github.com/FedeDP/Clightd/wiki/Ddcutil#customize-monitor-backlight-vcp-code)
Pipewire
Another big feature is that Clightd does now support a Pipewire Sensor, even if it is experimental at the moment, because libpipewire API is still under heavy development and not all the features are supported.
For more info, and a list of bugs, refer to https://github.com/FedeDP/Clightd/wiki/Pipewire.
Camera
- Add support for a cropping setting parameter: "x=0.4-0.6,y=0.2-0.8". For more info, refer to https://github.com/FedeDP/Clightd/wiki/Sensors#camera-1
Generic
- Show commit hash in Clightd version
- All APIs that require Xauthority or xdg rutime user, fallback at automatically fetching a default value given the caller
- do not use strlen() just to check that string is not empty (improves performance a bit)
Fixes
Gamma
- return 0 for Wl gamma Get (sway protocol) even if it is not implemented, to avoid breaking Clight gamma on sway
- gamma on sway fix: keep connection alive and call dispatch. This will fix any gamma resetting issue!
- fix segfault
KbdBacklight
- call
sd_bus_emit_object_added()
,sd_bus_emit_object_removed()
when object paths are created/deleted - udev_reference is a snapshot of an udev device at a current time. Fixed module behavior
- Fixed memleak
ALS
- avoid using cached udev_dev reference in loop (thus always returning same ambient brightness read during a Capture request)
- Fixed EIO errors
Sensor
- Only emit Sensor.Changed signal for added/removed devices
Generic
- When built with ddcutil, clightd.service will be started after systemd-modules-load.service
- Fix clightd not cleanly exiting when built with DDC or YOCTOLIGHT (libusb or libddcutil were creating another thread that was stealing the signal)