diff --git a/pytextmonitor.plasmoid b/pytextmonitor.plasmoid new file mode 100644 index 0000000..9050fab Binary files /dev/null and b/pytextmonitor.plasmoid differ diff --git a/source/contents/code/main_bckp.py b/source/contents/code/main_bckp.py deleted file mode 100755 index a27d4c4..0000000 --- a/source/contents/code/main_bckp.py +++ /dev/null @@ -1,299 +0,0 @@ -# -*- coding: utf-8 -*- - -from PyQt4.QtCore import * -from PyQt4.QtGui import * -from PyKDE4.kdecore import * -from PyKDE4.kdeui import * -from PyKDE4.kio import * -from PyKDE4.plasma import Plasma -from PyKDE4 import plasmascript -from PyQt4 import QtCore -from configwindow import * -from config import * -from util import * -import commands, os, time - - - -class pyTextWidget(plasmascript.Applet): - def __init__(self,parent, args=None): - """widget definition""" - plasmascript.Applet.__init__(self,parent) - - def init(self): - """function to initializate widget""" - self._name = str(self.package().metadata().pluginName()) - self.layout = QGraphicsLinearLayout(Qt.Horizontal, self.applet) - self.setHasConfigurationInterface(True) - - self.label = Plasma.Label(self.applet) - self.label.setText("N\A") - self.layout.addItem(self.label) - self.applet.setLayout(self.layout) - - self.theme = Plasma.Svg(self) - self.theme.setImagePath("widgets/background") - self.setBackgroundHints(Plasma.Applet.DefaultBackground) - - #initial configuration - self.settings = Config(self) - self.format = str(self.settings.get('format', '[cpu: $cpu%][temp: $temp°C][mem: $mem%][swap: $swap%][ip: $ip][net: $netKB/s][bat: $bat%]')) - self.interval = int(self.settings.get('interval', '2000')) - self.font_family = str(self.settings.get('font_family', 'Terminus')) - self.font_size = int(self.settings.get('font_size', 12)) - self.font_color = str(self.settings.get('font_color', '#000000')) - self.font_style = str(self.settings.get('font_style', 'normal')) - self.num_dev = int(self.settings.get('num_dev', 0)) - - if (self.num_dev == 0): - for line in commands.getoutput("ifconfig -a").split("\n"): - if (line != ''): - if ((line[0] != ' ') and (line[0:3] != "lo:")): - self.netdev = line.split()[0][:-1] - else: - interfaces = [] - for line in commands.getoutput("ifconfig -a").split("\n"): - if (line != ''): - if ((line[0] != ' ') and (line[0:3] != "lo:")): - interfaces.append(line.split()[0][:-1]) - - command_line = "if ! (ifconfig "+ interfaces[1] + " | grep 'inet ' > /dev/null); then " - command_line = command_line + "if ! (ifconfig "+ interfaces[0] + " | grep 'inet ' > /dev/null); then echo lo; " - command_line = command_line + "else echo "+ interfaces[0] + "; fi; else echo "+ interfaces[1] + "; fi" - self.netdev = commands.getoutput(command_line) - self.cpuText = " 0.0" - self.up_speed = " 0" - self.down_speed = " 0" - self.connectToEngine() - - self.resize(250,10) - - # start timer - self.timer = QtCore.QTimer() - self.timer.setInterval(self.interval) - self.startPolling() - - def configAccepted(self): - """function to accept settings""" - # update local variables - self.format = str(self.configpage.ui.lineEdit_format.text()) - self.interval = int(self.configpage.ui.spinBox_interval.value()) - self.font_family = str(self.configpage.ui.fontComboBox.currentFont().family()) - self.font_size = int(self.configpage.ui.spinBox_fontSize.value()) - self.font_color = str(self.configpage.ui.kcolorcombo.color().name()) - self.font_style = str(self.configpage.ui.lineEdit_style.text()) - self.num_dev = int(self.configpage.ui.comboBox_numNet.currentIndex()) - - # save config to settings - self.settings.set('format', self.format) - self.settings.set('interval', self.interval) - self.settings.set('font_family', self.font_family) - self.settings.set('font_size', self.font_size) - self.settings.set('font_color', self.font_color) - self.settings.set('font_style', self.font_style) - self.settings.set('num_dev', self.num_dev) - - # update timer - self.timer.setInterval(self.interval) - self.startPolling() - - def createConfigurationInterface(self, parent): - """function to setup configuration window""" - self.configpage = ConfigWindow(self, self.settings) - - font = QFont(str(self.settings.get('font_family', 'Terminus')), int(self.settings.get('font_size', 12)), int(int(self.settings.get('font_weight', 50)))) - self.configpage.ui.lineEdit_format.setText(str(self.settings.get('format', '[cpu: $cpu%][temp: $temp°C][mem: $mem%][swap: $swap%][ip: $ip][net: $netKB/s][bat: $bat%]'))) - self.configpage.ui.spinBox_interval.setValue(int(self.settings.get('interval', '2000'))) - self.configpage.ui.fontComboBox.setCurrentFont(font) - self.configpage.ui.spinBox_fontSize.setValue(int(self.settings.get('font_size', 12))) - self.configpage.ui.kcolorcombo.setColor(QColor(str(self.settings.get('font_color', '#000000')))) - self.configpage.ui.lineEdit_style.setText(str(self.settings.get('font_style', 'normal'))) - self.configpage.ui.comboBox_numNet.setCurrentIndex(int(self.settings.get('num_dev', 0))) - - # add config page - page = parent.addPage(self.configpage, i18n(self.name())) - page.setIcon(KIcon(self.icon())) - - parent.okClicked.connect(self.configAccepted) - - def formating_line(self): - """function to set format line""" - output = self.format - - if (output.split("$cpu")[0] != output): - output = output.split("$cpu")[0] + self.cpuText + output.split("$cpu")[1] - if (output.split("$temp")[0] != output): - output = output.split("$temp")[0] + self.tempText() + output.split("$temp")[1] - if (output.split("$mem")[0] != output): - output = output.split("$mem")[0] + self.memText() + output.split("$mem")[1] - if (output.split("$swap")[0] != output): - output = output.split("$swap")[0] + self.swapText() + output.split("$swap")[1] - if (output.split("$ip")[0] != output): - output = output.split("$ip")[0] + self.ipText() + output.split("$ip")[1] - if (output.split("$net")[0] != output): - output = output.split("$net")[0] + self.netText() + output.split("$net")[1] - if (output.split("$bat")[0] != output): - output = output.split("$bat")[0] + self.batText() + output.split("$bat")[1] - - return output - - def showConfigurationInterface(self): - """function to show configuration window""" - plasmascript.Applet.showConfigurationInterface(self) - - def showTooltip(self, text): - """function to create and set tooltip""" - tooltip = Plasma.ToolTipContent() - tooltip.setImage(KIcon(self.icon())) - tooltip.setSubText(text) - tooltip.setAutohide(False) - Plasma.ToolTipManager.self().setContent(self.applet, tooltip) - Plasma.ToolTipManager.self().registerWidget(self.applet) - - def startPolling(self): - try: - self.timer.start() - QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.updateLabel) - - self.updateLabel() - self.showTooltip('') - except Exception as (strerror): - self.showTooltip(str(strerror)) - self.label.setText('ERROR') - return - - def updateLabel(self): - """function to update label""" - string = self.formating_line() - text = "
" - text = text + ""+string
- text = text + "