Moves i3 to LEGACY

This commit is contained in:
Jonathan Hodgson 2019-07-30 15:10:03 +01:00
parent 3797371054
commit 7033add60b
20 changed files with 0 additions and 0 deletions

42
LEGACY/i3/blocks/apache Executable file
View file

@ -0,0 +1,42 @@
#!/usr/bin/sh
LAMPP='/opt/lampp/lampp'
STATUS=$($LAMPP status 2> /dev/null)
APACHE=$(echo "$STATUS" | grep -i apache | grep -io not > /dev/null && echo "down" || echo "up")
COLOUR=""
function toggleApache(){
if [ $APACHE = "up" ]; then
gksudo $LAMPP stopapache > /dev/null
else
gksudo $LAMPP startapache > /dev/null
COLOUR="#FF8000"
fi
}
function toggleAll(){
if [ $APACHE = "up" ]; then
gksudo $LAMPP stop
else
gksudo $LAMPP start
fi
}
case $BLOCK_BUTTON in
1) toggleApache ;;
3) toggleAll ;;
esac
if [ -z "$COLOUR" ]; then
if [ "$APACHE" = "up" ]; then
COLOUR="#00FF00"
else
COLOUR="#FF0000"
fi
fi
echo "Apache"
echo ""
echo "$COLOUR"

34
LEGACY/i3/blocks/archNews Executable file
View file

@ -0,0 +1,34 @@
#!/usr/bin/sh
# This shows the most recent part news article in the arch news rss feed
# Left-clicking will open the web page in the browser
# Right clicking will dismiss the feed by putting the title in the ~/.archNewsDismiss file
# Deleting / changing this file will un-dismiss the news item
title=$(rsstail -u https://www.archlinux.org/feeds/news/ -n 1 -1 | sed -e "s/^Title: //")
dismissed=""
if [ -f ~/.archNewsDismiss ]; then
dismissed=$(head -n 1 ~/.archNewsDismiss)
fi
case $BLOCK_BUTTON in
1)
url=$(rsstail -u https://www.archlinux.org/feeds/news/ -l -n 1 -1 | tail -n 1 | sed -e "s/^Link: //")
case $( uname -s ) in
Darwin) open=open;;
MINGW*) open=start;;
CYGWIN*) open=cygstart;;
MSYS*) open="powershell.exe NoProfile Start";;
*) open=${BROWSER:-xdg-open};;
esac
$open $url > /dev/null
;;
3)
echo $title > ~/.archNewsDismiss
dismissed=$title
esac
if [ "$dismissed" != "$title" ]; then
echo $title
fi

107
LEGACY/i3/blocks/bandwidth Executable file
View file

