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/netdata.py | 132 ---------------------------------------- 1 file changed, 132 deletions(-) delete mode 100644 .i3/py3status/backup/netdata.py (limited to '.i3/py3status/backup/netdata.py') diff --git a/.i3/py3status/backup/netdata.py b/.i3/py3status/backup/netdata.py deleted file mode 100644 index 729983b..0000000 --- a/.i3/py3status/backup/netdata.py +++ /dev/null @@ -1,132 +0,0 @@ -# -*- coding: utf-8 -*- - -# netdata - -# Netdata is a module uses great Py3status (i3status wrapper) to -# display network information (Linux systems) in i3bar. -# 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 . - -# ----------------------------------------------------------------- # -# Notes: -# 1. netdata will check 'eth0' interface by default. You can -# change it by changing 'self.net_interface' variable in 'GetData' -# class. -# 2. Colors are depended on strict specification in traffic/netspeed methods. -# You can change them by manipulating conditions. - -import subprocess -from time import time - -# Method 'netSpeed' will use this variables to calculate downloaded -# bytes in last second. Initializing this variables globally is -# necessary since we can't use __init__ method in Py3Status class. -old_transmitted, old_received = 0, 0 - - -class GetData: - """Get system status - - """ - def __init__(self): - # You can change it to another interface. - # It'll be used for grabbing net interface data. - self.net_interface = 'eth0' - - 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 netBytes(self): - """Execute 'cat /proc/net/dev', find the interface line (Default - 'eth0') and grab received/transmitted bytes. - - """ - net_data = self.execCMD('cat', '/proc/net/dev').decode('utf-8').split() - interface_index = net_data.index(self.net_interface + ':') - received_bytes = int(net_data[interface_index + 1]) - transmitted_bytes = int(net_data[interface_index + 9]) - - return received_bytes, transmitted_bytes - - -class Py3status: - """ - System status in i3bar - """ - def netSpeed(self, json, i3status_config): - """Calculate network speed ('eth0' interface) and return it. You can - change the interface using 'self.net_interface' variable in - 'GetData' class. - - """ - data = GetData() - response = {'full_text': '', 'name': 'net_speed'} - - global old_received - global old_transmitted - - received_bytes, transmitted_bytes = data.netBytes() - dl_speed = (received_bytes - old_received) / 1024. - up_speed = (transmitted_bytes - old_transmitted) / 1024. - - if dl_speed < 30: - response['color'] = i3status_config['color_bad'] - elif dl_speed < 60: - response['color'] = i3status_config['color_degraded'] - else: - response['color'] = i3status_config['color_good'] - - response['full_text'] = "LAN(Kb): {:5.1f}↓ {:5.1f}↑"\ - .format(dl_speed, up_speed) - response['cached_until'] = time() - - old_received, old_transmitted = received_bytes, transmitted_bytes - return (0, response) - - def traffic(self, json, i3status_config): - """Calculate networks used traffic. Same as 'netSpeed' method you can - change the interface. - - """ - data = GetData() - response = {'full_text': '', 'name': 'traffic'} - - received_bytes, transmitted_bytes = data.netBytes() - download = received_bytes / 1024 / 1024. - upload = transmitted_bytes / 1024 / 1024. - total = download + upload - - if total < 400: - response['color'] = i3status_config['color_good'] - elif total < 700: - response['color'] = i3status_config['color_degraded'] - else: - response['color'] = i3status_config['color_bad'] - - response['full_text'] = "T(Mb): {:3.0f}↓ {:3.0f}↑ {:3.0f}↕"\ - .format(download, upload, total) - - return (1, response) -- cgit v1.2.2