#!/usr/bin/env zsh if [ "$1" = "lock" ];then #!/bin/bash declare -i ID ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'` declare -i STATE STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'` if [ $STATE -eq 1 ];then xinput disable $ID echo "Touchpad disabled." else xinput enable $ID echo "Touchpad enabled." fi fi if [ "$1" = "pass" ];then pass -c $(ls ~/.password-store/*/*|cut -b-37 --complement|rofi -dmenu|sed -e 's/\.gpg//') fi if [ "$1" = "screensaver" ];then cat /tmp/noss||i3lock -di `shuf -n1 -e ~/.i3/wall/*` fi if [ "$1" = "wall" ];then #if [[ -d ~/.i3/wallOM ]];then feh --bg-scale "`shuf -n1 -e ~/.i3/wallOM/*`";else feh --bg-scale "`shuf -n1 -e ~/.i3/wall/*`";fi; #feh --bg-scale "$(shuf -n1 -e ~/.i3/wallOM/*)" #feh --bg-scale ~/.i3/image.png feh --bg-scale "$(shuf -n1 <(realpath /home/stonewareslord/sync/wallpaper/"$(hostname)"/*))" fi if [ "$1" = "swap" ];then python << EOF import i3 swap = [output for output in i3.get_outputs() if output['active']] if len(swap) == 2: for output in swap: i3.workspace(output['current_workspace']) i3.command('move', 'workspace to output right') EOF fi if [ "$1" = "boot" ];then test -f ~/.screenlayout/default.sh && ~/.screenlayout/default.sh /usr/bin/xset -b /usr/bin/xset +fp /usr/share/fonts/X11/misc /usr/bin/xset +fp /usr/share/fonts/X11/Type1 /usr/bin/xset +fp built-ins /usr/bin/xset s off /usr/bin/xset -dpms # This will segfault and ruin your day #/usr/bin/urxvtd -q -f -o if [ "$(hostname)" = "MMLin" ]; then xrandr --output HDMI1 --primary xmodmap <(echo pointer = 3 2 1) elif [ "$(hostname)" = "G2" ]; then #TODO: Figure out what the display is called xrandr --output eDP1 --primary xmodmap <(echo pointer = 1 2 3) fi feh --bg-scale $(shuf -n1 <(realpath /home/stonewareslord/owncloud/wallpaper/$(hostname))) xinput --set-prop 'Logitech USB Optical Mouse' 'Device Accel Constant Deceleration' 3 $(which ck-launch-session 2>/dev/null) $(which i3) fi if [ "$1" = "screen-lock" ];then revert(){ xset dpms 0 0 0 } trap revert SIGHUP SIGINT SIGTERM xset +dpms dpms 5 5 5 slock revert fi if [ "$1" = "paste" ]; then sleep 2 DISPLAY=:0.0 xdotool type --clearmodifiers --file <(xsel) fi if [ "$1" = "ping" ]; then shift # Return code local RET=0 # nc has some intense divergence. netcat6 has no -z, but netcat has no -x # -w3: 3 second timeout # -4 : ipv4 only # check if nc has -z if nc -h |& grep -q -- -z; then nc -w 1 -z4 "$1" "$2" >& /dev/null && RET=1 # check if nc has --transfer (-x) elif nc -h |& grep -q -- --transfer; then nc -w 1 -4 "$1" "$2" -x & /dev/null && RET=1 fi echo $RET fi if [ "$1" = "ip" ]; then shift local RET=0 if [ "$(hostname)" = "MMLin" ]; then if grep -q "$1" < <(ifconfig enp2s0f0); then RET=1 fi elif [ "$(hostname)" = "G2" ]; then if grep -q "$1" < <(ifconfig enp1s0;ifconfig wlp2s0); then RET=1 fi elif [ "$(hostname)" = "SGen" ]; then if grep -q "$1" < <(ifconfig enp0s25); then RET=1 fi fi echo $RET fi if [ "$1" = "copy" ]; then (printf '-chegg ';xsel | perl -pe 's/[^a-zA-Z ]//g;chomp()') | xsel && notify-send "Copied" || notify-send "Error" fi if [ "$1" = "screenshot" ]; then \rm -f ~/last-photo/*(N) sleep .2 #DISPLAY=:0.0 xfce4-screenshooter -r -s ~/last-photo local FNAME="$HOME/last-photo/$(date +'%Y-%m-%d_%T').png" DISPLAY=:0.0 import "${FNAME}" DISPLAY=:0.0 xclip -selection clipboard -t image/png -i "${FNAME}" #DISPLAY=:0.0 scrot -s "$HOME/last-photo/$(date +'%Y-%m-%d_%T').png" \cp ~/last-photo/* ~/Pictures fi if [ "$1" = "shutdownprompt" ]; then RESP=$(printf 'Sleep\nNMRestart\nShutdown\nRestart\nLogout\n' | rofi -i -dmenu 2>/dev/null) if [[ ! -z "$RESP" ]]; then case "$RESP" in NMRestart) nmcli radio wifi off;sleep 1;nmcli radio wifi on;; Restart) sudo /sbin/shutdown -r now ;; Shutdown) sudo /sbin/poweroff ;; Logout) i3-msg exit ;; Sleep) amixer set Master 0% mute slock&until echo mem|sudo tee /sys/power/state>/dev/null;do sleep 1;done sleep 4 nmcli radio wifi off sleep 3 nmcli radio wifi on ;; esac fi fi if [ "$1" = "run" ]; then PATH="$HOME/bin:/usr/games/bin:$PATH" rofi -show run fi if [ "$1" = "window" ]; then rofi -show window fi if [ "$1" = "clip" ]; then # Get the rofi-selected index of what to paste local INDEX="$(gpaste-client --oneline | colrm 80 | rofi -dmenu | perl -pe 's/:.*//')" # If they made a selection, select it if [[ ! -z "$INDEX" ]]; then gpaste-client select "$INDEX" fi fi