@ -0,0 +1,107 @@
#!/bin/bash
# Copyright (C) 2012 Stefan Breunig <stefan+measure-net-speed@mathphys.fsk.uni-heidelberg.de>
# Copyright (C) 2014 kaueraal
# Copyright (C) 2015 Thiago Perrotta <perrotta dot thiago at poli dot ufrj dot br>
# 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/>.
# Get custom IN and OUT labels if provided by command line arguments
while [[ $# -gt 1 ]]; do
key="$1"
case "$key" in
-i|--inlabel)
INLABEL="$2"
shift;;
-o|--outlabel)
OUTLABEL="$2"
shift;;
esac
shift
done
[[ -z $INLABEL ]] && INLABEL="IN "
[[ -z $OUTLABEL ]] && OUTLABEL="OUT "
# Use the provided interface, otherwise the device used for the default route.
if [[ -z $INTERFACE ]] && [[ -n $BLOCK_INSTANCE ]]; then
INTERFACE=$BLOCK_INSTANCE
elif [[ -z $INTERFACE ]]; then
INTERFACE=$(ip route | awk '/^default/ { print $5 ; exit }')
fi
# Issue #36 compliant.
if ! [ -e "/sys/class/net/${INTERFACE}/operstate" ] || ! [ "`cat /sys/class/net/${INTERFACE}/operstate`" = "up" ]
then
echo "$INTERFACE down"
echo "$INTERFACE down"
echo "#FF0000"
exit 0
fi
# path to store the old results in
path="/dev/shm/$(basename $0)-${INTERFACE}"
# grabbing data for each adapter.
read rx < "/sys/class/net/${INTERFACE}/statistics/rx_bytes"
read tx < "/sys/class/net/${INTERFACE}/statistics/tx_bytes"
# get time
time=$(date +%s)
# write current data if file does not exist. Do not exit, this will cause
# problems if this file is sourced instead of executed as another process.
if ! [[ -f "${path}" ]]; then
echo "${time} ${rx} ${tx}" > "${path}"
chmod 0666 "${path}"
fi
# read previous state and update data storage
read old < "${path}"
echo "${time} ${rx} ${tx}" > "${path}"
# parse old data and calc time passed
old=(${old//;/ })
time_diff=$(( $time - ${old[0]} ))
# sanity check: has a positive amount of time passed
[[ "${time_diff}" -gt 0 ]] || exit
# calc bytes transferred, and their rate in byte/s
rx_diff=$(( $rx - ${old[1]} ))
tx_diff=$(( $tx - ${old[2]} ))
rx_rate=$(( $rx_diff / $time_diff ))
tx_rate=$(( $tx_diff / $time_diff ))
# shift by 10 bytes to get KiB/s. If the value is larger than
# 1024^2 = 1048576, then display MiB/s instead
# incoming
echo -n "$INLABEL"
rx_kib=$(( $rx_rate >> 10 ))
if hash bc 2>/dev/null && [[ "$rx_rate" -gt 1048576 ]]; then
printf '%sM' "`echo "scale=1; $rx_kib / 1024" | bc`"
else
echo -n "${rx_kib}K"
fi
echo -n " "
# outgoing
echo -n "$OUTLABEL"
tx_kib=$(( $tx_rate >> 10 ))
if hash bc 2>/dev/null && [[ "$tx_rate" -gt 1048576 ]]; then
printf '%sM' "`echo "scale=1; $tx_kib / 1024" | bc`"
else
echo -n "${tx_kib}K"
fi

57
LEGACY/i3/blocks/brightness Executable file
View file

@ -0,0 +1,57 @@
#!/bin/bash
# One of the following: xrandr, xbacklight, kernel
METHOD="xbacklight"
# Left click
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
xbacklight -inc 10
# Right click
elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
xbacklight -dec 10
fi
URGENT_VALUE=10
if [[ "${METHOD}" = "xrandr" ]]; then
device="${BLOCK_INSTANCE:-primary}"
xrandrOutput=$(xrandr --verbose)
if [[ "${device}" = "primary" ]]; then
device=$(echo "${xrandrOutput}" | grep 'primary' | head -n 1 | awk -F ' ' '{print $1}')
fi
curBrightness=$(echo "${xrandrOutput}" | grep "${device}" -A 5 | grep -i "Brightness" | awk -F ':' '{print $2}')
elif [[ "${METHOD}" = "kernel" ]]; then
device="${BLOCK_INSTANCE:-intel_backlight}"
maxBrightness=$(cat /sys/class/backlight/${device}/max_brightness)
curBrightness=$(cat /sys/class/backlight/${device}/brightness)
elif [[ "${METHOD}" = "xbacklight" ]]; then
curBrightness=$(xbacklight -get)
fi
if [[ "${curBrightness}" -le 0 ]]; then
exit
fi
if [[ "${METHOD}" = "xrandr" ]]; then
percent=$(echo "scale=0;${curBrightness} * 100" | bc -l)
elif [[ "${METHOD}" = "kernel" ]]; then
percent=$(echo "scale=0;${curBrightness} / ${maxBrightness} * 100" | bc -l)
elif [[ "${METHOD}" = "xbacklight" ]]; then
percent=$(echo "scale=0;${curBrightness}" | bc -l)
fi
percent=${percent%.*}
if [[ "${percent}" -le 0 ]]; then
exit
fi
echo "${label} ${percent}%"
echo "${label} ${percent}%"
echo ""
if [[ "${percent}" -le "${URGENT_VALUE}" ]]; then
exit 33
fi

60
LEGACY/i3/blocks/cpu Executable file
View file

@ -0,0 +1,60 @@
#!/usr/bin/perl
#
# 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;
use warnings;
use utf8;
use Getopt::Long;
# default values
my $t_warn = $ENV{T_WARN} || 50;
my $t_crit = $ENV{T_CRIT} || 80;
my $cpu_usage = -1;
my $decimals = $ENV{DECIMALS} || 2;
my $label = $ENV{label} || "";
sub help {
print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n";
print "-w <percent>: warning threshold to become yellow\n";
print "-c <percent>: critical threshold to become red\n";
print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n";
exit 0;
}
GetOptions("help|h" => \&help,
"w=i" => \$t_warn,
"c=i" => \$t_crit,
"d=i" => \$decimals,
);
# 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\x00]?$/) {
$cpu_usage = 100 - $1; # 100% - %idle
last;
}
}
close(MPSTAT);
$cpu_usage eq -1 and die 'Can\'t find CPU information';
# Print short_text, full_text
printf "${label} %.${decimals}f%%\n", $cpu_usage;
printf "${label} %.${decimals}f%%\n", $cpu_usage;
# Print color, if needed
if ($cpu_usage >= $t_crit) {
print "#FF0000\n";
exit 33;
} elsif ($cpu_usage >= $t_warn) {
print "#FFFC00\n";
}
exit 0;

