Skip to content

Releases: digitaltrails/vdu_controls

v2.6.0 Road Warrior - Support Laptop Panels

20 Apr 01:53

Choose a tag to compare

  • Added laptop-panel support, see Setting option laptop-panel-enabled. Requires the commonly available brightnessctr command to be installed .
  • Udev is used to detect laptop brightness events, such as up/down-brightness function-keys and inactivity-dimming (requires python3-pyudev).
  • The control-panel icons/titles are now shortcuts to the relevant Settings tabs.
  • Fixed Settings text-input line-height on small screens.
  • Slightly improvements to the spacing/layout of the main-panel.
image

Full Changelog: v2.5.0...v2.6.0

v2.5.0 Modernity

06 Apr 20:57

Choose a tag to compare

Version 2.5.0 delivers some cosmetic UI updates to better blend in with modern UI trends - in particular Plasma-6.

  • Visual refresh of the Main-panel. Inspired by a recent fork by @ViktorSharga.
  • Added option "toolbar-at-top" to configure the top/bottom placement of the toolbar in the main-window. Top placement is more Plasma-6-like and may also be useful when combined with top-located system-trays
  • Added option "separate-status-bar" to allow the main-window's status-bar to be separated from its toolbar. This may be useful when combined with "toolbar-at-top".
  • Replaced QProgressBar with a more modern circular busy-spinner.
  • Added a tooltip to the status-bar that shows the last 10 status messages.
  • The context-menu now includes a Control-Panel menu-item on all desktops - previously it was Gnome-only (for tray extensions), but Xfce's tray also needs it.
  • Light-Metering window - corrected the horizontal tick mark placement on the sun-plot.
  • Light-Metering window - added enlarged tick-marks to the sun-plot at 3,6,9,15,18,21 hours.
  • Added option "tray-follows-theme" (default enabled) to invert the tray icon’s light/dark state when the desktop theme changes. It can be set for trays that flip-with the desktop or flip-opposite to the desktop, or unset for trays don’t change at all (there isn't a common way to detect tray-themes, so this cannot be automated).
  • Internal code simplifications and cleanups.
ambient-slider-example

Full Changelog: v2.4.3...v2.5.0

What's Changed

New Contributors

Full Changelog: v2.4.3...v2.5.0

v2.4.3 metering bug fix

29 Aug 02:26

Choose a tag to compare

A minor release to fix one bug:

  • Fix a rare TypeError when light metering (probably only affects those using hardware light metering).
  • Some code cleanups for the splash screen.

v2.4.2 Small Potatoes

28 Jul 22:05

Choose a tag to compare

Version 2.4.2 contains some minor fixes.

  • Fix the Lux-Dialog's display of the Daylight-Factor for non semi-automatic metering.
  • Make sure the tray-icon always shows the correct lux-level icon.
  • Correct the lux-zone boundaries on the ambient slider.

Full Changelog: v2.4.1...v2.4.2

v2.4.1 Qt6 or bust

13 Jul 22:05

Choose a tag to compare

Version 2.4.1 contains numerous small changes to achieve compatibility with Qt6/PyQt6.

If PyQt6 is available, it will be used by default. if you prefer to stick with Qt5, unset the prefer-qt6 option in the Settings-Dialog.

  • Conversion to PyQt6 (while maintaining PyQt5 compatibility).
  • PyQt6 is used by default, with a fallback to PyQt5 should it not be available.
  • New option, prefer-qt6, disable this option to prefer PyQt5 over PyQt6.
  • Various changes to UI layouts to accommodate both Qt5 and Qt6 (including Qt6 High-DPI scaling).
  • Various tweaks to the main window to make the spacious Qt6 styling more compact.
  • Renamed the smart-uses-xcb option to smart-uses-xwayland to better reflect what the option does.
  • Fixed smart-window preservation when the app was closed from the tray without ever showing the main window.
  • Fixed weather selection, on selection, restore any missing weather definition files.
  • Fixed initialization-preset error handling (fix undefined variable).
  • Only persist lux_daylight_factor if in semi-auto mode (stop hardware light metering overwriting the user's choice).
  • The DBus-events default setting has been corrected to true/enabled.
  • Dragging the Preset-Dialog elevation to below the horizon now works properly (previously it was jerky).

What's Changed

Full Changelog: v2.4.0...v2.4.1

v2.4.0 Here Comes the Sun

11 Jun 21:11

Choose a tag to compare

Semi-Automatic Brightness Adjustment by Geolocation

In versions 2.4, the ambient-light-level slider has been combined with an estimate of local solar-illumination to achieve semi-automatic brightness control throughout the day. Adjusting the slider sets the ratio between indoor-illumination and outdoor solar-illumination. Should circumstances change, adjusting the slider updates the ratio. (Solar-illumination is estimated for a location by using the local date-time to determine sun-angle, and from that, estimates for illumination, and air-mass.)

Each display's brightness is periodically updated by matching the estimated indoor-illumination against each display's custom lux-brightness-response profile.

How to enable it

  1. Settings Dialog: set your geographic location ➀.
    Screenshot_Ambient_Location-small
  2. Light Metering Dialog: check that the light-meter ➁ is set to Semi-automatic geolocated (it's normally the default). If you haven't already done so, setup Lux Brightness Response Profiles for each display ➂. Older displays, with weak back lights, can be given relatively flat profiles, perhaps varying from 80% to 100% ④. Newer displays, with HDR capable back lights, can be given stepper profiles, possibly varying from 10% to 100% ⑤.
    Screenshot_Ambient_Meter_and_Profile-small

How to use it:

Screenshot_Ambient_Meter_Use_Main-smallScreenshot_Ambient_Meter_Use_Meter-small

  1. Set the prevailing indoor light level using the ambient-light-level slider ➀.
  2. If not already enabled, click the sun icon to enable automatic adjustments ➁.
  3. Starting from your chosen level; the application will periodically updates ambient-light-level ➀ in proportion to the expected outdoor sunlight (the adjustment period is set in the Light Metering Dialog).
  4. If conditions change, adjust the ambient-light-level slider ➀ to establish a new ratio of indoor to outdoor illumination.

The indoor and outdoor illumination-curves and current-estimates are shown in the Light Metering Dialog ➂, along with the estimate of outdoor lux (Eo) and the Daylight-Factor (DF), the ratio of indoor to outdoor lux.

The daylight-factor, the ratio of indoor/outdoor light, can optionally be saved as part of a Preset. For example, a "rainy-day" Preset might pre-can might restore a low daylight-factor, where as, a "sunny-day" preset might restore a high one.

Release summary

  • Added the ability to estimate the solar-illumination for a given geolocation and time (#107).
  • Added semi-automatic brightness adjustment proportional to geolocated solar-illumination.
  • Ambient-light-level slider: when the slider is manually adjusted, it has the side-effect of determining the ratio of indoor-illumination/solar-illumination (the the daylight-factor, DF).
  • Light-Metering dialog: semi-automatic metering replaces manual metering.
  • Light-Metering dialog: added a display of estimated outdoor-lux (Eo) and the current daylight-factor (DF).
  • Light-Metering dialog: added a plot of the current day's estimated solar and indoor illumination.
  • Light-Metering dialog: replaced the profile-selector combo-box with a list for easier accessibility.
  • Light-Metering dialog: added the ability to dynamically adjust for display DPI.
  • Preset dialog: added an option to save/restore the daylight-factor. This can be used to save daylight factors for various conditions, or to activate them at a solar-elevation.
  • Settings dialog: disabling protect-nvam now works properly for adjustments due to light-metering.
  • Duplicate Lux-profile points are filtered out to prevent confusing the UI and lux evaluation process.
  • DBus ddcutil-service: altered the detection parameters to request only valid displays (prevents errors) (#103).
  • Ambient-light brightness adjustment: prevent an infinite-loop if no brightness controls are enabled.
  • Preset-restoration and ambient-light brightness-adjustment now share the same code for background operations.
  • Model-only config files are no longer created, they're confusing and likely not used (they can still be created manually with a text editor).

Full Changelog: v2.3.0...v2.4.0

v2.3.0 DIY DDC

30 Apr 01:29

Choose a tag to compare

Version 2.3.0:

  • Fix the doze function, this improves the responsiveness of all slider controls.
  • Fix an infinite loop if menu->quit is used when the Failed to obtain capabilities dialog is showing.
  • The Settings-Dialog has been reorganized to make it scrollable.
  • When lux options are enabled, the tray will show the icon for current light-level (if no preset is active).
  • Renamed two light-light levels more appropriately (room becomes subdued, rise-set becomes twilight).
  • Support a user-defined ddcutil-emulator executable for controlling laptop-panels or other non-DDC-capable displays. A template sample emulator written in bash is included as a DIY starter (sample-scripts/laptop-ddcutil-emulator.bash).
  • Add smart-uses-xcb option to control the use of XWayland for the smart positioning of windows (defaults to yes).
  • Fix title-bars on sub-windows in COSMIC.
  • The About Dialog now includes some desktop and platform information.

Full Changelog: v2.2.0...v2.3.0

v2.2.0 What's in a name

20 Mar 20:18

Choose a tag to compare

  • Version 2.2.0, a new-feature release.
    • Add a vdu-name option for assigning meaningful/user-friendly names to each VDU (enhancement request: #100).
    • Implement an order-by-name option that orders lists and tabs by VDU name.
    • Hovering over a settings-dialog tab-name or save-button reveals the settings-filename as a tooltip.
    • If smart-window is enabled in a Wayland desktop, automatically use XWayland. (Wayland
      doesn't allow an application to precisely place it's own windows!)
    • Altering the smart-window option now requires a restart (due to the Wayland/XWayland changes).
    • The smart-window option save/restore of main-window has been made more consistent.
    • The COSMIC desktop is treated as GNOME-like (the system-tray right-mouse menu includes a control-panel menu-item).

v2.1.4 - dbus events optional

09 Mar 00:57

Choose a tag to compare

Version 2.1,4

  • Provide a setting for enabling dbus-events - ddcutil-service DPMS and hotplug detection.
  • Default the dbus-event setting to off, which is less troublesome for some VDUs/GPUs/drivers.

v2.1.3 - ddcutil 2.2 compatablity

18 Feb 21:23

Choose a tag to compare

  • Fix the error-dialog option "ignore-VDU" when ddcutil cannot communicate with a VDU.
  • Avoid abrupt u-turns in automatic brightness, don't reassess the lux level while making an adjustment.
  • Update the EDID-parser to accept the command line output from ddcutil 2.2 (for those not using ddcutil-service).