Catalog PyPI
PACKAGE EXPLORERView in registry

acpibacklight

PyPI

Library and script for changing brightness on Linux via acpi. Allows for easing animations too!

acpianimationbacklightbrightnesseasing
Versions collected1
Direct dependencies1From release 0.2.0
Last observed20 Oct, 18:23 UTC

README

Version 0.2.0 documentation
acpibacklight
=============

|PyPI version|

A python library and script for changing brightness on Linux via acpi.
Allows for easing animations too!

.. code:: bash

    pip install acpibacklight

You can use the script ``acpi-ease-backlight`` to adjust the backlight
with easing via acpi on your device. See ``acpi-ease-backlight --help``
for options.

CLI Usage
---------

After installing via pip, use the script ``acpi-ease-backlight``. Here
is how you might use it:

.. code:: bash

    $ acpi-ease-backlight -h        # see help
    ...

    $ acpi-ease-backlight show      # show the current backlight value
    4000

    $ acpi-ease-backlight max       # show the your display's max backlight value
    4882

    $ acpi-ease-backlight set 2000  # set the backlight to 2000, over the default
                                    # duration of 0.25 seconds and using the default
                                    # easing function 'easeOutCubic'

    $ acpi-ease-backlight -d 1 -e easeInOutQuad set 3000
                                    # set the backlight to 3000 over duration of
                                    # 1 second, using the easing function 'easeInOutQuad'

    $ acpi-ease-backlight -d 0.5 dec 1000
                                    # decrease the current backlight value by
                                    # 1000 over a duration of 0.5 seconds

Library Usage
-------------

Instantiating
^^^^^^^^^^^^^

Use the class ``acpibacklight.AcpiBacklightControl`` for changing the
backlight level in various ways. ``AcpiBacklightControl`` is designed to
use python *with* statements similarly to file objects and python's
``open`` builtin:

.. code:: python

    from acpibacklight import AcpiBacklightControl

    with AcpiBacklightControl() as ctrl:
        # set the brightness without animating
        ctrl.brightness = 2000

        # get max brightness on this device
        new_brightness = ctrl.max

        # You can also use the animate function on the AcpiBacklightControl.
        # See the docstring for kwargs
        ctrl.animate(new_brightness, duration=0.75)

Alternatively, you can construct, then open, then close the
``AcpiBacklightControl``:

.. code:: python

    ctrl = AcpiBacklightControl()
    ctrl.open()
    ctrl.animate(ctrl.brightness - 1000)
    ctrl.close()

If you have multiple ACPI backlight devices, specify the name when
constructing the ``AcpiBacklightControl``. Otherwise, the default is the
first device directory found.

.. code:: python

    ctrl = AcpiBacklightControl(device_dir='intel_backlight')

Easing Functions
^^^^^^^^^^^^^^^^

You can pass an easing function to be used in ``animate()`` by the
``easing_func`` keyword arg. This package uses
`PyTweening <https://github.com/asweigart/pytweening>`__ for its default
animation and the CLI, so you can easily pass one of those:

.. code:: python

    import pytweening
    ctrl.animate(2345, easing_func=pytweening.easeInOutBounce)

Finally, if you want to create and pass your own easing function, it
should take one paramater (time) between 0 and 1, and return a value
between 0 and 1. For instance, a linear easing function would look like:

.. code:: python

    def linear_easing(t):
      # t is always in the range [0, 1]
      return t

    # ...
    ctrl.animate(1234, easing_func=linear_easing)

.. |PyPI version| image:: https://badge.fury.io/py/acpibacklight.svg
   :target: https://badge.fury.io/py/acpibacklight


Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.09 Apr 20171

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:23 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:595d6476bcd610c2f9aae194239661c856f75fe3f89bd9f883556dc6e4d00188