fix audio, add cpu, update roadmap and config

This commit is contained in:
koksnuss 2018-05-13 23:04:33 +02:00
parent 239bed779c
commit efcd74ad75
4 changed files with 44 additions and 62 deletions

View File

@ -17,9 +17,9 @@ Adjust `~/.config/i3blocks/config` to control i3 status bar output. Finally relo
- [x] battery - [x] battery
- [x] same color palette - [x] same color palette
- [x] audio - [x] audio
- [ ] fix audio not changing on mute - [x] fix audio not changing on mute
- [x] cpu
- [ ] swap - [ ] swap
- [ ] cpu
- [ ] wifi/ethernet/bluetooth - [ ] wifi/ethernet/bluetooth
- [ ] external storage mount - [ ] external storage mount
- [ ] ethernet bandwith - [ ] ethernet bandwith

7
audio
View File

@ -1,9 +1,14 @@
#!/bin/bash #!/bin/bash
amixer get Master | gawk ' amixer get Master | gawk '
match($0, /\[([0-9]+)\%\]/, matches) { match($0, /\[([0-9]+)\%\] \[(on)\]/, matches) {
audio=matches[1] audio=matches[1]
} }
END { END {
if (matches[2]=='off') {
printf("mute\n")
printf("\n")
exit 33
}
printf("%d%", audio) printf("%d%", audio)
print("\n") print("\n")
if (audio < 75) { if (audio < 75) {

20
config
View File

@ -5,21 +5,29 @@ separator=false
command=$HOME/.config/i3blocks/$BLOCK_NAME command=$HOME/.config/i3blocks/$BLOCK_NAME
interval=5 interval=5
#[cpu]
[audio]
interval=1
label=audio
[ram]
label=ram
[storage] [storage]
label=storage label=storage
[ram]
label=ram
[cpu]
interval=2
label=cpu
[ip] [ip]
label=ip label=ip
interval=once interval=once
[battery] [battery]
label=battery label=battery
separator_block_width=5 separator_block_width=5
[battery] [battery]
instance=1 instance=1
[audio]
interval=2
label=audio
[datetime] [datetime]
interval=1 interval=1

75
cpu
View File

@ -1,55 +1,24 @@
#!/usr/bin/perl #!/bin/bash
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
use strict; top -bn1 | gawk '
use warnings; /^\%CPU/ {
use utf8; cpu=100-$8
use Getopt::Long;
# default values
my $t_warn = 50;
my $t_crit = 80;
my $cpu_usage = -1;
sub help {
print "Usage: cpu_usage [-w <warning>] [-c <critical>]\n";
print "-w <percent>: warning threshold to become yellow\n";
print "-c <percent>: critical threshold to become red\n";
exit 0;
}
GetOptions("help|h" => \&help,
"w=i" => \$t_warn,
"c=i" => \$t_crit);
# Get CPU usage
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
open (MPSTAT, 'mpstat 1 1 |') or die;
while (<MPSTAT>) {
if (/^.*\s+(\d+\.\d+)\s+$/) {
$cpu_usage = 100 - $1; # 100% - %idle
last;
} }
} END {
close(MPSTAT); printf("%d%", cpu)
print("\n")
$cpu_usage eq -1 and die 'Can\'t find CPU information'; if (cpu < 50) {
print("#04B431\n")
# Print short_text, full_text } else if (cpu < 60) {
printf "%.2f%%\n", $cpu_usage; print("#A8FF00\n")
printf "%.2f%%\n", $cpu_usage; } else if (cpu < 70) {
print("#FFF600\n")
# Print color, if needed } else if (cpu < 80) {
if ($cpu_usage >= $t_crit) { print("#FFAE00\n")
print "#FF0000\n"; } else if (cpu < 90) {
exit 33; print("#FF0000\n")
} elsif ($cpu_usage >= $t_warn) { } else {
print "#FFFC00\n"; exit 33
} }
}
exit 0; '