summaryrefslogtreecommitdiffstats
path: root/ui/qrazercfg-applet
blob: 4b4f7c3b4a18613398ccdb38de60b88629c25621 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env python3
#
#   Razer device QT configuration tool
#
#   Copyright (C) 2007-2018 Michael Buesch <m@bues.ch>
#
#   This program is free software; you can redistribute it and/or
#   modify it under the terms of the GNU General Public License
#   as published by the Free Software Foundation; either version 2
#   of the License, or (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.

import sys
import traceback
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

import pyrazer
from pyrazer import ui

def main():
	try:
		ui.razer = pyrazer.Razer(enableNotifications=True)
	except pyrazer.RazerEx as e:
		print(e)
		return 1

	app = QApplication(sys.argv)
	try:
		# check if systray is available at freedesktop
		if not QSystemTrayIcon.isSystemTrayAvailable():
			print("No system tray available")
			return 1
		applet = ui.RazerApplet()
		applet.show()
		return app.exec_()
	except pyrazer.RazerEx as e:
		QMessageBox.critical(None,
			"qrazercfg-applet - Fatal exception",
			"qrazercfg-applet - A fatal exception occurred:\n\n"
			"%s\n\n"
			"%s" % (str(e), traceback.format_exc()))
		raise e

if __name__ == "__main__":
	sys.exit(main())
bues.ch cgit interface