#!/bin/bash #OCTOPUS=~/Programmation/Utils/octopus.sh #This octopus handles all the actions like volume up, refresh status bar, etc.. if [ $# -lt 1 ] then echo "Usage : $0 [vol up|vol down|refresh|monitor extern|monitor laptop|monitor dual...]" exit fi case $1 in "vol"|"volume") case $2 in "up") amixer -q set Master 5%+ unmute ;; "down") amixer -q set Master 5%- unmute ;; "mute") amixer -q set Master toggle ;; esac $0 refresh ;; "monitor") case $2 in "extern") xrandr --output LVDS1 --off \ --output VGA1 --auto --rotate normal ;; "laptop") xrandr --output LVDS1 --auto --rotate normal \ --output VGA1 --off ;; "dual") xrandr --output LVDS1 --auto --rotate normal \ --output VGA1 --auto --rotate normal \ --right-of LVDS1 ;; "pdfpc") xrandr --output LVDS1 --auto --rotate normal \ --output VGA1 --auto --rotate normal \ --left-of LVDS1 ;; "clone") xrandr --output LVDS1 --auto \ --output VGA1 --auto --same-as LVDS1 ;; "off") xset dpms force off ;; esac $0 wallpaper ;; "refresh") DATE=`date +"%A %d, %Hh%M - %s"` BATT_PCT=$(acpi -b | cut -d, -f2 | cut -d" " -f2) BATT_TIME=$(acpi -b | cut -d, -f3 | cut -d" " -f2) #BATT=$( acpi -b | sed 's/.*[charg.|], \([0-9]*\)%.*/\1/gi' ) VOLUME=`amixer get Master | tail -n 2 | head -n 1 | cut -d' ' -f7` MEMFREE=`awk '/MemFree/ {printf( "%.0f", $2 / 1024 )}' /proc/meminfo` MEMCACHED=`awk '/Cached/ {printf( "%.0f", $2 / 10240 )}' /proc/meminfo` MEMFT=`echo "$MEMFREE + $MEMCACHED" | bc` BEAT_TIME=`beat -v` xsetroot -name "Vol $VOLUME :: $MEMFT Mb Free :: Bat $BATT_PCT $BATT_TIME :: $DATE (@$BEAT_TIME)" ;; "wallpaper") ~/Pictures/wallpapers/chooseWP.sh & ;; "reset-screen") $0 init-all ;; "init-all") xrandr | grep "VGA1 disconnected" > /dev/null if [ $? -eq 0 ] then $0 monitor laptop else $0 monitor extern fi $0 wallpaper ;; "suspend") systemctl suspend xlock -mode blank ;; "lock") xlock -mode blank -dpmsoff 1 ;; esac # vim: ts=4