Add files via upload
This commit is contained in:
parent
62624cbc86
commit
3b959e189a
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
|
@ -0,0 +1,3 @@
|
||||||
|
terminal: terminator
|
||||||
|
option: -x
|
||||||
|
icon: white-logo.png
|
|
@ -0,0 +1,81 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
"""
|
||||||
|
Current status is; it runs, it will initially get
|
||||||
|
number of updates, it will open new terminal window
|
||||||
|
and complete update (keeping the window open?),
|
||||||
|
IT DOES NOT UPDATE THE COUNT.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Get needed modules
|
||||||
|
import yaml
|
||||||
|
import subprocess
|
||||||
|
from PyQt5.QtCore import QTimer
|
||||||
|
from PyQt5.QtGui import *
|
||||||
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
|
# Available Updates count holder
|
||||||
|
avail = ""
|
||||||
|
|
||||||
|
# Use config.yml file to allow for compatibility with
|
||||||
|
# most terminal emulators possible & custom icon
|
||||||
|
with open('config.yml') as f:
|
||||||
|
conf = yaml.load(f, yaml.FullLoader)
|
||||||
|
term = str(conf['terminal'])
|
||||||
|
opt = str(conf['option'])
|
||||||
|
icn = str(conf['icon'])
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
# Run checkupdates command
|
||||||
|
# Populates the available updates count holder
|
||||||
|
def count():
|
||||||
|
cmd = ['checkupdates']
|
||||||
|
p1 = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||||
|
p2 = subprocess.Popen(['wc', '-l'], stdin=p1.stdout, stdout=subprocess.PIPE)
|
||||||
|
output = ((p2.communicate()[0]).decode()).rstrip('\n')
|
||||||
|
Nupd = []
|
||||||
|
digit = str(output)+" Updates"
|
||||||
|
Nupd.append(digit)
|
||||||
|
global avail
|
||||||
|
avail = Nupd[-1]
|
||||||
|
|
||||||
|
# Run system update
|
||||||
|
def update():
|
||||||
|
cmd = [ term, opt, 'sudo', 'pacman', '-Syu']
|
||||||
|
subprocess.Popen(cmd)
|
||||||
|
|
||||||
|
# Initially populate available updates count
|
||||||
|
count()
|
||||||
|
|
||||||
|
app = QApplication([])
|
||||||
|
app.setQuitOnLastWindowClosed(False)
|
||||||
|
|
||||||
|
# Set up timer to update count
|
||||||
|
timer = QTimer()
|
||||||
|
timer.timeout.connect(count)
|
||||||
|
timer.start(10000)
|
||||||
|
|
||||||
|
# Adding an icon
|
||||||
|
icon = QIcon(icn)
|
||||||
|
|
||||||
|
# Adding item on the menu bar
|
||||||
|
tray = QSystemTrayIcon()
|
||||||
|
tray.setIcon(icon)
|
||||||
|
tray.setToolTip(avail)
|
||||||
|
tray.setVisible(True)
|
||||||
|
|
||||||
|
# Creating the options
|
||||||
|
menu = QMenu()
|
||||||
|
option1 = QAction(avail)
|
||||||
|
option1.triggered.connect(update)
|
||||||
|
menu.addAction(option1)
|
||||||
|
|
||||||
|
# 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_()
|
|
@ -0,0 +1,8 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Tray Updater
|
||||||
|
#Version=0.1
|
||||||
|
Icon=/home/ez/NextCloud/Projects/Python/systrayUpdater/blue-logo.png
|
||||||
|
Exec=python /home/ez/NextCloud/Projects/Python/systrayUpdater/first.py
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Utility
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in New Issue