33
LEGACY/i3/blocks/dns Executable file
View file

@ -0,0 +1,33 @@
#!/usr/bin/sh
case $BLOCK_BUTTON in
1)
echo "HI"
echo "HI"
echo ""
exit 0
;;
esac
LOOKUP="a"
if [ ! -z "$2" ]; then
LOOKUP="$2"
fi
COLOR=""
NAMESERVERS=$(drill "$LOOKUP" "$1" | sed -ne '/ANSWER SECTION/,/AUTHORITY SECTION/ p' | head -n -2 | tail -n +2 | awk '{ print $5" " }' | xargs echo)
if [ ! -z "$3" ]; then
if [ "$NAMESERVERS" = "$3" ]; then
COLOR="#00FF00"
else
COLOR="#FF8000"
fi
fi
echo "$label $NAMESERVERS"
echo "$NAMESERVERS"
echo "$COLOR"

30
LEGACY/i3/blocks/freeSpace Executable file
View file

@ -0,0 +1,30 @@
#!/usr/bin/sh
partition=$1
if [ ! -n "$partition" ]; then
partition="/"
fi
line=$(/usr/bin/df -h $partition | sed -n 2p)
used=$(echo $line | awk -F ' ' '{print $3}')
total=$(echo $line | awk -F ' ' '{print $2}')
percent=$(echo $line | awk -F ' ' '{print $5}' | sed 's/[^0-9]//')
if [ "$BLOCK_BUTTON" = "1" ]; then
echo "$used/$total"
echo "$used/$total"
else
echo "$label $percent%"
echo "$label $percent%"
fi
if [ "$percent" -gt 80 ]; then
echo "#FF8000"
elif [ "$percent" -gt 90 ]; then
echo "#FF0000"
fi

View file

@ -0,0 +1,14 @@
#!/usr/bin/sh
count=$(ssh homeServer -t checkupdates | wc -l)
if [ "$count" = "0" ]; then
echo ""
else
echo "$label $count"
echo "$label $count"
if [ "$count" -gt "5" ]; then
echo "#FFOOOO"
else
echo "#FF8000"
fi
fi

30
LEGACY/i3/blocks/mediaplayer Executable file
View file

@ -0,0 +1,30 @@
#!/usr/bin/sh
#COMMAND="playerctl --player=$BLOCK_INSTANCE"
COMMAND="playerctl"
case $BLOCK_BUTTON in
1) $COMMAND previous ;;
3) $COMMAND next ;;
esac
if [ "$($COMMAND status 2> /dev/null )" = "Playing" ]; then
colour="#00FF00"
else
colour="#FF8000"
fi
title=$($COMMAND metadata title 2> /dev/null | sed "s/\&/\&amp;/g")
artist=$($COMMAND metadata artist 2> /dev/null | sed "s/\&/\&amp;/g")
if [ "$title" != "" ]; then
ret="<span foreground='$colour'>$title</span>"
if [ -n "$artist" ]; then
ret="$ret - $artist"
fi
echo "$ret";
fi

14
LEGACY/i3/blocks/mpvmediaplayer Executable file
View file

@ -0,0 +1,14 @@
#!/usr/bin/sh
socket="${SOCKET:-/tmp/mpvsocket}"
#case $BLOCK_BUTTON in
# 1) $COMMAND previous ;;
# 3) $COMMAND next ;;
#esac
echo '{ "command": ["get_property_string", "filtered-metadata"] }' | socat - "${socket}" | jq '.data' | sed 's/"{\\"icy-title\\":\\"//g' | sed 's/\\"}"//g'
echo ""
echo "#00FF00"

48
LEGACY/i3/blocks/mysql Executable file
View file

@ -0,0 +1,48 @@
#!/usr/bin/sh
LAMPP='/opt/lampp/lampp'
STATUS=$($LAMPP status 2> /dev/null)
MYSQL=$(echo "$STATUS" | grep -i mysql | grep -io not > /dev/null && echo "down" || echo "up")
COLOUR=""
function toggleMysql(){
if [ $MYSQL = "up" ]; then
gksudo $LAMPP stopmysql
else
gksudo $LAMPP startmysql
COLOUR="#FF8000"
fi
}
function toggleAll(){
if [ $MYSQL = "up" ]; then
gksudo $LAMPP stop
else
gksudo $LAMPP start
fi
}
case $BLOCK_BUTTON in
1) toggleMysql ;;
3) toggleAll ;;
esac
if [ "$MYSQL" = "up" ]; then
COLOUR="#00FF00"
else
COLOUR="#FF0000"
fi
if [ -z "$COLOUR" ]; then
if [ "$APACHE" = "up" ]; then
COLOUR="#00FF00"
else
COLOUR="#FF0000"
fi
fi
echo "MySQL"
echo ""
echo "$COLOUR"

