aboutsummaryrefslogtreecommitdiffstats
path: root/.i3/py3status/backup/sysdata.py
diff options
context:
space:
mode:
authorAaron LI <aaronly.me@gmail.com>2016-01-06 15:11:44 +0800
committerAaron LI <aaronly.me@gmail.com>2016-01-06 15:11:44 +0800
commitdba767e8ff1599a0b4cf8fb3dc06ac0cce727748 (patch)
tree1c85bbf6409e1cb398da0dcb4cd5ad8a78644354 /.i3/py3status/backup/sysdata.py
parentc07a9bd96fde28c0f672af8d1b4d345c2e34f1b3 (diff)
downloaddotfiles-dba767e8ff1599a0b4cf8fb3dc06ac0cce727748.tar.bz2
i3: update configuration for i3wm
* Update i3 wm config * Add i3blocks.conf * Remove py3status
Diffstat (limited to '.i3/py3status/backup/sysdata.py')
-rw-r--r--.i3/py3status/backup/sysdata.py137
1 files changed, 0 insertions, 137 deletions
diff --git a/.i3/py3status/backup/sysdata.py b/.i3/py3status/backup/sysdata.py
deleted file mode 100644
index 14aefb3..0000000
--- a/.i3/py3status/backup/sysdata.py
+++ /dev/null
@@ -1,137 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# sysdata
-
-# Sysdata is a module uses great Py3status (i3status wrapper) to
-# display system information (RAM usage) in i3bar (Linux systems).
-# For more information read:
-# i3wm homepage: http://i3wm.org
-# py3status homepage: https://github.com/ultrabug/py3status
-
-# Copyright (C) <2013> <Shahin Azad [ishahinism at Gmail]>
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-import subprocess
-from time import time
-
-
-class GetData:
- """Get system status
-
- """
- def execCMD(self, cmd, arg):
- """Take a system command and its argument, then return the result.
-
- Arguments:
- - `cmd`: system command.
- - `arg`: argument.
- """
- result = subprocess.check_output([cmd, arg])
- return result
-
- def cpu(self):
- """Get the cpu usage data from /proc/stat :
- cpu 2255 34 2290 22625563 6290 127 456 0 0
- - user: normal processes executing in user mode
- - nice: niced processes executing in user mode
- - system: processes executing in kernel mode
- - idle: twiddling thumbs
- - iowait: waiting for I/O to complete
- - irq: servicing interrupts
- - softirq: servicing softirqs
- - steal: involuntary wait
- - guest: running a normal guest
- - guest_nice: running a niced guest
- These numbers identify the amount of time the CPU has spent performing
- different kinds of work. Time units are in USER_HZ (typically hundredths of a
- second)
- """
- with open('/proc/stat', 'r') as fd:
- line = fd.readline()
- cpu_data = line.split()
- total_cpu_time = sum(map(int, cpu_data[1:]))
- cpu_idle_time = int(cpu_data[4])
-
- #return the cpu total&idle time
- return total_cpu_time, cpu_idle_time
-
- def memory(self):
- """Execute 'free -m' command, grab the memory capacity and used size
- then return; Memory size 'total_mem', Used_mem, and percentage
- of used memory.
-
- """
- # Run 'free -m' command and make a list from output.
- mem_data = self.execCMD('free', '-m').split()
- total_mem = int(mem_data[7]) / 1024.
- used_mem = int(mem_data[15]) / 1024.
- # Caculate percentage
- used_mem_percent = int(used_mem / (total_mem / 100))
-
- # Results are in kilobyte.
- return total_mem, used_mem, used_mem_percent
-
-
-class Py3status:
- """
- System status in i3bar
- """
- def __init__(self):
- self.data = GetData()
- self.cpu_total = 0
- self.cpu_idle = 0
-
- def cpuInfo(self, json, i3status_config):
- """calculate the CPU status and return it.
-
- """
- response = {'full_text': '', 'name': 'cpu_usage'}
- cpu_total, cpu_idle = self.data.cpu()
- used_cpu_percent = 1 - float(cpu_idle-self.cpu_idle)/float(cpu_total-self.cpu_total)
- self.cpu_total = cpu_total
- self.cpu_idle = cpu_idle
-
- if used_cpu_percent <= 40:
- response['color'] = i3status_config['color_good']
- elif used_cpu_percent <= 75:
- response['color'] = i3status_config['color_degraded']
- else:
- response['color'] = i3status_config['color_bad']
-
- response['full_text'] = "CPU: %.2f%%" % (used_cpu_percent*100)
- #cache the status for 10 seconds
- response['cached_until'] = time() + 10
-
- return (0, response)
-
- def ramInfo(self, json, i3status_config):
- """calculate the memory (RAM) status and return it.
-
- """
- response = {'full_text': '', 'name': 'ram_info'}
- total_mem, used_mem, used_mem_percent = self.data.memory()
-
- if used_mem_percent <= 40:
- response['color'] = i3status_config['color_good']
- elif used_mem_percent <= 75:
- response['color'] = i3status_config['color_degraded']
- else:
- response['color'] = i3status_config['color_bad']
-
- response['full_text'] = "RAM: %.2f/%.2f GB (%d%%)" % \
- (used_mem, total_mem, used_mem_percent)
- response['cached_until'] = time()
-
- return (0, response)