From dba767e8ff1599a0b4cf8fb3dc06ac0cce727748 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Wed, 6 Jan 2016 15:11:44 +0800 Subject: i3: update configuration for i3wm * Update i3 wm config * Add i3blocks.conf * Remove py3status --- .i3/py3status/backup/sysdata.py | 137 ---------------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 .i3/py3status/backup/sysdata.py (limited to '.i3/py3status/backup/sysdata.py') 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> - -# 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 . - -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) -- cgit v1.2.2