Created
May 20, 2021 21:06
-
-
Save fabiovila/672d0341b15202be8caa2641daabe262 to your computer and use it in GitHub Desktop.
Systray app to change monitor target of wacom digitalizers. Also tray pyqt5 tray app example and base64 image embbeded
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
from PyQt5.QtGui import * | |
from PyQt5.QtWidgets import * | |
import os | |
import base64 | |
icon64 = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA6cAAAOnAEHlFPdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAABHRJREFUWMPtlm1sU1Ucxn/39vZlg62121rasZfigDFUFHQbS9BBQAOaNUIgIcaAmKifjImJaJRPJnwxxJgJGEhIXBAEgUgyfFmWYICYSYOuATJwr93Ya7uOlkLf7r3HD0OjgW1dffkiz8dzz/k/v/M/T8658ED/vOyA8780dAKfAt0mRUo67UbdVWgWQOXfKSpN860E2AP8ajFNGi7x5OrPrrTpB3ZViETbSnFwV4VwFZo7sjaSJOmkEKIL+AAoBt4HVlvMcol1jsFotxopnWdih9cheesL6RpU6Ri0k5RLeNx1BY8LHt38i94zmDDMBKDcb1AI0SdJ0uuyxDu2fEW4CkxUlJp5Y7NLWlttJTACl/vzkXM9NHeWU774aTa9WIMkSZzY28BST5j8uQY5kw4oU4y/PTdXfqvMZWYklJaeWJLPxg0riColfNnupnLZOho2VCNJ9zZQmD1AmPkOE+3Xb1cDF7MKgSJJ7fveXSA2rSsVRUVFora2Vvj9fjGTTh1tFGlfnWj6cJFwF5l6sjK/q8r6J62ip7lanDh+WKxZs0a4XC6xc+dOoWnalAD9gT7RdrhWxNtWiofnW7SZTKY7p2tDwZTwuI3o8T5aWlrYvn07TU1NrF+/HlVV77uopLSM/gknFpOMda4yYw6mnTARTeuRmAbxXgwGA7t376a1tRWbzUZXV9fUCy0LJmGcZoD6rAHCUdV36PQISrqPdDoNQFVVFceOHaOycup7xpi/kGRK5+UXiih2mA5nDaBpbPn6bJiaRTEu+c7P1M0/VLPKi+86NDxjx2KSXVkDAAPDoZRwFykMdF7IGMDlcjN8y4VRkbDlTZ+DGUMSjqpa6GYa4r0ZAwBg8QBQ7jYDbMoeIKKeO3hyDJMWIJlMZu5vW0I8qfOK18l8p3H/7Oj/Kmfdsjwx2lojzv/wzYwX0e8KhYLi7KE6kfbViYoSi551B4DRsXBaOOwKw70/ZUxdUFBIMF6MYpCw5SlTvq4ZPRgTUTU9Mp6CxCxv1rs5WFhmAXg1a4DxiPrdvuMj5IgB4vF4Rt4D/QGudQfRdMGOBicl80wf3W+elFE1sNc8kjd+prGKy+p71K/13jNhaPAGft+3xMY7INFPrghQv9zInBwZXYfKjZdEZ3/ing0rGdlDOHQzLQqsihT0XwK89HR34vd9j3q7BxEP4M67wdoqBWPZ5J5OXNnMmU6NjUubp81BpgCEo2pqYDRpztcu8lXj8xRbx/AuNSPL0DOYIKC8yZHzp9m2ehRdh0Q8gtFoQTFIhKMqsiwBbAM+/3PdjDIAMBFVT31yZJjnlsdQiOF4qpFTFyaXJ1Mwz+1Bl60AhCJphq5+wYH9e3hsSzvLt7aL3sHEVeBo1h0AXjv3c3QrgNGgcefObZS7f3y2PJmDn73Ej/5bfLw3xXhEFdGY2h2L63VAcLqimYYQAI/bovc0r5CGgimazozR2naTsXCacFQTkajWEUuoq4DwbGrOSo6HjMHF5Tl6scOkzbEYWoCcf83sgf43+g2OnBeivQyheQAAAABJRU5ErkJggg==" | |
def monitor1(e): | |
os.system('xsetwacom set "Wacom Intuos S Pen stylus" MapToOutput eDP1'); | |
def monitor2(e): | |
os.system('xsetwacom set "Wacom Intuos S Pen stylus" MapToOutput HDMI1'); | |
app = QApplication([]) | |
app.setQuitOnLastWindowClosed(False) | |
# Adding an icon | |
iconbin = base64.b64decode(icon64) | |
qp = QPixmap() | |
qp.loadFromData(iconbin) | |
icon = QIcon(qp) | |
# Adding item on the menu bar | |
tray = QSystemTrayIcon() | |
tray.setIcon(icon) | |
tray.setVisible(True) | |
# Creating the options | |
menu = QMenu() | |
option1 = QAction("Monitor 1") | |
option2 = QAction("Monitor 2") | |
option3 = QAction("[Reserved]") | |
menu.addAction(option1) | |
menu.addAction(option2) | |
menu.addAction(option3) | |
option1.triggered.connect(monitor1) | |
option2.triggered.connect(monitor2) | |
# To quit the app | |
quit = QAction("Quit") | |
quit.triggered.connect(app.quit) | |
menu.addAction(quit) | |
# Adding options to the System Tray | |
tray.setContextMenu(menu) | |
app.exec_() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment