Skip to content

Releases: Crozzers/screen_brightness_control

v0.11.4

06 Feb 20:58

Choose a tag to compare

  • Add missing variable deceleration in windows.get_display_info
  • Move version info to _version.py
  • New documentation tool-chain
  • Deprecate module level method variable

v0.11.3

02 Nov 18:53

Choose a tag to compare

  • Fix #13 where some laptop displays were being returned by windows.VCP.iter_physical_monitors
  • windows.VCP.iter_physical_monitors will now only return handles for monitors with the win32con.DISPLAY_DEVICE_ATTACHED_TO_DESKTOP StateFlag (see this comment for explanation)

v0.11.2

30 Oct 00:05

Choose a tag to compare

v0.11.1

25 Sep 22:58

Choose a tag to compare

  • Fix linux.DDCUtil.set_brightness expiring non-existent cache keys
  • Refactor linux.XRandr.get_display_info and linux.DDCUtil.get_display_info to be more readable
  • All calls to ddcutil executable now have stderr suppressed
  • Minor optimizations and tweaks to reduce pylint warnings

v0.11.0

23 Sep 21:51

Choose a tag to compare

  • Added linux.SysFiles as a way of addressing laptop displays without requiring a 3rd party program
  • Added tests for windows and linux sub-modules
  • Remove remaining deprecated functions from #10 (windows.VCP.get_monitor_caps, linux.get_brightness_from_sysfiles)

v0.10.1

06 Sep 15:43

Choose a tag to compare

  • Fix TypeError in windows.VCP.set_brightness when calling without specifying the display kwarg

v0.10.0

03 Sep 21:04

Choose a tag to compare

Added/Changed:

  • set_brightness now returns None by default. To enable old behaviour pass the kwarg no_return=False when calling it

Removed:

  • windows.set_brightness
  • windows.get_brightness
  • windows.list_monitors
  • windows.WMI.get_display_names
  • windows.VCP.get_display_names
  • linux.set_brightness
  • linux.get_brightness
  • linux.list_monitors
  • linux.Light.get_display_names
  • linux.XRandr.get_display_names
  • linux.DDCUtil.get_display_names

Fixed:

  • Fix fade_brightness not working on Linux systems with only xbacklight installed

Deprecated:

  • windows.VCP.get_monitor_caps
  • linux.get_brightness_from_sysfiles

v0.9.0

12 Jul 12:18

Choose a tag to compare

Added/Changed

  • Lower level functions (EG: windows.VCP.get_brightness) now only support specifying the display as an int
  • Low level set_brightness functions (EG: windows.VCP.set_brightness) no longer return anything
  • Improved error traceback formatting. When using verbose_error the entire exception traceback is now included
  • Added start kwarg to windows.VCP.iter_physical_monitors
  • Sped up windows.get_display_info by reducing the number of calls to wmi APIs
  • Moved linux._EDID to top level EDID class
  • Changed order in which functions/classes are defined. Most relevant ones are at top of the file
  • Added basic testing
  • linux.XRandr.get_display_info no longer includes brightness in returned info by default

Deprecated

  • set_brightness returning the new brightness. In the future it will return None by default.
  • windows.set_brightness
  • windows.get_brightness
  • windows.list_monitors
  • windows.WMI.get_display_names
  • windows.VCP.get_display_names
  • linux.set_brightness
  • linux.get_brightness
  • linux.list_monitors
  • linux.Light.get_display_names
  • linux.XRandr.get_display_names
  • linux.DDCUtil.get_display_names

v0.8

03 Mar 21:11

Choose a tag to compare

Added/Changed

  • Re-formatted the code in the flake8 style (using args --ignore=W503 --max-line-length=119)
  • Sped up most internal function calls by reducing the number of calls made to filter_monitors
  • If the module is imported on an unsupported platform it raises a NotImplementedError
  • Made low-level function return types more consistent
  • Added fade_brightness method to Monitor class
  • The --set and --fade arguments on the CLI now have an output

Removed

  • Removed the model_name attribute from Monitor class
  • Removed all module level filter functions (eg: linux.XRandr.__filter_monitors)
  • Removed from . import Monitor from the windows and linux modules. See here

Fixes

  • Fixed the method kwarg on windows
  • Fixed functions not returning None when no_return=True is passed in
  • Fixed FileNotFoundError in linux.Light
  • Fixed linux.XRandr.get_brightness returning out-of-date values
  • Fixed linux.XRandr.get_display_info not giving names to monitors without EDID strings

v0.8.1

  • Fixed linux.list_monitors* functions erroring out due to subprocess errors in called commands

v0.8.2

  • Fixed errors when calling fade_brightness with the current brightness values
  • Fixed Monitor.set_brightness allowing values <0 and >100 to be set using Linux and XRandr

v0.8.3

  • Changed some method decorators from staticmethod to classmethod

v0.8.4

  • Fix markdown table in readme not rendering correctly

v0.8.5

  • Changed the information in the README regarding xbacklight

v0.8.6

v0.7

21 Jan 22:43

Choose a tag to compare

A chunkier update than previously anticipated. Honestly thought this would have been ready 2 weeks ago.
Hopefully there aren't any major bugs in this release (like #5)

Added/Changed:

  • Monitors using the windows.VCP method can now have their actual serial numbers retrieved (instead of the Windows UID)
  • If the --verbose flag is used with --list in the CLI it will list all known information about the monitors, not just the names
  • If the --verbose flag is used with --get in the CLI it will show each monitors serial and which method they use with the brightness value
  • Added a top-level list_monitors_info function for more details about connected monitors
  • Added support for retrieving EDID strings in Windows. These are used internally as the primary form of differentiating monitors (instead of serials)
  • Added a top-level Monitor class, which does the same thing as the old windows.Monitor and linux.Monitor
  • Added a top-level filter_monitors function, which filters a list of displays by the parameters you supply (see the docs for more info on how this happens)
  • Sped up the module by caching information for short periods of time (short so that the info doesn't expire). The cache can be disabled if this causes issues

Removed/Deprecated:

  • Deprecated the 'model_name' attribute in Windows Monitor objects (the 'model' attribute should be used instead)
  • Deprecated the 'model_name' key in monitor's information on Windows (the 'model' key should be used instead)
  • Removed the Windows and Linux specific Monitor classes. They just use the top-level generic one
  • Deprecated windows.VCP.filter_displays in favour of the top-level filter_displays function
  • Removed windows.WMI._get_display_index

Fixes:

  • Fixed the CLI returning the monitor names incorrectly if one monitor got turned off
  • DDC requests on Windows will try up to 10 times (with 0.02 seconds in between each attempt) to reduce errors from spamming this interface

That should be about it for now. The next update will be focused on optimizations (and probably patches)

v0.7.1

  • Patched issue #6

v0.7.2

  • Fixed issues #7 and #8
  • Made lower-level windows functions more consistant with their output types