parent
b579e649cb
commit
4802ece39d
1 changed files with 46 additions and 0 deletions
@ -0,0 +1,46 @@ |
||||
#!/usr/bin/env python3 |
||||
# (c) 2017 Taeyeon Mori |
||||
|
||||
import sys |
||||
from PyQt5 import QtGui, QtWidgets |
||||
import dbus |
||||
|
||||
|
||||
def main(argv): |
||||
# Initialize DBus |
||||
bus = dbus.SessionBus() |
||||
sso = bus.get_object('org.freedesktop.ScreenSaver', '/org/freedesktop/ScreenSaver') |
||||
inhibit = sso.get_dbus_method("Inhibit", "org.freedesktop.ScreenSaver") |
||||
uninhibit = sso.get_dbus_method("UnInhibit", "org.freedesktop.ScreenSaver") |
||||
|
||||
# Initialize Tray Icon |
||||
app = QtWidgets.QApplication(argv) |
||||
app.setApplicationName("ScreenSaver Inhibit") |
||||
|
||||
menu = QtWidgets.QMenu() |
||||
ctext = menu.addAction("Cookie") |
||||
ctext.setEnabled(False) |
||||
exit = menu.addAction("Quit") |
||||
exit.triggered.connect(app.exit) |
||||
|
||||
tray = QtWidgets.QSystemTrayIcon() |
||||
tray.setIcon(QtGui.QIcon.fromTheme("screensaver")) |
||||
tray.setContextMenu(menu) |
||||
tray.show() |
||||
|
||||
# Run |
||||
cookie = inhibit("ScreenSaver Inhibit Tray Application", "User Inhibit") |
||||
print("Inhibited: ", cookie) |
||||
ctext.setText("Cookie: %s" % cookie) |
||||
|
||||
try: |
||||
app.exec() |
||||
|
||||
finally: |
||||
uninhibit(cookie) |
||||
print("UnInhibited") |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
main(sys.argv) |
||||
|
Loading…
Reference in new issue