53 lines
1.2 KiB
Python
53 lines
1.2 KiB
Python
# pylint: disable=C0111,R0903
|
|
|
|
"""My TEST
|
|
|
|
Requires the following executable:
|
|
* arandr
|
|
* xrandr
|
|
"""
|
|
|
|
from functools import partial
|
|
import logging
|
|
|
|
import core.module
|
|
import core.widget
|
|
import core.input
|
|
import core.decorators
|
|
import util.cli
|
|
from util import popup
|
|
from util.cli import execute
|
|
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
class Module(core.module.Module):
|
|
@core.decorators.never
|
|
def __init__(self, config, theme):
|
|
super().__init__(config, theme, core.widget.Widget(''))
|
|
|
|
self.manager = self.parameter("manager", "arandr")
|
|
core.input.register(
|
|
self,
|
|
button=core.input.LEFT_MOUSE,
|
|
cmd=self.popup,
|
|
)
|
|
|
|
core.input.register(self, button=core.input.RIGHT_MOUSE,
|
|
cmd=self.popup)
|
|
|
|
def popup(self, widget):
|
|
"""Create Popup that allows the user to control their displays in one
|
|
of three ways: launch arandr, select a pre-set screenlayout, toggle a
|
|
display.
|
|
"""
|
|
log.info("arandr showing popup")
|
|
menu = popup.menu()
|
|
menu.add_menuitem("arandr",
|
|
callback=partial(execute, self.manager)
|
|
)
|
|
|
|
menu.show(widget, 0, 0)
|
|
|
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|