Added notification for uptime

This commit is contained in:
arcan1s 2013-10-04 02:07:05 +04:00
parent c729d6573d
commit 3994652562
4 changed files with 80 additions and 10 deletions

1
TODO
View File

@ -1,5 +1,4 @@
1. Notification on left click (system information):
a) uptime - uptime, kernel information
b) cpu, cpuclock, temp - cpu, cpuclock, temp, processor information
c) gpu, gputemp - gpu, gpu temp, gpu information
d) memory, swap - memory, swap, memory information

View File

@ -0,0 +1,34 @@
[Global]
IconName=system
Name=PyTextMonitor
Comment=PyTextMonitor information
[Event/system]
Name=System information
Comment=System information
Action=Popup
[Event/processor]
Name=Processor information
Comment=Processor information
Action=Popup
[Event/memory]
Name=Memory information
Comment=Memory information
Action=Popup
[Event/disk]
Name=Disk information
Comment=Disk information
Action=Popup
[Event/network]
Name=Network information
Comment=Network information
Action=Popup
[Event/battery]
Name=Battery information
Comment=Battery information
Action=Popup

View File

@ -1,6 +1,8 @@
# -*- coding: utf-8 -*-
from gi.repository import Notify
from PyKDE4.kdecore import KComponentData
from PyKDE4.kdeui import KNotification
import commands
@ -10,11 +12,29 @@ class PTMNotify:
self.parent = parent
def exampleNotify(self):
Notify.init ("Hello world")
Hello=Notify.Notification.new ("Hello world","This is an example notification.","dialog-information")
Hello.show ()
def init(self):
"""function to init notification"""
content = self.initText(self.parent)
self.createNotify(content)
def createNotification(self):
def createNotify(self, content):
"""function to create notification for label"""
notification = KNotification(content[0])
notification.setComponentData(KComponentData("plasma_applet_pytextmonitor"))
notification.setTitle("PyTextMonitor info ::: " + content[0]);
notification.setText(content[1]);
notification.sendEvent();
def initText(self, sender):
"""function to create text"""
content = []
if (sender == self.parent.parent.label_uptime):
content.append("system")
text = "Kernel: " + commands.getoutput("uname -rsm") + "\n"
text = text + "Hostname: " + commands.getoutput("uname -n") + "\n"
text = text + "Whoami: " + commands.getoutput("whoami") + "\n"
text = text + "Uptime: " + commands.getoutput("uptime")
content.append(text)
return content

View File

@ -4,6 +4,22 @@ from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyKDE4.plasma import Plasma
import config
import ptmnotify
class NewPlasmaLabel(Plasma.Label):
"""new Label with defined clicked() event"""
def __init__(self, applet, parent):
"""class definition"""
Plasma.Label.__init__(self, applet)
self.parent = parent
self.notify = ptmnotify.PTMNotify(self)
def mousePressEvent(self, event):
"""mouse click event"""
self.notify.init()
@ -12,6 +28,7 @@ class Reinit():
"""class definition"""
self.parent = parent
def reinit(self, confAccept=False):
"""function to reinitializate widget"""
settings = config.Config(self.parent)
@ -192,7 +209,7 @@ class Reinit():
elif (order == "8"):
if (self.parent.uptimeBool > 0):
self.parent.uptimeFormat = str(settings.get('uptimeFormat', '[uptime: $uptime]'))
self.parent.label_uptime = Plasma.Label(self.parent.applet)
self.parent.label_uptime = NewPlasmaLabel(self.parent.applet, self.parent)
if (self.parent.uptimeFormat.split('$uptime')[0] != self.parent.uptimeFormat):
line = self.parent.uptimeFormat.split('$uptime')[0] + '---d--h--m' + self.parent.uptimeFormat.split('$uptime')[1]
else: