Open In App

How to Control Laptop Screen Brightness using Python?

To control the brightness of the screen we are using the screen-brightness-control library. The screen-brightness-control library has only one class and few functions. The most useful functions are mentioned below:

  1. get_brightness()
  2. set_brightness()
  3. fade_brightness()
  4. list_monitors()

Installation: We can install the package by running the following pip command:



pip install screen-brightness-control

Example 1: How to Get Screen Brightness

The get_brightness() method returns the current brightness level.



Syntax: get_brightness(display=None, method=None, verbose_error=False)

Parameters:

  • display -: the specific display you wish to adjust. This can be the name, model, serial or index of the display
  • method -: the OS specific method to use. On Windows this can be “wmi” (for laptop displays) or “vcp” (for desktop monitors). On Linux this can be “light”, “xrandr”, “ddcutil” or “xbacklight”.
  • verbose_error -: a boolean value to control how much detail any error messages should contain

Returns: Current brightness level




# importing the module
import screen_brightness_control as sbc
 
# get current brightness  value
current_brightness = sbc.get_brightness()
print(current_brightness)
 
# get the brightness of the primary display
primary_brightness = sbc.get_brightness(display=0)
print(primary_brightness)

 
 

Output: Suppose the brightness was this:

Then the output will be: 

50
50

The output can be a list or an integer depending on the number of detected monitors.
 

Example 2: How to Set Screen Brightness

The set_brightness() method changes the brightness of the screen.

Syntax: set_brightness(value, display=None, method=None, force=False, verbose_error=False, no_return=False)

Parameters:

  • value: the level to set the brightness to. Can either be an integer or a string.
  • display:  the specific display you wish to adjust. This can be the name, model, serial or index of the display
  • method:  the OS specific method to use. On Windows this can be “wmi” (for laptop displays) or “vcp” (for desktop monitors). On Linux this can be “light”, “xrandr”, “ddcutil” or “xbacklight”.
  • force (Linux only): If set to False then the brightness is never set to less than 1 because on Linux this often turns the screen off. If set to True then it will bypass this check
  • verbose_error: A boolean value to control how much detail any error messages should contain
  • no_return: if False, this function will return what the brightness was set to. If True, this function returns nothing, which is slightly quicker




# importing the module
import screen_brightness_control as sbc
 
# get current brightness value
print(sbc.get_brightness())
 
#set brightness to 50%
sbc.set_brightness(50)
 
print(sbc.get_brightness())
 
#set the brightness of the primary display to 75%
sbc.set_brightness(75, display=0)
 
print(sbc.get_brightness())

 
   Output:

100
50
75

The output can be a list or an integer depending on the number of detected monitors.
 

  Example 3: How to Fade the Brightness

The fade_brightness() method gently fades the brightness to a value.

Syntax: fade_brightness(finish, start=None, interval=0.01, increment=1, blocking=True)

Parameters:

  • finish: The brightness value to fade to
  • start: The value to start from. If not specified it defaults to the current brightness
  • interval: The time interval between each step in brightness
  • increment: The amount to change the brightness by each step
  • blocking: If set to False it fades the brightness in a new thread




# importing the module
import screen_brightness_control as sbc
 
# get current brightness value
print(sbc.get_brightness())
 
# fade brightness from the current brightness to 50%
sbc.fade_brightness(50)
print(sbc.get_brightness())
 
# fade the brightness from 25% to 75%
sbc.fade_brightness(75, start = 25)
print(sbc.get_brightness())
 
# fade the brightness from the current
# value to 100% in steps of 10%
sbc.fade_brightness(100, increment = 10)
print(sbc.get_brightness())

 
Output:

75
50
75
100

 Example 4: How to list available monitors

The list_monitors() method returns a list the names of all detected monitors

Syntax: list_monitors(method=None)

Parameters:

  • method: the OS specific method to use. On Windows this can be “wmi” (for laptop displays) or “vcp” (for desktop monitors). On Linux this can be “light”, “xrandr”, “ddcutil” or “xbacklight”.




# import the library
import screen_brightness_control as sbc
 
# get the monitor names
monitors = sbc.list_monitors()
print(monitors)
 
# now use this to adjust specific screens by name
sbc.set_brightness(25, display=monitors[0])

Output:

["BenQ GL2450H", "Dell U2211H"]

The names and quantity of monitors will vary depending on what is plugged into your computer.


Article Tags :