diff --git a/old_versions/0.9/contents/code/config.py b/old_versions/0.9/contents/code/config.py
deleted file mode 100644
index 3a4a6d3..0000000
--- a/old_versions/0.9/contents/code/config.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from util import *
-
-
-
-class Config():
- def __init__(self, applet):
- self.applet = applet
- self.config = self.applet.globalConfig()
-
- def get(self, key, default = ''):
- return self.config.readEntry(key, default).toString()
-
- def set(self, key, value):
- self.config.writeEntry(key, value)
\ No newline at end of file
diff --git a/old_versions/0.9/contents/code/configwindow.py b/old_versions/0.9/contents/code/configwindow.py
deleted file mode 100644
index c26a952..0000000
--- a/old_versions/0.9/contents/code/configwindow.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-from PyKDE4.plasma import *
-from PyQt4 import uic
-from PyKDE4 import plasmascript
-
-
-
-class ConfigWindow(QWidget):
- def __init__(self, parent, settings):
- QWidget.__init__(self)
- self.ui = uic.loadUi(parent.package().filePath('ui', 'configwindow.ui'), self)
- self.parent = parent
\ No newline at end of file
diff --git a/old_versions/0.9/contents/code/main.py b/old_versions/0.9/contents/code/main.py
deleted file mode 100644
index d0bb3af..0000000
--- a/old_versions/0.9/contents/code/main.py
+++ /dev/null
@@ -1,244 +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%][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))
-
- 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%][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("$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"""
- line = self.formating_line()
- text = "
"
- text = text + "" + line
- text = text + "
"
- self.label.setText(text)
-
- def batText(self):
- """function to set battery text"""
- commandOut = commands.getoutput("acpi")
- bat = commandOut.split()[3][:-1]
- output = "%3s" % (bat)
-
- return output
-
- def cpuText(self):
- """function to set cpu text"""
- with open ("/proc/stat", 'r') as stat:
- for line in stat:
- if (line[0:4] == "cpu "):
- cpu_1 = line.split()[1:5]
- time.sleep(0.1)
- with open ("/proc/stat", 'r') as stat:
- for line in stat:
- if (line[0:4] == "cpu "):
- cpu_2 = line.split()[1:5]
- duser = float(cpu_2[0]) - float(cpu_1[0])
- dnice = float(cpu_2[1]) - float(cpu_1[1])
- dsys = float(cpu_2[2]) - float(cpu_1[2])
- didle = float(cpu_2[3]) - float(cpu_1[3])
- full = duser + dnice + dsys + didle
- cpu = (full-didle) / full * 100
- output = "%5s" % (str(round(cpu, 1)))
-
- return output
-
- def memText(self):
- """function to set mem text"""
- line = commands.getoutput("free | grep Mem:")
- used = float(line.split()[2]) - float(line.split()[4]) - float(line.split()[5]) - float(line.split()[6])
- full = float(line.split()[1])
- mem = 100 * used / full
- output = "%5s" % (str(round(mem, 1)))
-
- return output
-
- def netText(self):
- """function to set netspeed text"""
- if (self.num_dev == 0):
- for line in commands.getoutput("ifconfig -a").split("\n"):
- if (line != ''):
- if ((line[0] != ' ') and (line[0:3] != "lo:")):
- 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"
- netdev = commands.getoutput(command_line)
-
- command_line = "RXB=$(cat /sys/class/net/" + netdev
- command_line = command_line + "/statistics/rx_bytes) && TXB=$(cat /sys/class/net/" + netdev
- command_line = command_line + "/statistics/tx_bytes) && sleep 0.1 && RXBN=$(cat /sys/class/net/" + netdev
- command_line = command_line + "/statistics/rx_bytes) && TXBN=$(cat /sys/class/net/" + netdev
- command_line = command_line + "/statistics/tx_bytes) && RXDIF=$(echo $((RXBN - RXB)) ) && TXDIF=$(echo $((TXBN - TXB)) ) "
- command_line = command_line + "&& echo -en $((10*RXDIF/1024/2)) && echo -n ' / ' && echo -en $((10*TXDIF/1024)) && echo ' KB/s'"
- speed = commands.getoutput(command_line)
-
- downSpeed = speed.split()[0]
- upSpeed = speed.split()[2]
- output = "%4s/%4s" % (downSpeed, upSpeed)
-
- return output
-
- def swapText(self):
- """function to set swap text"""
- line = commands.getoutput("free | grep Swap:")
- used = float(line.split()[2])
- full = float(line.split()[1])
- mem = 100 * used / full
- output = "%5s" % (str(round(mem, 1)))
-
- return output
-
- def tempText(self):
- """function to set temp text"""
- commandOut = commands.getoutput("sensors | grep Physical")
- temp = commandOut[17:21]
- output = "%4s" % (temp)
-
- return output
-
-
-
-def CreateApplet(parent):
- return pyTextWidget(parent)
\ No newline at end of file
diff --git a/old_versions/0.9/contents/code/util.py b/old_versions/0.9/contents/code/util.py
deleted file mode 100644
index 32b87db..0000000
--- a/old_versions/0.9/contents/code/util.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import os
-from shutil import copyfile
-from PyKDE4.kdecore import *
-
-
-
-class Util():
- def __init__(self, applet):
- self.applet = applet
-
- def createDirectory(self, name):
- if not os.path.isdir(name):
- try:
- os.mkdir(name)
- except:
- print 'Failed to create directory: ' + name
-
- def kdeHome(self):
- return unicode(KGlobal.dirs().localkdedir())
-
- def createNotifyrc(self):
- print '[%s] creating notifyrc' % (self.applet._name)
- self.createDirectory(self.kdeHome() + 'share/apps/%s' % self.applet._name)
-
- source = self.applet.package().path() + 'contents/misc/%s.notifyrc' % self.applet._name
- destination = self.kdeHome() + 'share/apps/%s/%s.notifyrc' % (self.applet._name, self.applet._name)
- copyfile(source, destination)
-
- def createConfig(self):
- self.createDirectory(self.kdeHome() + 'share/apps/%s' % self.applet._name)
-
- source = self.applet.package().path() + 'contents/misc/%s.ini' % self.applet._name
- destination = self.kdeHome() + 'share/apps/%s/%s.ini' % (self.applet._name, self.applet._name)
- copyfile(source, destination)
\ No newline at end of file
diff --git a/old_versions/0.9/contents/ui/configwindow.ui b/old_versions/0.9/contents/ui/configwindow.ui
deleted file mode 100644
index 55f7c42..0000000
--- a/old_versions/0.9/contents/ui/configwindow.ui
+++ /dev/null
@@ -1,710 +0,0 @@
-
-
- ConfigWindow
-
-
-
- 0
- 0
- 302
- 247
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 247
-
-
-
-
- 16777215
- 16777215
-
-
-
- Form
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 242
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Output format
-
-
-
- -
-
-
-
- 0
- 25
-
-
-
-
- 16777215
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Time interval
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 19
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 1
-
-
- 10000
-
-
- 2000
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 45
- 25
-
-
-
-
- 45
- 25
-
-
-
- Font
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- QFontComboBox::AllFonts
-
-
-
- Terminus
- 12
- true
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Font size
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 19
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 1
-
-
- 12
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Font color
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Font style
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 170
- 25
-
-
-
-
- 170
- 25
-
-
-
- Number of network devices
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 19
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
-
-
- 1
-
-
- -
-
- 2
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
- widget
- verticalSpacer
-
-
-
- KColorCombo
- QComboBox
-
-
-
-
- lineEdit_format
- spinBox_interval
- fontComboBox
- spinBox_fontSize
- kcolorcombo
- lineEdit_style
- comboBox_numNet
-
-
-
-
diff --git a/old_versions/0.9/metadata.desktop b/old_versions/0.9/metadata.desktop
deleted file mode 100644
index ca9e6c3..0000000
--- a/old_versions/0.9/metadata.desktop
+++ /dev/null
@@ -1,17 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Py Text Monitor
-Type=Service
-ServiceTypes=Plasma/Applet
-Icon=utilities-system-monitor
-X-Plasma-API=python
-X-Plasma-MainScript=code/main.py
-X-KDE-PluginInfo-Author=Evgeniy Alexeev aka arcanis
-X-KDE-PluginInfo-Email=esalexeev@gmail.com
-X-KDE-PluginInfo-Name=py-text-monitor
-X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=http://kde-look.org/
-X-KDE-PluginInfo-Category=System Information
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
\ No newline at end of file
diff --git a/old_versions/1.0/contents/code/config.py b/old_versions/1.0/contents/code/config.py
deleted file mode 100644
index 3a4a6d3..0000000
--- a/old_versions/1.0/contents/code/config.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from util import *
-
-
-
-class Config():
- def __init__(self, applet):
- self.applet = applet
- self.config = self.applet.globalConfig()
-
- def get(self, key, default = ''):
- return self.config.readEntry(key, default).toString()
-
- def set(self, key, value):
- self.config.writeEntry(key, value)
\ No newline at end of file
diff --git a/old_versions/1.0/contents/code/configwindow.py b/old_versions/1.0/contents/code/configwindow.py
deleted file mode 100644
index c26a952..0000000
--- a/old_versions/1.0/contents/code/configwindow.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-from PyKDE4.plasma import *
-from PyQt4 import uic
-from PyKDE4 import plasmascript
-
-
-
-class ConfigWindow(QWidget):
- def __init__(self, parent, settings):
- QWidget.__init__(self)
- self.ui = uic.loadUi(parent.package().filePath('ui', 'configwindow.ui'), self)
- self.parent = parent
\ No newline at end of file
diff --git a/old_versions/1.0/contents/code/main.py b/old_versions/1.0/contents/code/main.py
deleted file mode 100755
index 45b0b11..0000000
--- a/old_versions/1.0/contents/code/main.py
+++ /dev/null
@@ -1,260 +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%][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))
-
- self.setupNetdev()
- self.setupTemp()
- self.connectToEngine()
-
- self.cpuText = " 0.0"
- self.up_speed = " 0"
- self.down_speed = " 0"
- self.mem_used = 0.0
- self.mem_free = 1.0
- self.mem_uf = 0.0
- self.swap_free = 1.0
- self.swap_used = 0.0
- self.tempText = " 0.0"
-
- 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%][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("$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 setupNetdev(self):
- 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)
-
- def setupTemp(self):
- commandOut = commands.getoutput("sensors | grep Physical -B2")
- self.tempdev = "lmsensors/"+commandOut.split("\n")[0]+"/"+'_'.join(commandOut.split("\n")[2].split(":")[0].split())
-
- 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 + "
"
- self.label.setText(text)
-
- def batText(self):
- """function to set battery text"""
- commandOut = commands.getoutput("acpi")
- bat = commandOut.split()[3][:-1]
- output = "%3s" % (bat)
-
- return output
-
- def memText(self):
- """function to set mem text"""
- full = self.mem_uf + self.mem_free
- mem = 100 * self.mem_used / full
- output = "%5s" % (str(round(mem, 1)))
-
- return output
-
- def netText(self):
- """function to set netspeed text"""
- output = self.down_speed + "/" + self.up_speed
-
- return output
-
- def swapText(self):
- """function to set swap text"""
- full = self.swap_used + self.swap_free
- mem = 100 * self.swap_used / full
- output = "%5s" % (str(round(mem, 1)))
-
- return output
-
- def connectToEngine(self):
- """function to initializate engine"""
- self.systemmonitor = self.dataEngine("systemmonitor")
- self.systemmonitor.connectSource("cpu/system/TotalLoad", self, 200)
- self.systemmonitor.connectSource("network/interfaces/"+self.netdev+"/transmitter/data", self, 200)
- self.systemmonitor.connectSource("network/interfaces/"+self.netdev+"/receiver/data", self, 200)
- self.systemmonitor.connectSource(self.tempdev, self, 200)
- self.systemmonitor.connectSource("mem/physical/free", self, 200)
- self.systemmonitor.connectSource("mem/physical/used", self, 200)
- self.systemmonitor.connectSource("mem/physical/application", self, 200)
- self.systemmonitor.connectSource("mem/swap/free", self, 200)
- self.systemmonitor.connectSource("mem/swap/used", self, 200)
-
- @pyqtSignature("dataUpdated(const QString &, const Plasma::DataEngine::Data &)")
- def dataUpdated(self, sourceName, data):
- """function to refresh data"""
- if (sourceName == "cpu/system/TotalLoad"):
- value = str(round(float(data[QString(u'value')]), 1))
- self.cpuText = "%5s" % (value)
- elif (sourceName == "network/interfaces/"+self.netdev+"/transmitter/data"):
- value = str(data[QString(u'value')]).split('.')[0]
- self.up_speed = "%4s" % (value)
- elif (sourceName == "network/interfaces/"+self.netdev+"/reciever/data"):
- value = str(data[QString(u'value')]).split('.')[0]
- self.down_speed = "%4s" % (value)
- elif (sourceName == self.tempdev):
- value = str(round(float(data[QString(u'value')]), 1))
- self.tempText = "%4s" % (value)
- elif (sourceName == "mem/physical/free"):
- self.mem_free = float(data[QString(u'value')])
- elif (sourceName == "mem/physical/used"):
- self.mem_uf = float(data[QString(u'value')])
- elif (sourceName == "mem/physical/application"):
- self.mem_used = float(data[QString(u'value')])
- elif (sourceName == "mem/swap/free"):
- self.swap_free = float(data[QString(u'value')])
- elif (sourceName == "mem/swap/used"):
- self.swap_used = float(data[QString(u'value')])
-
-
-
-def CreateApplet(parent):
- return pyTextWidget(parent)
\ No newline at end of file
diff --git a/old_versions/1.0/contents/code/util.py b/old_versions/1.0/contents/code/util.py
deleted file mode 100644
index 32b87db..0000000
--- a/old_versions/1.0/contents/code/util.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import os
-from shutil import copyfile
-from PyKDE4.kdecore import *
-
-
-
-class Util():
- def __init__(self, applet):
- self.applet = applet
-
- def createDirectory(self, name):
- if not os.path.isdir(name):
- try:
- os.mkdir(name)
- except:
- print 'Failed to create directory: ' + name
-
- def kdeHome(self):
- return unicode(KGlobal.dirs().localkdedir())
-
- def createNotifyrc(self):
- print '[%s] creating notifyrc' % (self.applet._name)
- self.createDirectory(self.kdeHome() + 'share/apps/%s' % self.applet._name)
-
- source = self.applet.package().path() + 'contents/misc/%s.notifyrc' % self.applet._name
- destination = self.kdeHome() + 'share/apps/%s/%s.notifyrc' % (self.applet._name, self.applet._name)
- copyfile(source, destination)
-
- def createConfig(self):
- self.createDirectory(self.kdeHome() + 'share/apps/%s' % self.applet._name)
-
- source = self.applet.package().path() + 'contents/misc/%s.ini' % self.applet._name
- destination = self.kdeHome() + 'share/apps/%s/%s.ini' % (self.applet._name, self.applet._name)
- copyfile(source, destination)
\ No newline at end of file
diff --git a/old_versions/1.0/contents/ui/configwindow.ui b/old_versions/1.0/contents/ui/configwindow.ui
deleted file mode 100644
index 55f7c42..0000000
--- a/old_versions/1.0/contents/ui/configwindow.ui
+++ /dev/null
@@ -1,710 +0,0 @@
-
-
- ConfigWindow
-
-
-
- 0
- 0
- 302
- 247
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 247
-
-
-
-
- 16777215
- 16777215
-
-
-
- Form
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 242
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Output format
-
-
-
- -
-
-
-
- 0
- 25
-
-
-
-
- 16777215
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Time interval
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 19
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 1
-
-
- 10000
-
-
- 2000
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 45
- 25
-
-
-
-
- 45
- 25
-
-
-
- Font
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- QFontComboBox::AllFonts
-
-
-
- Terminus
- 12
- true
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Font size
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 19
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 1
-
-
- 12
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Font color
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
- Font style
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 25
-
-
-
-
- 150
- 25
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 30
-
-
-
-
- 16777215
- 30
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 170
- 25
-
-
-
-
- 170
- 25
-
-
-
- Number of network devices
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 19
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 25
-
-
-
-
- 100
- 25
-
-
-
-
-
- 1
-
-
- -
-
- 2
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
- widget
- verticalSpacer
-
-
-
- KColorCombo
- QComboBox
-
-
-
-
- lineEdit_format
- spinBox_interval
- fontComboBox
- spinBox_fontSize
- kcolorcombo
- lineEdit_style
- comboBox_numNet
-
-
-
-
diff --git a/old_versions/1.0/metadata.desktop b/old_versions/1.0/metadata.desktop
deleted file mode 100644
index ca9e6c3..0000000
--- a/old_versions/1.0/metadata.desktop
+++ /dev/null
@@ -1,17 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Py Text Monitor
-Type=Service
-ServiceTypes=Plasma/Applet
-Icon=utilities-system-monitor
-X-Plasma-API=python
-X-Plasma-MainScript=code/main.py
-X-KDE-PluginInfo-Author=Evgeniy Alexeev aka arcanis
-X-KDE-PluginInfo-Email=esalexeev@gmail.com
-X-KDE-PluginInfo-Name=py-text-monitor
-X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=http://kde-look.org/
-X-KDE-PluginInfo-Category=System Information
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
\ No newline at end of file
diff --git a/old_versions/pytextmonitor-0.9.plasmoid b/old_versions/pytextmonitor-0.9.plasmoid
new file mode 100644
index 0000000..4f8f8aa
Binary files /dev/null and b/old_versions/pytextmonitor-0.9.plasmoid differ
diff --git a/old_versions/pytextmonitor-1.1.1.plasmoid b/old_versions/pytextmonitor-1.1.1.plasmoid
new file mode 100644
index 0000000..5460e07
Binary files /dev/null and b/old_versions/pytextmonitor-1.1.1.plasmoid differ
diff --git a/pytextmonitor.plasmoid b/pytextmonitor.plasmoid
index 5460e07..881d74d 100644
Binary files a/pytextmonitor.plasmoid and b/pytextmonitor.plasmoid differ
diff --git a/screenshots/config.png b/screenshots/config.png
index c9fc4e5..1b1381d 100644
Binary files a/screenshots/config.png and b/screenshots/config.png differ
diff --git a/source/contents/code/configwindow.py b/source/contents/code/configwindow.py
index 338e36b..463f8ce 100644
--- a/source/contents/code/configwindow.py
+++ b/source/contents/code/configwindow.py
@@ -36,10 +36,14 @@ class ConfigWindow(QWidget):
if (self.ui.checkBox_bat.checkState() == 2):
self.ui.lineEdit_bat.setEnabled(True)
self.ui.slider_bat.setEnabled(True)
+ self.ui.lineEdit_acdev.setEnabled(True)
+ self.ui.lineEdit_batdev.setEnabled(True)
self.setSlider()
else:
self.ui.lineEdit_bat.setDisabled(True)
self.ui.slider_bat.setDisabled(True)
+ self.ui.lineEdit_acdev.setDisabled(True)
+ self.ui.lineEdit_batdev.setDisabled(True)
self.setSlider()
def cpuStatus(self):
@@ -323,4 +327,4 @@ class ConfigWindow(QWidget):
for value in range(count+1)[1:]:
if (oldOrder.find(str(value)) == -1):
- return int(value)
\ No newline at end of file
+ return int(value)
diff --git a/source/contents/code/main.py b/source/contents/code/main.py
index 354ecae..715097e 100755
--- a/source/contents/code/main.py
+++ b/source/contents/code/main.py
@@ -153,8 +153,12 @@ class pyTextWidget(plasmascript.Applet):
else:
self.batBool = 0
self.batFormat = str(self.configpage.ui.lineEdit_bat.text())
+ self.battery_device = str(self.configpage.ui.lineEdit_batdev.text())
+ self.ac_device = str(self.configpage.ui.lineEdit_acdev.text())
self.settings.set('batBool', self.batBool)
self.settings.set('batFormat', self.batFormat)
+ self.settings.set('battery_device', self.battery_device)
+ self.settings.set('ac_device', self.ac_device)
self.label_order = ''.join(self.label_order.split('-'))
self.settings.set('label_order', self.label_order)
@@ -259,11 +263,17 @@ class pyTextWidget(plasmascript.Applet):
self.configpage.ui.slider_bat.setValue(self.label_order.find("6")+1)
self.configpage.ui.slider_bat.setEnabled(True)
self.configpage.ui.lineEdit_bat.setEnabled(True)
+ self.configpage.ui.lineEdit_acdev.setEnabled(True)
+ self.configpage.ui.lineEdit_batdev.setEnabled(True)
else:
self.configpage.ui.checkBox_bat.setCheckState(0)
self.configpage.ui.slider_bat.setDisabled(True)
self.configpage.ui.lineEdit_bat.setDisabled(True)
- self.configpage.ui.lineEdit_bat.setText(str(self.settings.get('batFormat', '[bat: $bat%]')))
+ self.configpage.ui.lineEdit_acdev.setDisabled(True)
+ self.configpage.ui.lineEdit_batdev.setDisabled(True)
+ self.configpage.ui.lineEdit_bat.setText(str(self.settings.get('batFormat', '[bat: $bat%$ac]')))
+ self.configpage.ui.lineEdit_batdev.setText(str(self.settings.get('battery_device', '/sys/class/power_supply/BAT0/capacity')))
+ self.configpage.ui.lineEdit_acdev.setText(str(self.settings.get('ac_device', '/sys/class/power_supply/AC/online')))
# add config page
page = parent.addPage(self.configpage, i18n(self.name()))
@@ -315,7 +325,11 @@ class pyTextWidget(plasmascript.Applet):
if (self.cpuBool == 1):
self.cpuFormat = str(self.settings.get('cpuFormat', '[cpu: $cpu%]'))
self.label_cpu = Plasma.Label(self.applet)
- text = self.formatLine.split('$LINE')[0] + self.cpuFormat.split('$cpu')[0] + '-----' + self.cpuFormat.split('$cpu')[1] + self.formatLine.split('$LINE')[1]
+ if (self.cpuFormat.split('$cpu')[0] != self.cpuFormat):
+ line = self.cpuFormat.split('$cpu')[0] + '-----' + self.cpuFormat.split('$cpu')[1]
+ else:
+ line = self.cpuFormat
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_cpu.setText(text)
self.layout.addItem(self.label_cpu)
elif (order == "2"):
@@ -323,7 +337,11 @@ class pyTextWidget(plasmascript.Applet):
self.tempFormat = str(self.settings.get('tempFormat', '[temp: $temp°C]'))
self.setupTemp()
self.label_temp = Plasma.Label(self.applet)
- text = self.formatLine.split('$LINE')[0] + self.tempFormat.split('$temp')[0] + '----' + self.tempFormat.split('$temp')[1] + self.formatLine.split('$LINE')[1]
+ if (self.tempFormat.split('$temp')[0] != self.tempFormat):
+ line = self.tempFormat.split('$temp')[0] + '----' + self.tempFormat.split('$temp')[1]
+ else:
+ line = self.tempFormat
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_temp.setText(text)
self.layout.addItem(self.label_temp)
elif (order == "3"):
@@ -337,7 +355,11 @@ class pyTextWidget(plasmascript.Applet):
self.mem_used = 0.0
self.mem_free = 1.0
self.mem_uf = 0.0
- text = self.formatLine.split('$LINE')[0] + self.memFormat.split('$mem')[0] + '-----' + self.memFormat.split('$mem')[1] + self.formatLine.split('$LINE')[1]
+ if (self.memFormat.split('$mem')[0] != self.memFormat):
+ line = self.memFormat.split('$mem')[0] + '-----' + self.memFormat.split('$mem')[1]
+ else:
+ line = self.memFormat
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_mem = Plasma.Label(self.applet)
self.label_mem.setText(text)
self.layout.addItem(self.label_mem)
@@ -349,9 +371,13 @@ class pyTextWidget(plasmascript.Applet):
text = self.formatLine.split('$LINE')[0] + self.swapFormat.split('$swapmb')[0] + '-----' + self.swapFormat.split('$swapmb')[1] + self.formatLine.split('$LINE')[1]
else:
self.swapInMb = False
- text = self.formatLine.split('$LINE')[0] + self.swapFormat.split('$swap')[0] + '-----' + self.swapFormat.split('$swap')[1] + self.formatLine.split('$LINE')[1]
self.swap_free = 1.0
self.swap_used = 0.0
+ if (self.swapFormat.split('$swap')[0] != self.swapFormat):
+ line = self.swapFormat.split('$swap')[0] + '-----' + self.swapFormat.split('$swap')[1]
+ else:
+ line = self.swapFormat
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_swap = Plasma.Label(self.applet)
self.label_swap.setText(text)
self.layout.addItem(self.label_swap)
@@ -369,25 +395,44 @@ class pyTextWidget(plasmascript.Applet):
else:
self.netFormat = self.netNonFormat
self.label_netDown = Plasma.Label(self.applet)
- text = self.formatLine.split('$LINE')[0] + self.netFormat.split('$net')[0] + '----' + self.formatLine.split('$LINE')[1]
+ if (self.netFormat.split('$net')[0] != self.netFormat):
+ line = self.netFormat.split('$net')[0] + '----'
+ else:
+ line = self.netFormat
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_netDown.setText(text)
self.layout.addItem(self.label_netDown)
self.label_netUp = Plasma.Label(self.applet)
- text = self.formatLine.split('$LINE')[0] + '/----' + self.netFormat.split('$net')[1] + self.formatLine.split('$LINE')[1]
+ if (self.netFormat.split('$net')[0] != self.netFormat):
+ line = '/----' + self.netFormat.split('$net')[1]
+ else:
+ line = ''
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_netUp.setText(text)
self.layout.addItem(self.label_netUp)
elif (order == "6"):
if (self.batBool == 1):
- self.batFormat = str(self.settings.get('batFormat', '[bat: $bat%]'))
+ self.batFormat = str(self.settings.get('batFormat', '[bat: $bat%$ac]'))
+ self.battery_device= str(self.settings.get('battery_device', '/sys/class/power_supply/BAT0/capacity'))
+ self.ac_device = str(self.settings.get('ac_device', '/sys/class/power_supply/AC/online'))
self.label_bat = Plasma.Label(self.applet)
- text = self.formatLine.split('$LINE')[0] + self.batFormat.split('$bat')[0] + '---' + self.batFormat.split('$bat')[1] + self.formatLine.split('$LINE')[1]
+ line = self.batFormat
+ if (line.split('$ac')[0] != line):
+ line = line.split('$ac')[0] + '(-)' + line.split('$ac')[1]
+ if (line.split('$bat')[0] != line):
+ line = line.split('$bat')[0] + '---' + line.split('$bat')[1]
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_bat.setText(text)
self.layout.addItem(self.label_bat)
elif (order == "7"):
if (self.cpuclockBool == 1):
self.cpuclockFormat = str(self.settings.get('cpuclockFormat', '[MHz: $cpucl]'))
self.label_cpuclock = Plasma.Label(self.applet)
- text = self.formatLine.split('$LINE')[0] + self.cpuclockFormat.split('$cpucl')[0] + '----' + self.cpuclockFormat.split('$cpucl')[1] + self.formatLine.split('$LINE')[1]
+ if (self.cpuclockFormat.split('$cpucl')[0] != self.cpuclockFormat):
+ line = self.cpuclockFormat.split('$cpucl')[0] + '----' + self.cpuclockFormat.split('$cpucl')[1]
+ else:
+ line = self.cpuclockFormat
+ text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_cpuclock.setText(text)
self.layout.addItem(self.label_cpuclock)
self.applet.setLayout(self.layout)
@@ -464,9 +509,20 @@ class pyTextWidget(plasmascript.Applet):
def batText(self):
"""function to set battery text"""
- commandOut = commands.getoutput("acpi")
- bat = "%3s" % (commandOut.split(':')[1].split()[1].split('%')[0])
- line = self.batFormat.split('$bat')[0] + bat + self.batFormat.split('$bat')[1]
+ line = self.batFormat
+ if (line.split('$bat')[0] != line):
+ with open (self.battery_device, 'r') as bat_file:
+ bat = bat_file.readline().split('\n')[0]
+ bat = "%3s" % (bat)
+ line = line.split('$bat')[0] + bat + line.split('$bat')[1]
+ if (line.split('$ac')[0] != line):
+ with open (self.ac_device, 'r') as bat_file:
+ bat = bat_file.readline().split('\n')[0]
+ if (bat == '1'):
+ bat = '(*)'
+ else:
+ bat = '( )'
+ line = line.split('$ac')[0] + bat + line.split('$ac')[1]
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_bat.setText(text)
@@ -475,7 +531,10 @@ class pyTextWidget(plasmascript.Applet):
full = self.mem_uf + self.mem_free
mem = 100 * self.mem_used / full
mem = "%5s" % (str(round(mem, 1)))
- line = self.memFormat.split('$mem')[0] + mem + self.memFormat.split('$mem')[1]
+ if (self.memFormat.split('$mem')[0] != self.memFormat):
+ line = self.memFormat.split('$mem')[0] + mem + self.memFormat.split('$mem')[1]
+ else:
+ line = self.memFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_mem.setText(text)
@@ -484,7 +543,10 @@ class pyTextWidget(plasmascript.Applet):
full = self.swap_used + self.swap_free
mem = 100 * self.swap_used / full
mem = "%5s" % (str(round(mem, 1)))
- line = self.swapFormat.split('$swap')[0] + mem + self.swapFormat.split('$swap')[1]
+ if (self.swapFormat.split('$swap')[0] != self.swapFormat):
+ line = self.swapFormat.split('$swap')[0] + mem + self.swapFormat.split('$swap')[1]
+ else:
+ line = self.swapFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_swap.setText(text)
@@ -521,25 +583,37 @@ class pyTextWidget(plasmascript.Applet):
if (sourceName == "cpu/system/TotalLoad"):
value = str(round(float(data[QString(u'value')]), 1))
cpuText = "%5s" % (value)
- line = self.cpuFormat.split('$cpu')[0] + cpuText + self.cpuFormat.split('$cpu')[1]
+ if (self.cpuFormat.split('$cpu')[0] != self.cpuFormat):
+ line = self.cpuFormat.split('$cpu')[0] + cpuText + self.cpuFormat.split('$cpu')[1]
+ else:
+ line = self.cpuFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_cpu.setText(text)
elif (sourceName == "cpu/system/AverageClock"):
value = str(data[QString(u'value')]).split('.')[0]
cpuclockText = "%4s" % (value)
- line = self.cpuclockFormat.split('$cpucl')[0] + cpuclockText + self.cpuclockFormat.split('$cpucl')[1]
+ if (self.cpuclockFormat.split('$cpucl')[0] != self.cpuclockFormat):
+ line = self.cpuclockFormat.split('$cpucl')[0] + cpuclockText + self.cpuclockFormat.split('$cpucl')[1]
+ else:
+ line = self.cpuclockFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_cpuclock.setText(text)
elif (sourceName == "network/interfaces/"+self.netdev+"/transmitter/data"):
value = str(data[QString(u'value')]).split('.')[0]
up_speed = "%4s" % (value)
- line = '/' + up_speed + self.netFormat.split('$net')[1]
+ if (self.netFormat.split('$net')[0] != self.netFormat):
+ line = '/' + up_speed + self.netFormat.split('$net')[1]
+ else:
+ line = ''
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_netUp.setText(text)
elif (sourceName == "network/interfaces/"+self.netdev+"/receiver/data"):
value = str(data[QString(u'value')]).split('.')[0]
down_speed = "%4s" % (value)
- line = self.netFormat.split('$net')[0] + down_speed
+ if (self.netFormat.split('$net')[0] != self.netFormat):
+ line = self.netFormat.split('$net')[0] + down_speed
+ else:
+ line = self.netFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_netDown.setText(text)
# update network device
@@ -559,7 +633,10 @@ class pyTextWidget(plasmascript.Applet):
elif (sourceName == self.tempdev):
value = str(round(float(data[QString(u'value')]), 1))
tempText = "%4s" % (value)
- line = self.tempFormat.split('$temp')[0] + tempText + self.tempFormat.split('$temp')[1]
+ if (self.tempFormat.split('$temp')[0] != self.tempFormat):
+ line = self.tempFormat.split('$temp')[0] + tempText + self.tempFormat.split('$temp')[1]
+ else:
+ line = self.tempFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_temp.setText(text)
elif (sourceName == "mem/physical/free"):
@@ -570,7 +647,10 @@ class pyTextWidget(plasmascript.Applet):
if (self.memInMb):
mem = str(round(float(data[QString(u'value')]) / 1024, 0)).split('.')[0]
mem = "%5s" % (mem)
- line = self.memFormat.split('$memmb')[0] + mem + self.memFormat.split('$memmb')[1]
+ if (self.memFormat.split('$memmb')[0] != self.memFormat):
+ line = self.memFormat.split('$memmb')[0] + mem + self.memFormat.split('$memmb')[1]
+ else:
+ line = self.memFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_mem.setText(text)
else:
@@ -581,7 +661,10 @@ class pyTextWidget(plasmascript.Applet):
if (self.swapInMb):
mem = str(round(float(data[QString(u'value')]) / 1024, 0)).split('.')[0]
mem = "%5s" % (mem)
- line = self.swapFormat.split('$swapmb')[0] + mem + self.swapFormat.split('$swapmb')[1]
+ if (self.swapFormat.split('$swapmb')[0] != self.swapFormat):
+ line = self.swapFormat.split('$swapmb')[0] + mem + self.swapFormat.split('$swapmb')[1]
+ else:
+ line = self.swapFormat
text = self.formatLine.split('$LINE')[0] + line + self.formatLine.split('$LINE')[1]
self.label_swap.setText(text)
else:
@@ -590,4 +673,4 @@ class pyTextWidget(plasmascript.Applet):
def CreateApplet(parent):
- return pyTextWidget(parent)
\ No newline at end of file
+ return pyTextWidget(parent)
diff --git a/source/contents/ui/configwindow.ui b/source/contents/ui/configwindow.ui
index d492c4c..ea25b49 100644
--- a/source/contents/ui/configwindow.ui
+++ b/source/contents/ui/configwindow.ui
@@ -7,7 +7,7 @@
0
0
519
- 455
+ 519
@@ -19,7 +19,7 @@
519
- 455
+ 519
@@ -43,13 +43,13 @@
511
- 450
+ 508
16777215
- 450
+ 508
@@ -847,6 +847,152 @@
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 111
+ 25
+
+
+
+
+ 111
+ 25
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 25
+
+
+
+
+ 100
+ 25
+
+
+
+ Battery device
+
+
+
+ -
+
+
+
+ 0
+ 25
+
+
+
+
+ 16777215
+ 25
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 111
+ 25
+
+
+
+
+ 111
+ 25
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 25
+
+
+
+
+ 100
+ 25
+
+
+
+ AC device
+
+
+
+ -
+
+
+
+ 0
+ 25
+
+
+
+
+ 16777215
+ 25
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
-
@@ -1421,6 +1567,8 @@
widget_bat
widget_cpuclock
widget_weight
+ horizontalLayoutWidget
+ horizontalLayoutWidget_2
-
@@ -1470,6 +1618,8 @@
checkBox_bat
lineEdit_bat
slider_bat
+ lineEdit_batdev
+ lineEdit_acdev
spinBox_interval
fontComboBox
spinBox_fontSize
diff --git a/source/metadata.desktop b/source/metadata.desktop
index 173de69..d6a5d88 100644
--- a/source/metadata.desktop
+++ b/source/metadata.desktop
@@ -9,7 +9,7 @@ X-Plasma-MainScript=code/main.py
X-KDE-PluginInfo-Author=Evgeniy Alexeev aka arcanis
X-KDE-PluginInfo-Email=esalexeev@gmail.com
X-KDE-PluginInfo-Name=py-text-monitor
-X-KDE-PluginInfo-Version=1.1.4
+X-KDE-PluginInfo-Version=1.2.0
X-KDE-PluginInfo-Website=http://kde-look.org/
X-KDE-PluginInfo-Category=System Information
X-KDE-PluginInfo-Depends=