#!/bin/bash Commands="update poweroff suspend set-keyboard caps-lock battery cups-website vim emacs htop scrot overleaf-render overleaf win pass wall stat mic" statScripts="ram.sh status.sh net.sh mic.sh" handle_stuff() { if [ "$1" = "--dmenu" ]; then $0 $(echo $Commands | tr " " "\n" | dmenu -i -p ":") fi if [ "$1" = "edit" ] || [ "$1" = "e" ]; then notify-send "$*" st -e nvim $(echo $* | cut -d" " -f2-) fi # System info if [ "$1" = "b" ] || [ "$1" = "battery" ]; then notify-send "Battery information" "$(acpi | grep 1:)" fi # System maintenance if [ "$1" = "sk" ] || [ "$1" = "set-keyboard" ]; then setxkbmap -layout us -variant altgr-intl xcape -e "Control_R=Escape" xmodmap .Xmodmap fi # POWER COMMANDS if [ "$1" = "s" ] || [ "$1" = "suspend" ]; then systemctl suspend fi if [ "$1" = "poweroff" ]; then poweroff fi # Mics if [ "$1" = "p" ] || [ "$1" = "scrot" ]; then scrot /tmp/%Y-%m-%d-%T-screenshot.png fi if [ "$1" = "overleaf-render" ]; then st sh ~/Documents/overleafRenderer/compile.sh fi if [ "$1" = "caps-lock" ] || [ "$1" = "cl" ]; then xdotool key Caps_Lock fi if [ "$1" = "win" ]; then vboxmanage startvm "Windows xp" fi if [ "$1" = "wall" ]; then feh --bg-tile Pictures/defaultWall.* fi if [ "$1" = "mic" ]; then amixer set Capture toggle fi # Launch if [ "$1" = "vi" ] || [ "$1" = "vim" ]; then st -e nvim fi if [ "$1" = "emacs" ]; then st -e emacs fi if [ "$1" = "ht" ] || [ "$1" = "htop" ]; then st -e htop fi if [ "$1" = "cups" ] || [ "$1" = "cups-website" ]; then firefox "http://localhost:631/" fi if [ "$1" = "overleaf" ]; then firefox -p Sharelatex --no-remote fi if [ "$1" = "pass" ]; then bash $HOME/Scripts/passmenu --type fi if [ "$1" = "stat" ]; then sh /home/julian/Scripts/$(echo $statScripts | tr " " "\n" | dmenu -i -p "stat") fi # Calc if [ "$(echo $1 | head -c 1)" = "=" ]; then calc="$(echo $1 | cut -c 2-)" notify-send "Result" "$calc = $(echo $calc | bc)" fi } handle_stuff $* &