22
LEGACY/i3/blocks/pacmanUpdates Executable file
View file

@ -0,0 +1,22 @@
#!/usr/bin/sh
if ! command -v checkupdates > /dev/null; then
echo "You need to install checkupdates";
echo "";
echo "#FF0000"
else
count=$(checkupdates | wc -l)
if [ "$count" = "0" ]; then
echo ""
echo ""
echo ""
exit 0
fi
echo "$label $count"
echo "$label $count"
if [ "$count" -gt "5" ]; then
echo "#FFOOOO"
else
echo "#FF8000"
fi
fi

52
LEGACY/i3/blocks/serverStatus Executable file
View file

@ -0,0 +1,52 @@
#!/usr/bin/bash
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
source $SCRIPTPATH/servers.private
checkAllSites(){
eval server=( \${$1[@]} )
for site in ${server[@]}; do
printf "%-35s | %s \n" "$site" "$(checkURL $site $1)"
done
}
# This function takes 1 parameter, the name of an array in which to check a random URL
checkRandomSite(){
#The server variable will be equal to whichever server array we are looking at
eval server=( \${$1[@]} )
random=$(( ( RANDOM % (${#server[@]} - 1) ) + 1 ))
urlToCheck=${server[$random]}
echo $urlToCheck
echo $(checkURL $urlToCheck $1)
}
checkURL(){
responce=$(curl -s --head -w %{http_code} $1 -L -o /dev/null --connect-timeout 20)
if [ "$responce" != 200 ]; then
pgrep -x dunst && notify-send -u critical "$1 is down" "<b>Server:</b> $2\n<b>Responce:</b> $responce" & disown
fi
echo $responce
}
if [ ! -z "$1" ]; then
if [ -z "$2" ]; then
checked=$(eval checkRandomSite $1)
checked=(${checked// / })
#echo ${checked[0]}
#echo ${checked[1]}
echo $1
echo ""
if [ "${checked[1]}" = "200" ]; then
echo "#00FF00"
else
echo "#FF8000"
fi
elif [ "$2" = "all" ]; then
checkAllSites $1
fi
else
echo Please specify a server name
fi

10
LEGACY/i3/blocks/siteStatus Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env sh
echo "$1"
echo "$1"
curl "$1" 2> /dev/null | grep -q "$2"
if [ $? -eq 0 ]; then
echo "#00FF00"
else
echo "#FF8000"
fi

83
LEGACY/i3/blocks/volume Executable file
View file

@ -0,0 +1,83 @@
#!/bin/bash
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# 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/>.
#------------------------------------------------------------------------
# The second parameter overrides the mixer selection
# For PulseAudio users, eventually use "pulse"
# For Jack/Jack2 users, use "jackplug"
# For ALSA users, you may use "default" for your primary card
# or you may use hw:# where # is the number of the card desired
if [[ -z "$MIXER" ]] ; then
MIXER="default"
if command -v pulseaudio >/dev/null 2>&1 && pulseaudio --check ; then
# pulseaudio is running, but not all installations use "pulse"
if amixer -D pulse info >/dev/null 2>&1 ; then
MIXER="pulse"
fi
fi
[ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"
MIXER="${2:-$MIXER}"
fi
# The instance option sets the control to report and configure
# This defaults to the first control of your selected mixer
# For a list of the available, use `amixer -D $Your_Mixer scontrols`
if [[ -z "$SCONTROL" ]] ; then
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |
sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" |
head -n1
)}"
fi
# The first parameter sets the step to change the volume by (and units to display)
# This may be in in % or dB (eg. 5% or 3dB)
if [[ -z "$STEP" ]] ; then
STEP="${1:-5%}"
fi
#------------------------------------------------------------------------
capability() { # Return "Capture" if the device is a capture device
amixer -D $MIXER get $SCONTROL |
sed -n "s/ Capabilities:.*cvolume.*/Capture/p"
}
volume() {
amixer -D $MIXER get $SCONTROL $(capability)
}
format() {
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "'
# If dB was selected, print that instead
perl_filter+=$([[ $STEP = *dB ]] && echo "$label "'$3' || echo "$label "'$1')
perl_filter+='"; exit}'
perl -ne "$perl_filter"
#tmp=$(perl -ne "$perl_filter")
#echo "$label $tmp"
}
#------------------------------------------------------------------------
case $BLOCK_BUTTON in
3) amixer -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute
4) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase
5) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease
esac
volume | format