Adaptive Classes

class Dpowers.AdaptiveClass
adaptor

Class attribute. This is an instance of a subclass of Dpowers.Adaptor. It determines the backends available for this AdaptiveClass and is shared among all created instances. This Adaptor instance is used internally to access all backend specific functions. Usually you shouldn’t use this attribute, but prefer the AdaptiveClass’ methods.

classmethod adapt(*, group='default', _primary_name=False, **method_infos)

Changes the backend for all instances of this AdaptiveClass, including already created instances (unless adapt_instance() was used).

For parameters see Dpowers.Adaptor.adapt().

adapt_instance(*, group='default', _primary_name=False, **method_infos)

Changes the backend for this instance only.

For parameters see Dpowers.Adaptor.adapt().

Icon

class Dpowers.Icon

Subclass of Dpowers.AdaptiveClass.

Associated Adaptor class: Dpowers.IconAdaptor

How to import:

from Dpowers import Icon

# choose the default backend for your system:
Icon.adapt()

# alternatively, choose one of the following backends:
Icon.adapt('pystray')
Icon.adapt('yad_bash')

How to install dependencies for available backends:

>>> print(Icon.install_instructions())
pip install -U pystray pillow
sudo apt install yad
classmethod adapt(*, group='default', _primary_name=False, **method_infos)

Choose the backend for this class. See AdaptiveClass.adapt(). For parameters see Dpowers.Adaptor.adapt().

menuitem(text=None, func=None)

Adds a new entry to the icon’s context menu.

Parameters:
  • text (str) – Text of the menu entry. If omitted func.__name__ will be used as text (underscores are replaced by space).

  • func – Function to execute when clicking this menu entry.

additem(func)

A decorator to apply menuitem() directly onto a function.

TriggerManager

class Dpowers.TriggerManager(timeout=60, buffer=4)

Subclass of Dpowers.AdaptiveClass.

Associated Adaptor class: Dpowers.HookAdaptor

How to import:

from Dpowers import TriggerManager

# choose the default backend for your system:
TriggerManager.adapt()

# alternatively, choose one of the following backends:
TriggerManager.adapt('evdev')
TriggerManager.adapt('pynput')

How to install dependencies for available backends:

>>> print(TriggerManager.install_instructions())
pip install -U pynput
classmethod adapt(*, group='default', _primary_name=False, **method_infos)

Choose the backend for this class. See AdaptiveClass.adapt(). For parameters see Dpowers.Adaptor.adapt().

KeyWaiter

class Dpowers.KeyWaiter(*args, eventmap=None, keys=True, buttons=False, press=True, release=False, write_rls=True, join_events=False, **kwargs)

Subclass of Dpowers.AdaptiveClass.

Associated Adaptor class: Dpowers.HookAdaptor

How to import:

from Dpowers import KeyWaiter

# choose the default backend for your system:
KeyWaiter.adapt()

# alternatively, choose one of the following backends:
KeyWaiter.adapt('evdev')
KeyWaiter.adapt('pynput')

How to install dependencies for available backends:

>>> print(KeyWaiter.install_instructions())
pip install -U pynput
classmethod adapt(*, group='default', _primary_name=False, **method_infos)

Choose the backend for this class. See AdaptiveClass.adapt(). For parameters see Dpowers.Adaptor.adapt().