Browse Source

added arch pkgbuild and desktop file

Thomas Buck 5 years ago
parent
commit
5338765680
5 changed files with 72 additions and 8 deletions
  1. 24
    0
      linux/PKGBUILD
  2. 15
    0
      linux/README.md
  3. 23
    8
      linux/caselights
  4. 0
    0
      linux/caselights_icon.png
  5. 10
    0
      linux/de.xythobuz.caselights.desktop

+ 24
- 0
linux/PKGBUILD View File

1
+# Maintainer: Thomas Buck <thomas@xythobuz.de>
2
+pkgname=CaseLights
3
+pkgver=0.1
4
+pkgrel=1
5
+pkgdesc="RGB LED and UV strip controls"
6
+arch=('any')
7
+license=('unknown')
8
+depends=('python-pyqt5'
9
+         'python-pyserial')
10
+source=("caselights"
11
+        "caselights_icon.png"
12
+        "de.xythobuz.caselights.desktop")
13
+md5sums=(SKIP
14
+         SKIP
15
+         SKIP)
16
+
17
+package() {
18
+	mkdir -p "$pkgdir/usr/bin"
19
+	cp caselights "$pkgdir/usr/bin/caselights"
20
+	mkdir -p "$pkgdir/usr/share/pixmaps"
21
+	cp caselights_icon.png "$pkgdir/usr/share/pixmaps/caselights_icon.png"
22
+	mkdir -p "$pkgdir/usr/share/applications"
23
+	cp de.xythobuz.caselights.desktop "$pkgdir/usr/share/applications/de.xythobuz.caselights.desktop"
24
+}

+ 15
- 0
linux/README.md View File

1
+# CaseLights Linux Qt client
2
+
3
+Simple Python Qt Linux client for CaseLights. Install on Arch Linux like this:
4
+
5
+    makepkg
6
+    sudo pacman -U CaseLights-0.1.1-any.pkg.tar.xz
7
+
8
+Or on all other linux distros:
9
+
10
+	sudo cp caselights /usr/bin/caselights
11
+	sudo cp caselights_icon.png /usr/share/pixmaps/caselights_icon.png
12
+	sudo cp de.xythobuz.caselights.desktop /usr/share/applications/de.xythobuz.caselights.desktop
13
+
14
+Then run it from your desktop environment menu or even add it to the autostart there.
15
+

linux/caselights.py → linux/caselights View File

1
+#!/usr/bin/env python3
2
+
1
 # CaseLights Linux Qt System Tray client
3
 # CaseLights Linux Qt System Tray client
2
 # depends on:
4
 # depends on:
3
 # - python-pyqt5
5
 # - python-pyqt5
4
 # - python-pyserial
6
 # - python-pyserial
5
 
7
 
6
-import sys
8
+import sys
9
+import os.path
7
 import serial, serial.tools, serial.tools.list_ports
10
 import serial, serial.tools, serial.tools.list_ports
8
 from PyQt5 import QtWidgets, QtGui, QtCore
11
 from PyQt5 import QtWidgets, QtGui, QtCore
9
 from PyQt5.QtWidgets import QSystemTrayIcon, QAction, QMenu
12
 from PyQt5.QtWidgets import QSystemTrayIcon, QAction, QMenu
10
 from PyQt5.QtGui import QIcon, QPixmap
13
 from PyQt5.QtGui import QIcon, QPixmap
11
 from PyQt5.QtCore import QCoreApplication, QSettings
14
 from PyQt5.QtCore import QCoreApplication, QSettings
12
 
15
 
13
-class CaseLights():
16
+class CaseLights():
14
     name = "CaseLights"
17
     name = "CaseLights"
15
     vendor = "xythobuz"
18
     vendor = "xythobuz"
16
     version = "0.1"
19
     version = "0.1"
17
 
20
 
21
+    iconPath = "/usr/share/pixmaps/"
22
+    iconName = "caselights_icon.png"
23
+
18
     staticColors = [
24
     staticColors = [
19
         [ "Off",     "0",   "0",   "0", None ],
25
         [ "Off",     "0",   "0",   "0", None ],
20
         [ "Red",   "255",   "0",   "0", None ],
26
         [ "Red",   "255",   "0",   "0", None ],
25
 
31
 
26
     usedPort = None
32
     usedPort = None
27
     serial = None
33
     serial = None
28
-
29
     menu = None
34
     menu = None
30
     portMenu = None
35
     portMenu = None
31
     portActions = None
36
     portActions = None
44
         if self.usedPort is not None:
49
         if self.usedPort is not None:
45
             self.connect()
50
             self.connect()
46
 
51
 
47
-        pic = QPixmap(32, 32)
48
-        pic.load("icon.png")
49
-        icon = QIcon(pic)
50
-
51
         self.menu = QMenu()
52
         self.menu = QMenu()
52
 
53
 
53
         colorMenu = QMenu("&Colors")
54
         colorMenu = QMenu("&Colors")
72
         self.quitAction.triggered.connect(self.exit)
73
         self.quitAction.triggered.connect(self.exit)
73
         self.menu.addAction(self.quitAction)
74
         self.menu.addAction(self.quitAction)
74
 
75
 
76
+        iconPathName = ""
77
+        if os.path.isfile(self.iconName):
78
+            iconPathName = self.iconName
79
+        elif os.path.isfile(self.iconPath + self.iconName):
80
+            iconPathName = self.iconPath + self.iconName
81
+        else:
82
+            print("no icon found")
83
+
84
+        icon = QIcon()
85
+        if iconPathName is not "":
86
+            pic = QPixmap(32, 32)
87
+            pic.load(iconPathName)
88
+            icon = QIcon(pic)
89
+
75
         trayIcon = QSystemTrayIcon(icon)
90
         trayIcon = QSystemTrayIcon(icon)
76
         trayIcon.setToolTip(self.name + " " + self.version)
91
         trayIcon.setToolTip(self.name + " " + self.version)
77
         trayIcon.setContextMenu(self.menu)
92
         trayIcon.setContextMenu(self.menu)
78
         trayIcon.setVisible(True)
93
         trayIcon.setVisible(True)
79
-        
94
+
80
         sys.exit(app.exec_())
95
         sys.exit(app.exec_())
81
 
96
 
82
     def exit(self):
97
     def exit(self):

linux/icon.png → linux/caselights_icon.png View File


+ 10
- 0
linux/de.xythobuz.caselights.desktop View File

1
+[Desktop Entry]
2
+Type=Application
3
+Version=1.0
4
+Name=CaseLights
5
+Comment=RGB LED and UV strip controls
6
+Path=/usr/bin
7
+Exec=caselights
8
+Icon=/usr/share/pixmaps/caselights_icon.png
9
+Terminal=false
10
+Categories=Utility;

Loading…
Cancel
Save