home: add sway i3blocks
This commit is contained in:
		
							parent
							
								
									9287ae33bb
								
							
						
					
					
						commit
						c23a57a21a
					
				|  | @ -459,5 +459,50 @@ border-size=1 | |||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		xdg.configFile."i3blocks/bin/wifi".source = ./sway-i3block/wifi; | ||||
| 		xdg.configFile."i3blocks/bin/battery".source = ./sway-i3block/battery; | ||||
| 		xdg.configFile."i3blocks/config".text = '' | ||||
| align=center | ||||
| separator=false | ||||
| # separator_block_width=15 | ||||
| markup=pango | ||||
| # color=#f8f8f2 | ||||
| color=#e4e4e4 | ||||
| 
 | ||||
| [root] | ||||
| label=💽 | ||||
| command=df -h / | awk 'FNR==2 { gsub(/[A-Za-z]/, ""); printf " %i<span color=\"#589df6\">G</span>\n", $4 }' | ||||
| interval=3 | ||||
| 
 | ||||
| [memory] | ||||
| label=💾 | ||||
| command=free --giga | awk 'FNR==2{ printf " %i<span color=\"#589df6\">G</span>\n", $7 }' | ||||
| interval=2 | ||||
| 
 | ||||
| [wifi] | ||||
| label= | ||||
| command=~/.config/i3blocks/bin/wifi | ||||
| interval=5 | ||||
| color=#589df6 | ||||
| 
 | ||||
| [volume] | ||||
| command=if ponymix -t sink is-muted; then echo '🔇'; else if test $(ponymix -t sink get-volume) -gt 50; then echo -n "🔊"; else echo -n "🔉"; fi; echo "$(ponymix -t sink get-volume)<span color=\"#589df6\">%</span>";  fi | ||||
| interval=1 | ||||
| 
 | ||||
| [mic] | ||||
| command=if ponymix -t source is-muted; then echo '<span color="#ffffff"></span>'; else echo "<span color=\"#ff5555\"> $(ponymix -t source get-volume)%</span>"; fi | ||||
| interval=1 | ||||
| 
 | ||||
| [battery] | ||||
| command=~/.config/i3blocks/bin/battery | ||||
| interval=2 | ||||
| color=#ff5555 | ||||
| 
 | ||||
| [time] | ||||
| label=⏰ | ||||
| command=date '+%T' | ||||
| interval=1 | ||||
| 		''; | ||||
| 	}; | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,107 @@ | |||
| #!/usr/bin/env python3 | ||||
| # | ||||
| # Copyright (C) 2016 James Murphy | ||||
| # Licensed under the GPL version 2 only | ||||
| # | ||||
| # A battery indicator blocklet script for i3blocks | ||||
| 
 | ||||
| import re | ||||
| from subprocess import check_output | ||||
| 
 | ||||
| status = check_output(['acpi'], universal_newlines=True) | ||||
| 
 | ||||
| if not status: | ||||
|     # stands for no battery found | ||||
|     fulltext = "<span color='red'>🔞🔋</span>" | ||||
|     percentleft = 100 | ||||
| else: | ||||
|     # if there is more than one battery in one laptop, the percentage left is  | ||||
|     # available for each battery separately, although state and remaining  | ||||
|     # time for overall block is shown in the status of the first battery  | ||||
|     batteries = status.split("\n") | ||||
|     state_batteries=[] | ||||
|     commasplitstatus_batteries=[] | ||||
|     percentleft_batteries=[] | ||||
|     time = "" | ||||
|     for battery in batteries: | ||||
|         if battery!='': | ||||
|             state_batteries.append(battery.split(": ")[1].split(", ")[0]) | ||||
|             commasplitstatus = battery.split(", ") | ||||
|             if not time: | ||||
|                 time = commasplitstatus[-1].strip() | ||||
|                 # check if it matches a time | ||||
|                 time = re.match(r"(\d+):(\d+)", time) | ||||
|                 if time: | ||||
|                     time = ":".join(time.groups()) | ||||
|                     timeleft = " ({})".format(time) | ||||
|                 else: | ||||
|                     timeleft = "" | ||||
| 
 | ||||
|             p = int(commasplitstatus[1].rstrip("%\n")) | ||||
|             if p>0: | ||||
|                 percentleft_batteries.append(p) | ||||
|             commasplitstatus_batteries.append(commasplitstatus) | ||||
|     state = state_batteries[0] | ||||
|     commasplitstatus = commasplitstatus_batteries[0] | ||||
|     if percentleft_batteries: | ||||
|         percentleft = int(sum(percentleft_batteries)/len(percentleft_batteries)) | ||||
|     else: | ||||
|         percentleft = 0 | ||||
| 
 | ||||
|     # stands for charging | ||||
|     #FA_LIGHTNING = "<span color='#E88939' font='FontAwesome'>\uf0e7</span>" | ||||
|     #FA_LIGHTNING = "<span color='#E88939'>⚡</span>" | ||||
|     FA_LIGHTNING = "<span color='#E88939'>⚡</span>" | ||||
| 
 | ||||
