diff options
author | Timmy Keller <tjk@tjkeller.xyz> | 2022-01-05 12:28:43 -0600 |
---|---|---|
committer | Timmy Keller <tjk@tjkeller.xyz> | 2022-01-05 12:28:43 -0600 |
commit | 32d34ac9c5e3b682800f65f24743f2f29af04347 (patch) | |
tree | 741ed93d3e3ce188ec3cf1eda784b37bbc237a7d | |
parent | 673999f18f1c49e4178101d56a9293e0e20aade1 (diff) | |
download | scripts-32d34ac9c5e3b682800f65f24743f2f29af04347.tar.xz scripts-32d34ac9c5e3b682800f65f24743f2f29af04347.zip |
change a few
-rwxr-xr-x | launch/launch | 137 | ||||
-rwxr-xr-x | video/burndvd | 2 | ||||
-rwxr-xr-x | x11/xvsync | 2 |
3 files changed, 92 insertions, 49 deletions
diff --git a/launch/launch b/launch/launch index e529438..cb06b1d 100755 --- a/launch/launch +++ b/launch/launch @@ -1,51 +1,94 @@ #!/bin/sh -[ -n "$2" ] && args=`echo "$@" | cut -d' ' -f2-` +me() { basename "$0"; } +printhelp() { + echo "Usage:\n" \ + " $(me): [-gh] [COMMAND] [COMMAND ARGS]...\n\n" \ + "Args:\n" \ + " -g: Force generate cache\n" \ + " -h: show this help message\n\n" \ + "Config Syntax:\n" \ + " +host [HOSTNAME]\n" \ + " Add a new host. Hosts can be referenced using their number starting with 1.\n" \ + " [COMMAND]\n" \ + " launch [COMMAND] will start the process specified for the specific hostname. Aliases are separated by |.\n" \ + " [TAB][SHELL]\n" \ + " Run this shell command when the above [COMMAND] is specified. In order of hostnames. Can be a number to reference to a hostname, a '-' to disregard this command for the specific host, or a '^' to reference the previous command." +} +gencache() { + awk ' + BEGIN { + print "run=\"$1\"; shift" + print "case \"$run\" in" + } + { + sub(/#.*/, "") # Remove comments + if (!/^\s*$/) { + if (/^\+host/) { + sub(/\s*\+host\s*/, "") + h++ + hosts[h] = $0 + } + else { + if (!/^\t/) { + hostnum = 1 + o++ + opts[o] = $0 + } + else { + sub(/^\t/, "") + if ($0 == "^") + $0 = cache + else if ($0 ~ /^[0-9]*$/) + $0 = cmds[hosts[$0]":"opts[o]] + cmds[hosts[hostnum]":"opts[o]] = cache = $0 + hostnum++ + } + } + } + } + END { + for (host in hosts) { + if (hosts[host] != "'`hostname`'") + continue + for (cmd in cmds) { + if (cmd ~ hosts[host] && cmds[cmd] && cmds[cmd] != "-") { + i = cmd + sub(/.*:/, "", cmd) + print "\t"cmd") "cmds[i]" \"$@\" ;;" + } + } + print "\t*) exit 1 ;;" + print "esac" + } + } + ' $conf > $cache +} -launchother() { $@ || echo "Launch: $@: Does not exist or exited with an error"; } +# Config file setup +confdir=${XDG_CONFIG_HOME:-~/.config}/launch +conf=$confdir/config +if [ ! -e $conf ]; then + mkdir -p $confdir + echo "#HOSTS\n+host $(hostname)\n\n#OPTS\ntest\n\techo \"Tested!\"" > $conf + echo "Config file created at $conf! Exiting" + echo + printhelp + exit 0 +fi -case "`hostname`" in - G3N2) - case "$1" in - brave) brave-bin $args & xdotool search --all --sync --class "brave-browser" set_window --class "Brave" --urgency 1 ;; - chromium|chrome) chromium-browser $args & xdotool search --all --sync --class "Chromium-browser-chromium" set_window --class "Chrome" --urgency 1 ;; - halt|off|poweroff|shutdown) doas poweroff ;; - sleep|suspend|zzz) doas s2ram ;; - reboot|res|restart) doas reboot ;; - snes|snes9x) snes9x -fullscreen -xvideo $args ;; - *) launchother $@ ;; - esac - ;; - voidx250) - case "$1" in - brave) brave-browser-stable $args & xdotool search --all --sync --class "brave-browser" set_window --class "Brave" --urgency 1 ;; - chromium|chrome) chrome $args & xdotool search --all --sync --class "Chromium-browser" set_window --class "Chrome" --urgency 1 ;; - halt|off|poweroff|shutdown) doas poweroff ;; - sleep|suspend|zzz) doas zzz ;; - reboot|res|restart) doas reboot ;; - snes|snes9x) snes9x-gtk $args ;; - *) launchother $@ ;; - esac - ;; - debx230) - case "$1" in - brave) brave-browser-stable $args & xdotool search --all --sync --class "brave-browser" set_window --class "Brave" --urgency 1 ;; - chromium|chrome) chromium $args & xdotool search --all --sync --class "Chromium" set_window --class "Chrome" --urgency 1 ;; - #halt|off|poweroff|shutdown) doas poweroff ;; - #sleep|suspend|zzz) doas zzz ;; - #reboot|res|restart) doas reboot ;; - #snes|snes9x) snes9x-gtk $args ;; - *) launchother $@ ;; - esac - ;; - librex60) - case "$1" in - firefox|brave) iceweasel -P default-release ;; - chromium|chrome) iceweasel -P School ;; - halt|off|poweroff|shutdown) doas poweroff ;; - #sleep|suspend|zzz) doas zzz ;; - reboot|res|restart) doas reboot ;; - *) launchother $@ ;; - esac - ;; - *) echo "Launch: The hostname \"`hostname`\" is not recognized. Please add an entry for it!" ;; +# Cache file setup +cachedir=${XDG_CACHE_HOME:-~/.cache}/launch +cache=$cachedir/cache +[ ! -e $cache ] && mkdir -p $cachedir && gencache +[ $conf -nt $cache ] && gencache + +# Command line options +case "$1" in + -g) echo "Generating new cache: $cache"; gencache && cat $cache; exit ;; + -h) printhelp && exit ;; + '') printhelp && exit ;; esac + +# Run +#sh $cache "$@" || "$@" || echo "$(me): $@: Does not exist or exited with an error" & +exec $cache "$@" diff --git a/video/burndvd b/video/burndvd index d8d6d76..af4b324 100755 --- a/video/burndvd +++ b/video/burndvd @@ -1,5 +1,5 @@ #!/bin/sh -printusage() { echo "$0 [iso] [burner]"; } +printusage() { echo "$(basename $0) [iso] [burner]"; } if !(ls "$1" >/dev/null 2>/dev/null); then echo "No iso selected or iso does not exist!" printusage @@ -1,5 +1,5 @@ #!/bin/sh # Since this script runs xrandr to get the connected monitors, it is unnecessary to run xrandr by itself in your xinitrc for monitor in `xrandr | sed -n 's/ connected.*//p'`; do - xrandr --output $monitor --set TearFree ${1:-on} + #xrandr --output $monitor --set TearFree ${1:-on} done |