aboutsummaryrefslogtreecommitdiff
path: root/config/i3blocks
diff options
context:
space:
mode:
Diffstat (limited to 'config/i3blocks')
-rw-r--r--config/i3blocks/config187
-rwxr-xr-xconfig/i3blocks/scripts/backup47
-rwxr-xr-xconfig/i3blocks/scripts/battery75
-rwxr-xr-xconfig/i3blocks/scripts/bbswitch9
-rwxr-xr-xconfig/i3blocks/scripts/email5
-rwxr-xr-xconfig/i3blocks/scripts/mpd10
6 files changed, 333 insertions, 0 deletions
diff --git a/config/i3blocks/config b/config/i3blocks/config
new file mode 100644
index 0000000..ed64ff9
--- /dev/null
+++ b/config/i3blocks/config
@@ -0,0 +1,187 @@
+# i3blocks config file
+#
+# Please see man i3blocks for a complete reference!
+# The man page is also hosted at http://vivien.github.io/i3blocks
+#
+# List of valid properties:
+#
+# align
+# color
+# command
+# full_text
+# instance
+# interval
+# label
+# min_width
+# name
+# separator
+# separator_block_width
+# short_text
+# signal
+# urgent
+
+# Global properties
+#
+# The top properties below are applied to every block, but can be overridden.
+# Each block command defaults to the script name to avoid boilerplate.
+command=/usr/lib/i3blocks/$BLOCK_NAME
+separator_block_width=15
+markup=none
+
+[mpd]
+command=~/.config/i3blocks/scripts/mpd
+interval=5
+signal=12
+
+[keymap]
+command=~/.config/i3/scripts/keyboard_layout
+interval=once
+signal=11
+
+[backup]
+command=~/.config/i3blocks/scripts/backup
+interval=86400
+signal=13
+
+# Volume indicator
+#
+# The first parameter sets the step (and units to display)
+# The second parameter overrides the mixer selection
+# See the script for details.
+[volume]
+#label=VOL
+label=♪
+instance=Master
+#instance=PCM
+interval=once
+signal=10
+
+# CPU usage
+#
+# The script may be called with -w and -c switches to specify thresholds,
+# see the script for details.
+[cpu_usage]
+#label=CPU
+label=
+interval=10
+separator=false
+
+# Memory usage
+#
+# The type defaults to "mem" if the instance is not specified.
+[memory]
+#label=MEM
+label=
+interval=30
+
+[bbswitch]
+command=~/.config/i3blocks/scripts/bbswitch
+interval=5
+
+#[memory]
+#label=SWAP
+#instance=swap
+#separator=false
+#interval=30
+
+# Disk usage
+#
+# The directory defaults to $HOME if the instance is not specified.
+# The script may be called with a optional argument to set the alert
+# (defaults to 10 for 10%).
+[disk]
+label=/
+instance=/
+interval=30
+separator=false
+[disk]
+label=/home
+instance=/home
+interval=30
+separator=false
+[disk]
+label=/home_hdd
+instance=/home_hdd
+interval=30
+
+# Network interface monitoring
+#
+# If the instance is not specified, use the interface used for default route.
+# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
+[iface]
+#instance=wlan0
+color=#00FF00
+interval=10
+separator=false
+
+[wifi]
+#instance=wlp3s0
+interval=10
+separator=false
+
+[bandwidth]
+#instance=eth0
+interval=5
+
+# OpenVPN support
+#
+# Support multiple VPN, with colors.
+#[openvpn]
+#interval=20
+
+# Temperature
+#
+# Support multiple chips, though lm-sensors.
+# The script may be called with -w and -c switches to specify thresholds,
+# see the script for details.
+[temperature]
+#label=T
+interval=10
+
+#[load_average]
+#interval=10
+
+# Battery indicator
+#
+# The battery instance defaults to 0.
+[battery]
+command=~/.config/i3blocks/scripts/battery
+#label=BAT
+#label=⚡
+#instance=1
+interval=30
+
+#[email]
+#command=~/.config/i3blocks/scripts/email
+#interval=30
+
+# Date Time
+#
+[time]
+command=date '+%Y-%m-%d %H:%M:%S'
+interval=1
+
+# Generic media player support
+#
+# This displays "ARTIST - SONG" if a music is playing.
+# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
+#[mediaplayer]
+#instance=mpd
+#interval=5
+#signal=10
+
+# Key indicators
+#
+# Add the following bindings to i3 config file:
+#
+# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
+# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
+#[keyindicator]
+#instance=CAPS
+#interval=once
+#signal=11
+
+#[keyindicator]
+#instance=NUM
+#interval=once
+#signal=11
diff --git a/config/i3blocks/scripts/backup b/config/i3blocks/scripts/backup
new file mode 100755
index 0000000..24b3954
--- /dev/null
+++ b/config/i3blocks/scripts/backup
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+if [[ -n "$BLOCK_BUTTON" ]]; then
+ nohup urxvt -title "System backup" -hold -e sudo system-backup 2>&1 >/dev/null &
+fi
+
+state=5
+if [[ -e ~/.backup_date ]]; then
+ today=$(date +"%Y%m%d")
+ prev=$(date -d `cat ~/.backup_date` +"%Y%m%d")
+ dif=$(expr $today - $prev)
+ if [[ $dif -ge 30 ]]; then
+ state=4
+ elif [[ $dif -ge 20 ]]; then
+ state=3
+ elif [[ $dif -ge 5 ]]; then
+ state=2
+ elif [[ $dif -ge 2 ]]; then
+ state=1
+ else
+ state=0
+ fi
+fi
+
+if [[ $state -eq 0 ]]; then
+ exit 0
+fi
+
+echo "Do backup"
+echo "Backup"
+case $state in
+ 1)
+ echo
+ ;;
+ 2)
+ echo "#ffff00"
+ ;;
+ 3)
+ echo "#ff8a00"
+ ;;
+ 4)
+ echo "#ff5000"
+ ;;
+ 5)
+ echo "#ff0000"
+ ;;
+esac
diff --git a/config/i3blocks/scripts/battery b/config/i3blocks/scripts/battery
new file mode 100755
index 0000000..7a5563a
--- /dev/null
+++ b/config/i3blocks/scripts/battery
@@ -0,0 +1,75 @@
+#!/usr/bin/perl
+#
+# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
+# Copyright 2014 Vivien Didelot <vivien@didelot.org>
+#
+# Licensed under the terms of the GNU GPL v3, or any later version.
+#
+# This script is meant to use with i3blocks. It parses the output of the "acpi"
+# command (often provided by a package of the same name) to read the status of
+# the battery, and eventually its remaining time (to full charge or discharge).
+#
+# The color will gradually change for a percentage below 85%, and the urgency
+# (exit code 33) is set if there is less that 5% remaining.
+
+use strict;
+use warnings;
+use utf8;
+
+my $acpi;
+my $status;
+my $percent;
+my $full_text;
+my $short_text;
+my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
+
+# read the first line of the "acpi" command output
+open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
+$acpi = <ACPI>;
+close(ACPI);
+
+# fail on unexpected output
+if ($acpi !~ /: (\w+), (\d+)%/) {
+ die "$acpi\n";
+}
+
+$status = $1;
+$percent = $2;
+
+if ($status eq 'Discharging') {
+ $full_text = '🔋 ';
+} elsif ($status eq 'Charging') {
+ $full_text = '🔌 ';
+}
+
+$full_text .= "$percent%";
+
+$short_text = $full_text;
+
+if ($acpi =~ /(\d\d:\d\d):/) {
+ $full_text .= " ($1)";
+}
+
+# print text
+print "$full_text\n";
+print "$short_text\n";
+
+# consider color and urgent flag only on discharge
+if ($status eq 'Discharging') {
+
+ if ($percent < 20) {
+ print "#FF0000\n";
+ } elsif ($percent < 40) {
+ print "#FFAE00\n";
+ } elsif ($percent < 60) {
+ print "#FFF600\n";
+ } elsif ($percent < 85) {
+ print "#A8FF00\n";
+ }
+
+ if ($percent < 5) {
+ exit(33);
+ }
+}
+
+exit(0);
diff --git a/config/i3blocks/scripts/bbswitch b/config/i3blocks/scripts/bbswitch
new file mode 100755
index 0000000..a6ad24c
--- /dev/null
+++ b/config/i3blocks/scripts/bbswitch
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+if [ -e /proc/acpi/bbswitch ]; then
+ if [ -n "`cat /proc/acpi/bbswitch | grep ON`" ]; then
+ echo OPTIMUS
+ echo OP
+ echo '#ffff00'
+ fi
+fi
diff --git a/config/i3blocks/scripts/email b/config/i3blocks/scripts/email
new file mode 100755
index 0000000..138deb8
--- /dev/null
+++ b/config/i3blocks/scripts/email
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+email-unread -s | tr "\n" " " | sed 's/[ ]*$/\n/'
+echo
+echo "#ffff00"
diff --git a/config/i3blocks/scripts/mpd b/config/i3blocks/scripts/mpd
new file mode 100755
index 0000000..63ba924
--- /dev/null
+++ b/config/i3blocks/scripts/mpd
@@ -0,0 +1,10 @@
+#!/bin/bash
+if [ -n "`mpc status | grep -E "(playing|paused)"`" ]; then
+ echo `mpc -f "%artist%, %album%, %title%" status | head -1`
+ echo
+ if [ -n `mpc status | grep playing` ]; then
+ echo "#ffff00"
+ elif [ -n `mpc status | grep paused` ]; then
+ echo "#00ff00"
+ fi
+fi