snow_mac
...joined 15 years ago, and has 1047 karma
submissions / comments / favourites
# Keep the terminal awake by simulating a Shift+Up Arrow key press every 30 seconds # Useful for preventing sleep during long tasks like downloads or builds # Usage: coffee [-m minutes] # -m minutes : run for specified number of minutes, then stop # If no -m option is given, runs indefinitely coffee() { if [ -f ~/.bash_history ]; then sed -i.bak '/^coffee/d' ~/.bash_history fi if [ -f ~/.zsh_history ]; then sed -i.bak '/coffee/d' ~/.zsh_history fi history -d $(history 1 | awk '{print $1}') 2>/dev/null
local duration=0
if [[ "$1" == "-m" && -n "$2" ]]; then
duration=$(($2 * 60))
fi
local count=0
while true; do
# shift arrow key down
# osascript -e 'tell application "System Events" to key code 126 using {shift down}'
# F-13
osascript -e 'tell application "System Events" to key code 105'
sleep 30
count=$((count + 30))
if [[ $duration -gt 0 ]]; then
if [[ $count -ge $duration ]]; then
break
fi
fi
# Print elapsed time every 60 seconds
if (( count % 60 == 0 )); then
echo -ne "\r$((count/60)) minutes elapsed\n"
fi
done
}