mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-04-25 07:57:19 +00:00
added scalling to tooltip
This commit is contained in:
parent
0db909d914
commit
4218a4da08
4
PKGBUILD
4
PKGBUILD
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
pkgname=kdeplasma-applets-pytextmonitor
|
pkgname=kdeplasma-applets-pytextmonitor
|
||||||
_pkgname=pytextmonitor
|
_pkgname=pytextmonitor
|
||||||
pkgver=1.7.1
|
pkgver=1.7.2
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Minimalistic Plasmoid script written on Python2. It looks like widgets in awesome-wm"
|
pkgdesc="Minimalistic Plasmoid script written on Python2. It looks like widgets in awesome-wm"
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
@ -19,7 +19,7 @@ optdepends=("hddtemp: for HDD temperature monitor"
|
|||||||
makedepends=('automoc4' 'cmake')
|
makedepends=('automoc4' 'cmake')
|
||||||
source=(https://github.com/arcan1s/pytextmonitor/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz)
|
source=(https://github.com/arcan1s/pytextmonitor/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz)
|
||||||
install=${pkgname}.install
|
install=${pkgname}.install
|
||||||
md5sums=('bdc5020484c0d5cf9404cdedfb51b341')
|
md5sums=('e6069564afe15e655c918d3411573415')
|
||||||
backup=('usr/share/config/extsysmon.conf')
|
backup=('usr/share/config/extsysmon.conf')
|
||||||
|
|
||||||
build () {
|
build () {
|
||||||
|
@ -135,15 +135,13 @@ class ConfigDefinition:
|
|||||||
self.parent.layout.removeItem(self.parent.label_gputemp)
|
self.parent.layout.removeItem(self.parent.label_gputemp)
|
||||||
if (self.parent.memBool > 0):
|
if (self.parent.memBool > 0):
|
||||||
self.parent.systemmonitor.disconnectSource("mem/physical/application", self.parent)
|
self.parent.systemmonitor.disconnectSource("mem/physical/application", self.parent)
|
||||||
if (self.parent.memInMb == False):
|
self.parent.systemmonitor.disconnectSource("mem/physical/free", self.parent)
|
||||||
self.parent.systemmonitor.disconnectSource("mem/physical/free", self.parent)
|
self.parent.systemmonitor.disconnectSource("mem/physical/used", self.parent)
|
||||||
self.parent.systemmonitor.disconnectSource("mem/physical/used", self.parent)
|
|
||||||
self.parent.label_mem.setText('')
|
self.parent.label_mem.setText('')
|
||||||
self.parent.layout.removeItem(self.parent.label_mem)
|
self.parent.layout.removeItem(self.parent.label_mem)
|
||||||
if (self.parent.swapBool > 0):
|
if (self.parent.swapBool > 0):
|
||||||
self.parent.systemmonitor.disconnectSource("mem/swap/used", self.parent)
|
self.parent.systemmonitor.disconnectSource("mem/swap/used", self.parent)
|
||||||
if (self.parent.swapInMb == False):
|
self.parent.systemmonitor.disconnectSource("mem/swap/free", self.parent)
|
||||||
self.parent.systemmonitor.disconnectSource("mem/swap/free", self.parent)
|
|
||||||
self.parent.label_swap.setText('')
|
self.parent.label_swap.setText('')
|
||||||
self.parent.layout.removeItem(self.parent.label_swap)
|
self.parent.layout.removeItem(self.parent.label_swap)
|
||||||
if (self.parent.hddBool > 0):
|
if (self.parent.hddBool > 0):
|
||||||
|
@ -65,18 +65,12 @@ class DataEngine:
|
|||||||
if (self.parent.gputempBool > 0):
|
if (self.parent.gputempBool > 0):
|
||||||
self.parent.extsysmon.connectSource("gputemp", self.parent, self.parent.interval)
|
self.parent.extsysmon.connectSource("gputemp", self.parent, self.parent.interval)
|
||||||
if (self.parent.memBool > 0):
|
if (self.parent.memBool > 0):
|
||||||
if (self.parent.memInMb):
|
self.parent.systemmonitor.connectSource("mem/physical/free", self.parent, int(self.parent.interval*0.5))
|
||||||
self.parent.systemmonitor.connectSource("mem/physical/application", self.parent, self.parent.interval)
|
self.parent.systemmonitor.connectSource("mem/physical/used", self.parent, int(self.parent.interval*0.5))
|
||||||
else:
|
self.parent.systemmonitor.connectSource("mem/physical/application", self.parent, int(self.parent.interval*0.5))
|
||||||
self.parent.systemmonitor.connectSource("mem/physical/free", self.parent, int(self.parent.interval*0.5))
|
|
||||||
self.parent.systemmonitor.connectSource("mem/physical/used", self.parent, int(self.parent.interval*0.5))
|
|
||||||
self.parent.systemmonitor.connectSource("mem/physical/application", self.parent, int(self.parent.interval*0.5))
|
|
||||||
if (self.parent.swapBool > 0):
|
if (self.parent.swapBool > 0):
|
||||||
if (self.parent.swapInMb):
|
self.parent.systemmonitor.connectSource("mem/swap/free", self.parent, int(self.parent.interval*0.5))
|
||||||
self.parent.systemmonitor.connectSource("mem/swap/used", self.parent, self.parent.interval)
|
self.parent.systemmonitor.connectSource("mem/swap/used", self.parent, int(self.parent.interval*0.5))
|
||||||
else:
|
|
||||||
self.parent.systemmonitor.connectSource("mem/swap/free", self.parent, int(self.parent.interval*0.5))
|
|
||||||
self.parent.systemmonitor.connectSource("mem/swap/used", self.parent, int(self.parent.interval*0.5))
|
|
||||||
if (self.parent.hddBool > 0):
|
if (self.parent.hddBool > 0):
|
||||||
for item in self.parent.mountNames:
|
for item in self.parent.mountNames:
|
||||||
self.parent.systemmonitor.connectSource("partitions" + item + "/filllevel", self.parent, self.parent.interval)
|
self.parent.systemmonitor.connectSource("partitions" + item + "/filllevel", self.parent, self.parent.interval)
|
||||||
@ -167,10 +161,11 @@ class DataEngine:
|
|||||||
value = str(round(float(data[QString(u'value')]), 1))
|
value = str(round(float(data[QString(u'value')]), 1))
|
||||||
self.parent.mount['/'+'/'.join(str(sourceName).split('/')[1:-1])] = "%5s" % (value)
|
self.parent.mount['/'+'/'.join(str(sourceName).split('/')[1:-1])] = "%5s" % (value)
|
||||||
elif (sourceName == "mem/physical/free"):
|
elif (sourceName == "mem/physical/free"):
|
||||||
self.parent.mem_free = float(data[QString(u'value')])
|
self.parent.memValues['free'] = float(data[QString(u'value')])
|
||||||
elif (sourceName == "mem/physical/used"):
|
elif (sourceName == "mem/physical/used"):
|
||||||
self.parent.mem_uf = float(data[QString(u'value')])
|
self.parent.memValues['total'] = self.parent.memValues['free'] + float(data[QString(u'value')])
|
||||||
elif (sourceName == "mem/physical/application"):
|
elif (sourceName == "mem/physical/application"):
|
||||||
|
self.parent.memValues['used'] = float(data[QString(u'value')])
|
||||||
if (self.parent.memInMb):
|
if (self.parent.memInMb):
|
||||||
mem = str(round(float(data[QString(u'value')]) / 1024, 0)).split('.')[0]
|
mem = str(round(float(data[QString(u'value')]) / 1024, 0)).split('.')[0]
|
||||||
mem = "%5s" % (mem)
|
mem = "%5s" % (mem)
|
||||||
@ -180,13 +175,13 @@ class DataEngine:
|
|||||||
line = self.parent.memFormat
|
line = self.parent.memFormat
|
||||||
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
||||||
self.parent.label_mem.setText(text)
|
self.parent.label_mem.setText(text)
|
||||||
else:
|
|
||||||
self.parent.mem_used = float(data[QString(u'value')])
|
|
||||||
if (self.parent.memBool == 2):
|
if (self.parent.memBool == 2):
|
||||||
self.parent.tooltipAgent.addValue('mem', float(data[QString(u'value')]), self.parent.tooltipNum)
|
self.parent.tooltipAgent.addValue('mem', float(data[QString(u'value')]), self.parent.tooltipNum)
|
||||||
elif (sourceName == "mem/swap/free"):
|
elif (sourceName == "mem/swap/free"):
|
||||||
self.parent.swap_free = float(data[QString(u'value')])
|
self.parent.swapValues['free'] = float(data[QString(u'value')])
|
||||||
|
self.parent.swapValues['total'] = self.parent.swapValues['free'] + self.parent.swapValues['used']
|
||||||
elif (sourceName == "mem/swap/used"):
|
elif (sourceName == "mem/swap/used"):
|
||||||
|
self.parent.swapValues['used'] = float(data[QString(u'value')])
|
||||||
if (self.parent.swapInMb):
|
if (self.parent.swapInMb):
|
||||||
mem = str(round(float(data[QString(u'value')]) / 1024, 0)).split('.')[0]
|
mem = str(round(float(data[QString(u'value')]) / 1024, 0)).split('.')[0]
|
||||||
mem = "%5s" % (mem)
|
mem = "%5s" % (mem)
|
||||||
@ -196,8 +191,6 @@ class DataEngine:
|
|||||||
line = self.parent.swapFormat
|
line = self.parent.swapFormat
|
||||||
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
||||||
self.parent.label_swap.setText(text)
|
self.parent.label_swap.setText(text)
|
||||||
else:
|
|
||||||
self.parent.swap_used = float(data[QString(u'value')])
|
|
||||||
if (self.parent.swapBool == 2):
|
if (self.parent.swapBool == 2):
|
||||||
self.parent.tooltipAgent.addValue('swap', float(data[QString(u'value')]), self.parent.tooltipNum)
|
self.parent.tooltipAgent.addValue('swap', float(data[QString(u'value')]), self.parent.tooltipNum)
|
||||||
elif (sourceName == "gpu"):
|
elif (sourceName == "gpu"):
|
||||||
|
@ -98,8 +98,11 @@ class pyTextWidget(plasmascript.Applet):
|
|||||||
|
|
||||||
def updateTooltip(self):
|
def updateTooltip(self):
|
||||||
"""function to update tooltip"""
|
"""function to update tooltip"""
|
||||||
|
self.tooltipBound['mem'] = self.memValues['total']
|
||||||
|
self.tooltipBound['swap'] = self.swapValues['total']
|
||||||
self.tooltip_view.resize(100.0*(len(self.tooltipReq)-self.tooltipReq.count('up')), 100.0)
|
self.tooltip_view.resize(100.0*(len(self.tooltipReq)-self.tooltipReq.count('up')), 100.0)
|
||||||
self.tooltipAgent.createGraphic(self.tooltipReq, self.tooltipColors, self.tooltipValues, self.tooltip_scene)
|
self.tooltipAgent.createGraphic(self.tooltipReq, self.tooltipColors,
|
||||||
|
self.tooltipBound, self.tooltipValues, self.tooltip_scene)
|
||||||
self.tooltip.setImage(QPixmap.grabWidget(self.tooltip_view))
|
self.tooltip.setImage(QPixmap.grabWidget(self.tooltip_view))
|
||||||
Plasma.ToolTipManager.self().setContent(self.applet, self.tooltip)
|
Plasma.ToolTipManager.self().setContent(self.applet, self.tooltip)
|
||||||
|
|
||||||
@ -126,25 +129,29 @@ class pyTextWidget(plasmascript.Applet):
|
|||||||
|
|
||||||
def setupVar(self):
|
def setupVar(self):
|
||||||
"""function to setup variables"""
|
"""function to setup variables"""
|
||||||
self.netdev = ''
|
|
||||||
self.cpuCore = {-1:" 0.0"}
|
self.cpuCore = {-1:" 0.0"}
|
||||||
self.cpuClockCore = {-1:" 0"}
|
self.cpuClockCore = {-1:" 0"}
|
||||||
numCores = int(commands.getoutput("grep -c '^processor' /proc/cpuinfo"))
|
numCores = int(commands.getoutput("grep -c '^processor' /proc/cpuinfo"))
|
||||||
for i in range(numCores):
|
for i in range(numCores):
|
||||||
self.cpuCore[i] = str(" 0.0")
|
self.cpuCore[i] = str(" 0.0")
|
||||||
self.cpuClockCore[i] = str(" 0")
|
self.cpuClockCore[i] = str(" 0")
|
||||||
self.netSpeed = {"up":" 0", "down":" 0"}
|
|
||||||
self.tempNames = []
|
|
||||||
self.temp = {}
|
|
||||||
self.mountNames = []
|
|
||||||
self.mount = {}
|
|
||||||
self.hddNames = []
|
self.hddNames = []
|
||||||
self.hdd = {}
|
self.hdd = {}
|
||||||
|
self.mountNames = []
|
||||||
|
self.mount = {}
|
||||||
|
self.memValues = {'used':0.0, 'free':0.0, 'total':1.0}
|
||||||
|
self.netdev = ''
|
||||||
|
self.netSpeed = {"up":" 0", "down":" 0"}
|
||||||
|
self.swapValues = {'used':0.0, 'free':0.0, 'total':1.0}
|
||||||
|
self.tempNames = []
|
||||||
|
self.temp = {}
|
||||||
|
self.tooltipBound = {'cpu':100.0, 'cpuclock':4000.0, 'mem':16000.0,
|
||||||
|
'swap':16000, 'down':10000.0, 'up':10000.0}
|
||||||
self.tooltipColors = {}
|
self.tooltipColors = {}
|
||||||
self.tooltipNum = 100
|
self.tooltipNum = 100
|
||||||
self.tooltipReq = []
|
self.tooltipReq = []
|
||||||
self.tooltipValues = {'cpu':[0.0, 0.01], 'cpuclock':[0.0, 0.01], 'mem':[0.0, 0.01],
|
self.tooltipValues = {'cpu':[0.0, 0.01], 'cpuclock':[0.0, 0.01], 'mem':[0.0, 0.01],
|
||||||
'swap':[0.0, 0.01], 'up':[0.0, 0.01], 'down':[0.0, 0.01]}
|
'swap':[0.0, 0.01], 'down':[0.0, 0.01], 'up':[0.0, 0.01]}
|
||||||
|
|
||||||
# create dictionaries
|
# create dictionaries
|
||||||
self.dict_orders = {'6':'bat', '1':'cpu', '7':'cpuclock', 'f':'custom', '9':'gpu',
|
self.dict_orders = {'6':'bat', '1':'cpu', '7':'cpuclock', 'f':'custom', '9':'gpu',
|
||||||
@ -249,9 +256,8 @@ class pyTextWidget(plasmascript.Applet):
|
|||||||
|
|
||||||
def memText(self):
|
def memText(self):
|
||||||
"""function to set mem text"""
|
"""function to set mem text"""
|
||||||
full = self.mem_uf + self.mem_free
|
|
||||||
try:
|
try:
|
||||||
mem = 100 * self.mem_used / full
|
mem = 100 * self.memValues['used'] / self.memValues['total']
|
||||||
mem = "%5s" % (str(round(mem, 1)))
|
mem = "%5s" % (str(round(mem, 1)))
|
||||||
except:
|
except:
|
||||||
mem = " N\\A"
|
mem = " N\\A"
|
||||||
@ -286,9 +292,8 @@ class pyTextWidget(plasmascript.Applet):
|
|||||||
|
|
||||||
def swapText(self):
|
def swapText(self):
|
||||||
"""function to set swap text"""
|
"""function to set swap text"""
|
||||||
full = self.swap_used + self.swap_free
|
|
||||||
try:
|
try:
|
||||||
mem = 100 * self.swap_used / full
|
mem = 100 * self.swapValues['used'] / self.swapValues['total']
|
||||||
mem = "%5s" % (str(round(mem, 1)))
|
mem = "%5s" % (str(round(mem, 1)))
|
||||||
except:
|
except:
|
||||||
mem = " N\\A"
|
mem = " N\\A"
|
||||||
|
@ -128,9 +128,6 @@ class Reinit():
|
|||||||
self.parent.memInMb = True
|
self.parent.memInMb = True
|
||||||
elif (self.parent.memFormat.split('$mem')[0] != self.parent.memFormat):
|
elif (self.parent.memFormat.split('$mem')[0] != self.parent.memFormat):
|
||||||
self.parent.memInMb = False
|
self.parent.memInMb = False
|
||||||
self.parent.mem_used = 0.0
|
|
||||||
self.parent.mem_free = 1.0
|
|
||||||
self.parent.mem_uf = 0.0
|
|
||||||
line = self.parent.memFormat
|
line = self.parent.memFormat
|
||||||
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
||||||
self.parent.label_mem.setText(text)
|
self.parent.label_mem.setText(text)
|
||||||
@ -145,8 +142,6 @@ class Reinit():
|
|||||||
self.parent.swapInMb = True
|
self.parent.swapInMb = True
|
||||||
elif (self.parent.swapFormat.split('$swap')[0] != self.parent.swapFormat):
|
elif (self.parent.swapFormat.split('$swap')[0] != self.parent.swapFormat):
|
||||||
self.parent.swapInMb = False
|
self.parent.swapInMb = False
|
||||||
self.parent.swap_free = 1.0
|
|
||||||
self.parent.swap_used = 0.0
|
|
||||||
line = self.parent.swapFormat
|
line = self.parent.swapFormat
|
||||||
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
text = self.parent.formatLine.split('$LINE')[0] + line + self.parent.formatLine.split('$LINE')[1]
|
||||||
self.parent.label_swap.setText(text)
|
self.parent.label_swap.setText(text)
|
||||||
|
@ -35,23 +35,22 @@ class Tooltip():
|
|||||||
self.parent.tooltipValues[type].append(value)
|
self.parent.tooltipValues[type].append(value)
|
||||||
|
|
||||||
|
|
||||||
def createGraphic(self, types, colors, values, widget):
|
def createGraphic(self, types, colors, bounds, values, widget):
|
||||||
"""function to create graph"""
|
"""function to create graph"""
|
||||||
widget.clear()
|
widget.clear()
|
||||||
maxOne = [100.0, 100.0]
|
maxOne = [100.0, 100.0]
|
||||||
pen = QPen()
|
pen = QPen()
|
||||||
|
bounds['down'] = 1.0
|
||||||
|
for value in values['down']:
|
||||||
|
if (bounds['down'] < value):
|
||||||
|
bounds['down'] = value
|
||||||
|
for value in values['up']:
|
||||||
|
if (bounds['down'] < value):
|
||||||
|
bounds['down'] = value
|
||||||
|
bounds['up'] = bounds['down']
|
||||||
down = False
|
down = False
|
||||||
for type in types:
|
for type in types:
|
||||||
bound = [values[type][0], values[type][0]]
|
norm = [maxOne[0] / len(values[type]), maxOne[1] / (1.5 * bounds[type])]
|
||||||
for value in values[type]:
|
|
||||||
if (value < bound[0]):
|
|
||||||
bound[0] = value
|
|
||||||
elif (value > bound[1]):
|
|
||||||
bound[1] = value
|
|
||||||
if ((bound[0] == 0.0) and (bound[0] == 0.0)):
|
|
||||||
norm = [maxOne[0] / len(values[type]), maxOne[1] / 1.5]
|
|
||||||
else:
|
|
||||||
norm = [maxOne[0] / len(values[type]), maxOne[1] / (1.5*(bound[1] - bound[0]))]
|
|
||||||
pen.setColor(QColor(colors[type]))
|
pen.setColor(QColor(colors[type]))
|
||||||
if (down):
|
if (down):
|
||||||
shift = (types.index(type) - 1) * maxOne[0]
|
shift = (types.index(type) - 1) * maxOne[0]
|
||||||
@ -59,9 +58,9 @@ class Tooltip():
|
|||||||
shift = types.index(type) * maxOne[0]
|
shift = types.index(type) * maxOne[0]
|
||||||
for i in range(len(values[type])-1):
|
for i in range(len(values[type])-1):
|
||||||
x1 = i * norm[0] + shift
|
x1 = i * norm[0] + shift
|
||||||
y1 = -(values[type][i] - bound[0]) * norm[1]
|
y1 = -values[type][i] * norm[1]
|
||||||
x2 = (i + 1) * norm[0] + shift
|
x2 = (i + 1) * norm[0] + shift
|
||||||
y2 = -(values[type][i+1] - bound[0]) * norm[1]
|
y2 = -values[type][i+1] * norm[1]
|
||||||
widget.addLine(x1, y1, x2, y2, pen)
|
widget.addLine(x1, y1, x2, y2, pen)
|
||||||
if (type == 'down'):
|
if (type == 'down'):
|
||||||
down = True
|
down = True
|
||||||
|
Loading…
Reference in New Issue
Block a user