瀏覽代碼

added arch pkgbuild and desktop file

Thomas Buck 4 年之前
父節點
當前提交
5338765680
共有 5 個文件被更改,包括 72 次插入8 次删除
  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 查看文件

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 查看文件

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 查看文件

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 查看文件


+ 10
- 0
linux/de.xythobuz.caselights.desktop 查看文件

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…
取消
儲存