|     # stands for plugged in | ||||
|     #FA_PLUG = "<span color='#E88939' font='FontAwesome'>\uf1e6</span>" | ||||
|     #FA_PLUG = "<span color='#E88939'>🔌</span>" | ||||
|     FA_PLUG = "<span color='#E88939'>🔌</span>" | ||||
| 
 | ||||
|     # stands for using battery | ||||
|     #FA_BATTERY = "<span color='#E88939' font='FontAwesome'>\uf240</span>" | ||||
|     FA_BATTERY = "<span color='#E88939'>🔋</span>" | ||||
| 
 | ||||
|     # stands for unknown status of battery | ||||
|     #FA_QUESTION = "<span color='#E88939' font='FontAwesome'>\uf128</span>" | ||||
|     FA_QUESTION = "<span color='#E88939'>❔</span>" | ||||
| 
 | ||||
| 
 | ||||
|     if state == "Discharging": | ||||
|         fulltext = FA_BATTERY + " " | ||||
|     elif state == "Full": | ||||
|         fulltext = FA_PLUG + " " | ||||
|         timeleft = "" | ||||
|     elif state == "Unknown": | ||||
|         fulltext = FA_BATTERY + " " + FA_QUESTION + " " | ||||
|         timeleft = "" | ||||
|     else: | ||||
|         fulltext = FA_LIGHTNING + " " + FA_PLUG + " " | ||||
| 
 | ||||
|     percentcolor = "#FFFFFF" | ||||
| 
 | ||||
|     if percentleft < 10: | ||||
|         # exit code 33 will turn background red | ||||
|         percentcolor = "#FFFFFF" | ||||
|     elif percentleft < 20: | ||||
|         percentcolor = "#FF3300" | ||||
|     elif percentleft < 30: | ||||
|         percentcolor = "#FF6600" | ||||
|     elif percentleft < 40: | ||||
|         percentcolor = "#FF9900" | ||||
|     elif percentleft < 50: | ||||
|         percentcolor = "#FFCC00" | ||||
|     elif percentleft < 60: | ||||
|         percentcolor = "#FFFF00" | ||||
|     elif percentleft < 70: | ||||
|         percentcolor = "#FFFF33" | ||||
|     elif percentleft < 80: | ||||
|         percentcolor = "#FFFF66" | ||||
|      | ||||
|     fulltext += '<span color="{}">{}%</span>'.format(percentcolor, percentleft) | ||||
|     fulltext += timeleft | ||||
| 
 | ||||
| print(fulltext) | ||||
| print(fulltext) | ||||
| if percentleft < 10: | ||||
|     exit(33) | ||||
|  | @ -0,0 +1,38 @@ | |||
| #!/bin/sh | ||||
| # Copyright (C) 2014 Alexander Keller <github@nycroth.com> | ||||
| 
 | ||||
| # 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/>. | ||||
| 
 | ||||
| #------------------------------------------------------------------------ | ||||
| 
 | ||||
| INTERFACE="${BLOCK_INSTANCE:-wlan0}" | ||||
| 
 | ||||
| #------------------------------------------------------------------------ | ||||
| 
 | ||||
| # As per #36 -- It is transparent: e.g. if the machine has no battery or wireless | ||||
| # connection (think desktop), the corresponding block should not be displayed. | ||||
| [[ ! -d /sys/class/net/${INTERFACE}/wireless ]] || | ||||
|     [[ "$(cat /sys/class/net/$INTERFACE/operstate)" = 'down' ]] && exit | ||||
| 
 | ||||
| COLOR_MAC="${COLOR_MAC:-grey}" | ||||
| COLOR_FREQ="${COLOR_FREQ:-white}" | ||||
| COLOR_SIGNAL="${COLOR_SIGNAL:-#589df6}" | ||||
| COLOR_BANDWIDTH="${COLOR_BANDWIDTH:-grey}" | ||||
| 
 | ||||
| echo -n " "; | ||||
| iw dev $INTERFACE link | head -8 | grep -vE '(SSID|TX|RX)' \ | ||||
| 	| sed -e "s/.*to .*\([0-9a-f:]\{5\}\) .on.*/<span color='$COLOR_MAC'>\1<\/span>/g; s/^\s//g" \ | ||||
| 	| tr -d "\n" \ | ||||
| 	| sed -e "s/freq: / <span color='$COLOR_FREQ'>/g; s/signal: /<\/span> <span color='$COLOR_SIGNAL'>/g; s/mrx bitrate: \([0-9\.]*\).*tx bitrate: \([0-9\.]*\).*/<\/span> <span color='$COLOR_BANDWIDTH'>\1\/\2<\/span>/g;" | ||||
| echo "" | ||||
		Loading…
	
		Reference in New Issue