Skip to content

Southern Spring

Compare
Choose a tag to compare
@digitaltrails digitaltrails released this 08 Sep 20:06
· 342 commits to master since this release

This release of vdu_controls rolls up changes accumulated over the southern winter. Most of the changes stem from suggestions made by individuals on the list of acknowledgements, the fresh perspectives they've provided have been invaluable.

The majority of the changes are focused on improving usability. There has also been some refactoring for maintainability. Some work has advanced on a web-cam based lux-meter vlux_meter.

Main Window and Context Menu

  • ALT-key shortcuts have been added to the Main Window and Context-Menu (issue #13). The shortcut implementation works within the constraints set by Qt and the various Linux desktops. The available ALT-key shortcuts can be revealed by holding down ALT when in the Context Menu. The standard F1-key is an additional shortcut for help. Shortcuts are are also automatically assigned to Presets (subject to enough letters being unused/available). Here is a screenshot showing the Context_Menu when ALT is being held down:
    image
  • The Main Window layout has been changed to always display brightness and contrast as the first two controls for each VDU.
  • The Main Window's slider-controls are now clickable, the VDU will be immediately set to the clicked value, there is no need to drag the slider to the desired value (issue #59).
  • On gnome the Main Window can now be raised above the other sub-windows (this corrects an issue that only occurs on gnome desktops).
  • A new hide on focus out setting has been added to optionally minimize the Main Window on focus out (issue #57). This was primarily added for use when running from the system tray, but is also available generally. This setting is temporarily blocked when any dialogs, such as the Settings Dialog, are showing.

image

  • A smart window option has been added so that "smart" Main-Window placement and geometry restoration at startup can be disabled. This provides a way to return such decisions to the desktop window manager, which might have it's own placement strategies, such as place in center, place at mouse location, and so forth.
  • Changes to Preset ordering now propagate to the Context-Menu without requiring an application restart.

Settings Dialog

  • A Reset button has been added to the Settings Dialog to makes it possible to un-ignore a VDU (issue #51).
  • Tool-tips have been added to Settings Dialog major settings (related to work on issue #52).

Additional active Preset indicators

  • The Context-Menu shows an indicator suffix ◀ to mark the currently active Preset (if any) (issue #55).
  • The Preset Dialog bolds the text button of the currently active Preset (if any).
  • The application tray-icon has been un-themed so that overlaid active Preset text/icon is more visible (issue #55).

image

Presets Dialog

  • In the Presets Dialog, the Activate and Edit buttons have been combined into one button (simpler and more intuitive).
  • The dialog now detects and and warns of unsaved changes.
  • The dialog locks out any scheduled or lux-metered VDU changes while a Preset is being edited.

New default set of icons for use with Presets
A starter set of Prest icons is provided in /usr/share/vdu_controls/icons (issue #56). They are a selection of LGPL KDE breeze5-icons.

image

More versions of ddcutil are now supported

  • vdu_controls is now ddcutil-2.0 ready.
  • Added support for ddcutil versions earlier than 1.3 (issue #43, #53).
  • Improved the handling of ddcutil not found (issue #48).

Command-line changes

  • The Settings Dialog and command-line arguments have been made more consistent (issue #52).
  • Each --blah option now has a corresponding --no-blah.
  • Command-line supplied values now take precedence over their Settings Dialog counterparts.
  • The command line --sleep-multiplier has been fixed so that it works (issue #54).

Miscellaneous changes

  • Popup-Messages are now resizable for increased readability.
  • The command line single-user/personal --install option can now be used to update the script.
  • Several potential crashes in the event of utf-8 decoding errors for EDID's and capabilities have been addressed (issue #49).
  • When debugging is enabled, stack-traces will be logged for several kinds of errors (issue #49).
  • The code has been refactored to improve maintainability and run-time efficiency (issue #52).
  • Added Deepin 23 pyqt library compatibility.
  • Numerous other minor enhancements and fixes.

Alpha version of vlux_meter.py

  • An alpha release of vlux_meter.py, a system-tray webcam lux-meter, has been included in the sample scripts folder:

image

  • Key features present in the image above:
  1. Approximate lux value based on mapping the current webcam brightness:
    • the value is written to output FIFO $HOME/.cache/vlux_fifo
    • the FIFO can read by vdu_controls.
  2. Brightness to Lux mapping sliders with guidance on appropriate values for different ambient conditions.
  3. Selected video device.
  4. Mouse selected brightness sampling crop area, pick a target crop most suitable for measuring ambient light levels.
  5. System tray icon.
  • More info on webcam lux metering here