Initial commit (after fork)
This commit is contained in:
parent
5ebba8a939
commit
5fe3f69a17
111 changed files with 1428 additions and 1611 deletions
|
@ -1,53 +1,45 @@
|
|||
{pkgs, ...}: let
|
||||
ddcmonitorctl = pkgs.writeShellScriptBin "ddcmonitorctl" (builtins.readFile ./scripts/ddcmonitorctl.sh);
|
||||
|
||||
setbg-apotd = pkgs.writeShellScriptBin "setbg-apotd" (builtins.readFile ./scripts/setbg-apotd.sh);
|
||||
setbg-bpotd = pkgs.writeShellScriptBin "setbg-bpotd" (builtins.readFile ./scripts/setbg-bpotd.sh);
|
||||
wall-change = pkgs.writeShellScriptBin "wall-change" (builtins.readFile ./scripts/wall-change.sh);
|
||||
wallpaper-picker = pkgs.writeShellScriptBin "wallpaper-picker" (builtins.readFile ./scripts/wallpaper-picker.sh);
|
||||
|
||||
|
||||
runbg = pkgs.writeShellScriptBin "runbg" (builtins.readFile ./scripts/runbg.sh);
|
||||
music = pkgs.writeShellScriptBin "music" (builtins.readFile ./scripts/music.sh);
|
||||
lofi = pkgs.writeScriptBin "lofi" (builtins.readFile ./scripts/lofi.sh);
|
||||
|
||||
|
||||
toggle_blur = pkgs.writeScriptBin "toggle_blur" (builtins.readFile ./scripts/toggle_blur.sh);
|
||||
toggle_oppacity = pkgs.writeScriptBin "toggle_oppacity" (builtins.readFile ./scripts/toggle_oppacity.sh);
|
||||
|
||||
maxfetch = pkgs.writeScriptBin "maxfetch" (builtins.readFile ./scripts/maxfetch.sh);
|
||||
|
||||
|
||||
compress = pkgs.writeScriptBin "compress" (builtins.readFile ./scripts/compress.sh);
|
||||
extract = pkgs.writeScriptBin "extract" (builtins.readFile ./scripts/extract.sh);
|
||||
|
||||
shutdown-script = pkgs.writeScriptBin "shutdown-script" (builtins.readFile ./scripts/shutdown-script.sh);
|
||||
|
||||
show-keybinds = pkgs.writeScriptBin "show-keybinds" (builtins.readFile ./scripts/keybinds.sh);
|
||||
|
||||
vm-start = pkgs.writeScriptBin "vm-start" (builtins.readFile ./scripts/vm-start.sh);
|
||||
|
||||
ascii = pkgs.writeScriptBin "ascii" (builtins.readFile ./scripts/ascii.sh);
|
||||
|
||||
record = pkgs.writeScriptBin "record" (builtins.readFile ./scripts/record.sh);
|
||||
shutdown-script = pkgs.writeScriptBin "shutdown-script" (builtins.readFile ./scripts/shutdown-script.sh);
|
||||
|
||||
show-keybinds = pkgs.writeScriptBin "show-keybinds" (builtins.readFile ./scripts/keybinds.sh);
|
||||
|
||||
screenshot-menu = pkgs.writeScriptBin "screenshot-menu" (builtins.readFile ./scripts/screenshot-menu.sh);
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
ddcmonitorctl
|
||||
|
||||
setbg-apotd
|
||||
setbg-bpotd
|
||||
wall-change
|
||||
wallpaper-picker
|
||||
|
||||
|
||||
runbg
|
||||
music
|
||||
lofi
|
||||
|
||||
|
||||
toggle_blur
|
||||
toggle_oppacity
|
||||
|
||||
maxfetch
|
||||
|
||||
compress
|
||||
extract
|
||||
|
||||
shutdown-script
|
||||
|
||||
|
||||
show-keybinds
|
||||
|
||||
vm-start
|
||||
|
||||
ascii
|
||||
|
||||
record
|
||||
screenshot-menu
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
RED=$(tput setaf 1)
|
||||
GREEN=$(tput setaf 2)
|
||||
BLUE=$(tput setaf 4)
|
||||
MAGENTA=$(tput setaf 5)
|
||||
CYAN=$(tput setaf 6)
|
||||
NORMAL=$(tput sgr0)
|
||||
|
||||
echo -e "┌─────────────┬─────────────┬─────────────┬─────────────┐"
|
||||
echo -e "│ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │"
|
||||
echo -e "├─────────────┼─────────────┼─────────────┼─────────────┤"
|
||||
echo -e "│ 0 0 \033[2mNUL\033[0m\033[0m │ 32 20 │ 64 40 ${CYAN}@${NORMAL} │ 96 60 ${CYAN}\`${NORMAL} │"
|
||||
echo -e "│ 1 1 \033[2mSOH\033[0m │ 33 21 ${CYAN}!${NORMAL} │ 65 41 ${GREEN}A${NORMAL} │ 97 61 ${GREEN}a${NORMAL} │"
|
||||
echo -e "│ 2 2 \033[2mSTX\033[0m │ 34 22 ${CYAN}\"${NORMAL} │ 66 42 ${GREEN}B${NORMAL} │ 98 62 ${GREEN}b${NORMAL} │"
|
||||
echo -e "│ 3 3 \033[2mETX\033[0m │ 35 23 ${CYAN}#${NORMAL} │ 67 43 ${GREEN}C${NORMAL} │ 99 63 ${GREEN}c${NORMAL} │"
|
||||
echo -e "│ 4 4 \033[2mEOT\033[0m │ 36 24 ${CYAN}\$${NORMAL} │ 68 44 ${GREEN}D${NORMAL} │ 100 64 ${GREEN}d${NORMAL} │"
|
||||
echo -e "│ 5 5 \033[2mENQ\033[0m │ 37 25 ${CYAN}%${NORMAL} │ 69 45 ${GREEN}E${NORMAL} │ 101 65 ${GREEN}e${NORMAL} │"
|
||||
echo -e "│ 6 6 \033[2mACK\033[0m │ 38 26 ${CYAN}&${NORMAL} │ 70 46 ${GREEN}F${NORMAL} │ 102 66 ${GREEN}f${NORMAL} │"
|
||||
echo -e "│ 7 7 \033[2mBEL\033[0m │ 39 27 ${CYAN}'${NORMAL} │ 71 47 ${GREEN}G${NORMAL} │ 103 67 ${GREEN}g${NORMAL} │"
|
||||
echo -e "│ 8 8 \033[2mBS\033[0m │ 40 28 ${CYAN}(${NORMAL} │ 72 48 ${GREEN}H${NORMAL} │ 104 68 ${GREEN}h${NORMAL} │"
|
||||
echo -e "│ 9 9 \033[2mHT\033[0m │ 41 29 ${CYAN})${NORMAL} │ 73 49 ${GREEN}I${NORMAL} │ 105 69 ${GREEN}i${NORMAL} │"
|
||||
echo -e "│ 10 A \033[2mLF\033[0m │ 42 2A ${CYAN}*${NORMAL} │ 74 4A ${GREEN}J${NORMAL} │ 106 6A ${GREEN}j${NORMAL} │"
|
||||
echo -e "│ 11 B \033[2mVT\033[0m │ 43 2B ${CYAN}+${NORMAL} │ 75 4B ${GREEN}K${NORMAL} │ 107 6B ${GREEN}k${NORMAL} │"
|
||||
echo -e "│ 12 C \033[2mFF\033[0m │ 44 2C ${CYAN},${NORMAL} │ 76 4C ${GREEN}L${NORMAL} │ 108 6C ${GREEN}l${NORMAL} │"
|
||||
echo -e "│ 13 D \033[2mCR\033[0m │ 45 2D ${CYAN}-${NORMAL} │ 77 4D ${GREEN}M${NORMAL} │ 109 6D ${GREEN}m${NORMAL} │"
|
||||
echo -e "│ 14 E \033[2mSO\033[0m │ 46 2E ${CYAN}.${NORMAL} │ 78 4E ${GREEN}N${NORMAL} │ 110 6E ${GREEN}n${NORMAL} │"
|
||||
echo -e "│ 15 F \033[2mSI\033[0m │ 47 2F ${CYAN}/${NORMAL} │ 79 4F ${GREEN}O${NORMAL} │ 111 6F ${GREEN}o${NORMAL} │"
|
||||
echo -e "│ 16 10 \033[2mDLE\033[0m │ 48 30 ${RED}0${NORMAL} │ 80 50 ${GREEN}P${NORMAL} │ 112 70 ${GREEN}p${NORMAL} │"
|
||||
echo -e "│ 17 11 \033[2mDC1\033[0m │ 49 31 ${RED}1${NORMAL} │ 81 51 ${GREEN}Q${NORMAL} │ 113 71 ${GREEN}q${NORMAL} │"
|
||||
echo -e "│ 18 12 \033[2mDC2\033[0m │ 50 32 ${RED}2${NORMAL} │ 82 52 ${GREEN}R${NORMAL} │ 114 72 ${GREEN}r${NORMAL} │"
|
||||
echo -e "│ 19 13 \033[2mDC3\033[0m │ 51 33 ${RED}3${NORMAL} │ 83 53 ${GREEN}S${NORMAL} │ 115 73 ${GREEN}s${NORMAL} │"
|
||||
echo -e "│ 20 14 \033[2mDC4\033[0m │ 52 34 ${RED}4${NORMAL} │ 84 54 ${GREEN}T${NORMAL} │ 116 74 ${GREEN}t${NORMAL} │"
|
||||
echo -e "│ 21 15 \033[2mNAK\033[0m │ 53 35 ${RED}5${NORMAL} │ 85 55 ${GREEN}U${NORMAL} │ 117 75 ${GREEN}u${NORMAL} │"
|
||||
echo -e "│ 22 16 \033[2mSYN\033[0m │ 54 36 ${RED}6${NORMAL} │ 86 56 ${GREEN}V${NORMAL} │ 118 76 ${GREEN}v${NORMAL} │"
|
||||
echo -e "│ 23 17 \033[2mETB\033[0m │ 55 37 ${RED}7${NORMAL} │ 87 57 ${GREEN}W${NORMAL} │ 119 77 ${GREEN}w${NORMAL} │"
|
||||
echo -e "│ 24 18 \033[2mCAN\033[0m │ 56 38 ${RED}8${NORMAL} │ 88 58 ${GREEN}X${NORMAL} │ 120 78 ${GREEN}x${NORMAL} │"
|
||||
echo -e "│ 25 19 \033[2mEM\033[0m │ 57 39 ${RED}9${NORMAL} │ 89 59 ${GREEN}Y${NORMAL} │ 121 79 ${GREEN}y${NORMAL} │"
|
||||
echo -e "│ 26 1A \033[2mSUB\033[0m │ 58 3A ${CYAN}:${NORMAL} │ 90 5A ${GREEN}Z${NORMAL} │ 122 7A ${GREEN}z${NORMAL} │"
|
||||
echo -e "│ 27 1B \033[2mESC\033[0m │ 59 3B ${CYAN};${NORMAL} │ 91 5B ${CYAN}[${NORMAL} │ 123 7B ${CYAN}{${NORMAL} │"
|
||||
echo -e "│ 28 1C \033[2mFS\033[0m │ 60 3C ${CYAN}<${NORMAL} │ 92 5C ${CYAN}\\${NORMAL} │ 124 7C ${CYAN}|${NORMAL} │"
|
||||
echo -e "│ 29 1D \033[2mGS\033[0m │ 61 3D ${CYAN}=${NORMAL} │ 93 5D ${CYAN}]${NORMAL} │ 125 7D ${CYAN}}${NORMAL} │"
|
||||
echo -e "│ 30 1E \033[2mRS\033[0m │ 62 3E ${CYAN}>${NORMAL} │ 94 5E ${CYAN}^${NORMAL} │ 126 7E ${CYAN}~${NORMAL} │"
|
||||
echo -e "│ 31 1F \033[2mUS\033[0m │ 63 3F ${CYAN}?${NORMAL} │ 95 5F ${CYAN}_${NORMAL} │ 127 7F \033[2mDEL\033[0m │"
|
||||
echo -e "└─────────────┴─────────────┴─────────────┴─────────────┘"
|
16
modules/home/scripts/scripts/ddcmonitorctl.sh
Executable file
16
modules/home/scripts/scripts/ddcmonitorctl.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$1" == "on" ]; then
|
||||
state_opt=1
|
||||
elif [ "$1" == "off" ]; then
|
||||
state_opt=4
|
||||
else
|
||||
echo "First argument must be either 'on' or 'off'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
monitor_count=$(bash -c "ddcutil detect | grep Display | wc -l")
|
||||
|
||||
seq $monitor_count | xargs -n 1 ddcutil setvcp d6 $state_opt -d
|
|
@ -1,7 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
||||
pkill mpv
|
||||
else
|
||||
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
||||
fi
|
|
@ -1,53 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
unicode=" "
|
||||
version="1.2.0"
|
||||
|
||||
_black=$(tput setaf 0)
|
||||
red=$(tput setaf 1)
|
||||
green=$(tput setaf 2)
|
||||
yellow=$(tput setaf 3)
|
||||
blue=$(tput setaf 4)
|
||||
magenta=$(tput setaf 5)
|
||||
cyan=$(tput setaf 6)
|
||||
_white=$(tput setaf 7)
|
||||
_bright=$(tput bold)
|
||||
normal=$(tput sgr0)
|
||||
_underline=$(tput smul)
|
||||
|
||||
up=$(uptime | awk -F'( |,|:)+' '{
|
||||
d=h=m=0;
|
||||
if ($7=="min")
|
||||
m=$6;
|
||||
else {
|
||||
if ($7~/^day/) { d=$6; h=$8; m=$9}
|
||||
else {h=$6;m=$7}
|
||||
}
|
||||
}
|
||||
{ print h+0,"h",m+0,"m" }
|
||||
')
|
||||
up=$(sed -e "s/ h/h/g" <<< ${up})
|
||||
up=$(sed -e "s/ m/m/g" <<< ${up})
|
||||
|
||||
pkgs=$(nix-store --query --requisites /run/current-system | wc -l)
|
||||
|
||||
fetch() {
|
||||
echo "${cyan}$(tput bold) _ ___ ____ ____ ${normal}$(tput sgr0)"
|
||||
echo "${cyan}$(tput bold) / |/ (_)_ __/ __ \/ __/ ${normal}$(tput sgr0)"
|
||||
echo "${cyan}$(tput bold) / / /\ \ / /_/ /\ \ ${normal}$(tput sgr0)"
|
||||
echo "${cyan}$(tput bold) /_/|_/_//_\_"'\\'"____/___/ ${normal}$(tput sgr0)"
|
||||
echo ""
|
||||
echo " ╭─────────────╮ "
|
||||
echo " │ ${red} ${normal} user │ ${red}$(whoami)${normal}"
|
||||
echo " │ ${yellow} ${normal} distro │ ${yellow}$(sed -nE "s@PRETTY_NAME=\"([^\"]*)\"@\1@p" /etc/os-release)${normal} "
|
||||
echo " │ ${green} ${normal} kernel │ ${green}$(uname -r)${normal} "
|
||||
echo " │ ${cyan} ${normal} de/wm │ ${cyan}$XDG_CURRENT_DESKTOP${normal} "
|
||||
echo " │ ${blue} ${normal} uptime │ ${blue}${up}${normal} "
|
||||
echo " │ ${magenta} ${normal} shell │ ${magenta}$(echo ${SHELL##*/})${normal} "
|
||||
echo " │ ${red} ${normal} pkgs │ ${red}${pkgs}${normal} "
|
||||
echo " ├─────────────┤ "
|
||||
echo " │ ${_white} ${normal}colors │${_white}$unicode${normal}${red}$unicode${normal}${yellow}$unicode${normal}${green}$unicode${normal}${cyan}$unicode${normal}${blue}$unicode${normal}${magenta}$unicode${normal}${_black}$unicode${normal}"
|
||||
echo " ╰─────────────╯ "
|
||||
}
|
||||
|
||||
fetch && exit 0
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
||||
pkill audacious
|
||||
else
|
||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t"
|
||||
sleep 0.5
|
||||
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
||||
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
||||
fi
|
|
@ -1,125 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
TMP_FILE_UNOPTIMIZED="/tmp/recording_unoptimized.gif"
|
||||
TMP_PALETTE_FILE="/tmp/palette.png"
|
||||
TMP_MP4_FILE="/tmp/recording.mp4"
|
||||
TMP_GIF_RESULT="/tmp/gif_result"
|
||||
APP_NAME="Recorder"
|
||||
|
||||
OUT_DIR="$HOME/Videos"
|
||||
filename=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||
FILENAME="$OUT_DIR/$filename."
|
||||
|
||||
if [ ! -d "$OUT_DIR" ]; then
|
||||
mkdir -p "$OUT_DIR"
|
||||
fi
|
||||
|
||||
is_recorder_running() {
|
||||
pgrep -x wf-recorder >/dev/null
|
||||
}
|
||||
|
||||
convert_to_gif() {
|
||||
ffmpeg -i "$TMP_MP4_FILE" -filter_complex "[0:v] palettegen" "$TMP_PALETTE_FILE"
|
||||
ffmpeg -i "$TMP_MP4_FILE" -i "$TMP_PALETTE_FILE" -filter_complex "[0:v] fps=10,scale=1400:-1,setpts=0.5*PTS [new];[new][1:v] paletteuse" "$TMP_FILE_UNOPTIMIZED"
|
||||
if [ -f "$TMP_PALETTE_FILE" ]; then
|
||||
rm "$TMP_PALETTE_FILE"
|
||||
fi
|
||||
if [ -f "$TMP_MP4_FILE" ]; then
|
||||
rm "$TMP_MP4_FILE"
|
||||
fi
|
||||
gifsicle -O3 --lossy=100 -i "$TMP_FILE_UNOPTIMIZED" -o "$TMP_GIF_RESULT"
|
||||
if [ -f "$TMP_FILE_UNOPTIMIZED" ]; then
|
||||
rm "$TMP_FILE_UNOPTIMIZED"
|
||||
fi
|
||||
}
|
||||
|
||||
notify() {
|
||||
notify-send -a "$APP_NAME" "$1" "$2" -t 5000
|
||||
}
|
||||
|
||||
screen() {
|
||||
notify "Starting Recording" "Your screen is being recorded"
|
||||
timeout 600 wf-recorder -F format=rgb24 -x rgb24 -p qp=0 -p crf=0 -p preset=slow -c libx264rgb -f "$TMP_MP4_FILE"
|
||||
}
|
||||
|
||||
area() {
|
||||
GEOMETRY=$(slurp)
|
||||
if [[ ! -z "$GEOMETRY" ]]; then
|
||||
notify "Starting Recording" "Your screen is being recorded"
|
||||
timeout 600 wf-recorder -F format=rgb24 -x rgb24 -p qp=0 -p crf=0 -p preset=slow -c libx264rgb -g "$GEOMETRY" -f "$TMP_MP4_FILE"
|
||||
fi
|
||||
}
|
||||
|
||||
gif() {
|
||||
touch /tmp/recording_gif
|
||||
area
|
||||
}
|
||||
|
||||
stop() {
|
||||
if is_recorder_running; then
|
||||
kill $(pgrep -x wf-recorder)
|
||||
|
||||
if [[ -f /tmp/recording_gif ]] then
|
||||
notify "Stopped Recording" "Starting GIF conversion phase..."
|
||||
FILENAME+="gif"
|
||||
convert_to_gif
|
||||
SavePath=$( zenity --file-selection --save --file-filter=*.gif --filename="$OUT_DIR"'/.gif' )
|
||||
if [ "$SavePath" == "" ]; then
|
||||
SavePath="$FILENAME"
|
||||
fi
|
||||
[[ $SavePath =~ \.gif$ ]] || SavePath+='.gif'
|
||||
mv $TMP_GIF_RESULT $SavePath
|
||||
wl-copy -t image/png < $SavePath
|
||||
notify "GIF conversion completed" "GIF saved to $SavePath"
|
||||
else
|
||||
FILENAME+="mp4"
|
||||
SavePath=$( zenity --file-selection --save --file-filter=*.mp4 --filename="$OUT_DIR"'/.mp4' )
|
||||
if [ "$SavePath" == "" ]; then
|
||||
SavePath="$FILENAME"
|
||||
fi
|
||||
[[ $SavePath =~ \.mp4$ ]] || SavePath+='.mp4'
|
||||
mv $TMP_MP4_FILE $SavePath
|
||||
wl-copy -t video/mp4 < $SavePath
|
||||
notify "Stopped Recording" "Video saved to $SavePath"
|
||||
fi
|
||||
|
||||
[[ -f $TMP_FILE_UNOPTIMIZED ]] && rm -f "$TMP_FILE_UNOPTIMIZED"
|
||||
[[ -f $TMP_PALETTE_FILE ]] && rm -f "$TMP_PALETTE_FILE"
|
||||
[[ -f $TMP_GIF_RESULT ]] && rm -f "$TMP_GIF_RESULT"
|
||||
[[ -f $TMP_MP4_FILE ]] && rm -f "$TMP_MP4_FILE"
|
||||
[[ -f /tmp/recording_gif ]] && rm -f /tmp/recording_gif
|
||||
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
if is_recorder_running; then
|
||||
stop
|
||||
fi
|
||||
|
||||
if [ "$1" != "stop" ]; then
|
||||
[[ -f $TMP_FILE_UNOPTIMIZED ]] && rm -f "$TMP_FILE_UNOPTIMIZED"
|
||||
[[ -f $TMP_PALETTE_FILE ]] && rm -f "$TMP_PALETTE_FILE"
|
||||
[[ -f $TMP_GIF_RESULT ]] && rm -f "$TMP_GIF_RESULT"
|
||||
[[ -f $TMP_MP4_FILE ]] && rm -f "$TMP_MP4_FILE"
|
||||
[[ -f /tmp/recording_gif ]] && rm -f /tmp/recording_gif
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
screen)
|
||||
screen
|
||||
;;
|
||||
area)
|
||||
area
|
||||
;;
|
||||
gif)
|
||||
gif
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {screen|area|gif|stop}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
124
modules/home/scripts/scripts/screenshot-menu.sh
Executable file
124
modules/home/scripts/scripts/screenshot-menu.sh
Executable file
|
@ -0,0 +1,124 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
#### Options
|
||||
|
||||
option_1=" Capture"
|
||||
option_2=" Timer capture"
|
||||
|
||||
option_capture_1=" All Screen"
|
||||
option_capture_2=" Capture Active Screen"
|
||||
option_capture_3=" Capture Area/Window/Application"
|
||||
|
||||
option_time_1="5s"
|
||||
option_time_2="10s"
|
||||
option_time_3="20s"
|
||||
option_time_4="30s"
|
||||
option_time_5="60s"
|
||||
|
||||
####
|
||||
|
||||
|
||||
#### Initial menu to decide wether a timer is wanted
|
||||
|
||||
want_timer_cmd() {
|
||||
echo -e "$option_1\n$option_2" | fuzzel --dmenu -p 'Screenshot'
|
||||
}
|
||||
|
||||
####
|
||||
|
||||
|
||||
#### Choose Timer seconds
|
||||
|
||||
timer_cmd() {
|
||||
echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | fuzzel --dmenu -p 'Choose timer:'
|
||||
}
|
||||
|
||||
timer_menu() {
|
||||
selected_timer="$(timer_cmd)"
|
||||
if [[ "$selected_timer" == "$option_time_1" ]]; then
|
||||
countdown=5
|
||||
${1}
|
||||
elif [[ "$selected_timer" == "$option_time_2" ]]; then
|
||||
countdown=10
|
||||
${1}
|
||||
elif [[ "$selected_timer" == "$option_time_3" ]]; then
|
||||
countdown=20
|
||||
${1}
|
||||
elif [[ "$selected_timer" == "$option_time_4" ]]; then
|
||||
countdown=30
|
||||
${1}
|
||||
elif [[ "$selected_timer" == "$option_time_5" ]]; then
|
||||
countdown=60
|
||||
${1}
|
||||
fi
|
||||
}
|
||||
|
||||
####
|
||||
|
||||
|
||||
#### Chose Screenshot Type
|
||||
|
||||
type_screenshot_cmd() {
|
||||
echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | fuzzel --dmenu -p 'Type Of Screenshot:'
|
||||
}
|
||||
|
||||
type_screenshot_menu() {
|
||||
selected_type_screenshot="$(type_screenshot_cmd)"
|
||||
if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then
|
||||
option_type_screenshot=screen
|
||||
${1}
|
||||
elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then
|
||||
option_type_screenshot=output
|
||||
${1}
|
||||
elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then
|
||||
option_type_screenshot=area
|
||||
${1}
|
||||
fi
|
||||
}
|
||||
|
||||
####
|
||||
|
||||
|
||||
### Run the timer
|
||||
|
||||
timer() {
|
||||
# Countdown notifications must start at 10 seconds so they aren't annoying
|
||||
if [[ $countdown -gt 10 ]]; then
|
||||
notify-send -t 1000 "Taking Screenshot in ${countdown} seconds"
|
||||
sleep $((countdown - 10))
|
||||
countdown=10
|
||||
fi
|
||||
while [[ $countdown -ne 0 ]]; do
|
||||
notify-send -t 900 "Taking Screenshot in ${countdown}"
|
||||
countdown=$((countdown - 1))
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
####
|
||||
|
||||
|
||||
#### Main logic
|
||||
|
||||
chosen="$(want_timer_cmd)"
|
||||
if [ -z "$chosen" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
type_screenshot_menu
|
||||
if [ -z "$selected_type_screenshot" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ $option_2 == *$chosen* ]]; then
|
||||
timer_menu
|
||||
if [ -z "$selected_timer" ]; then
|
||||
exit
|
||||
fi
|
||||
timer
|
||||
else
|
||||
sleep 0.7 # So fuzzel has time to fade-out
|
||||
fi
|
||||
GRIMBLAST_EDITOR="swappy -f " grimblast --notify edit "$option_type_screenshot"
|
||||
|
||||
####
|
37
modules/home/scripts/scripts/setbg-apotd.sh
Executable file
37
modules/home/scripts/scripts/setbg-apotd.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## Based on https://github.com/sgsax/apod-desktop/blob/master/apod
|
||||
|
||||
|
||||
# base URL for the APOD website
|
||||
BASE_URL=https://apod.nasa.gov/apod/
|
||||
|
||||
# API endpoint which returns the Picture Of The Day data
|
||||
PAGE_URL="$BASE_URL/astropix.html"
|
||||
|
||||
IMG_FILE=/tmp/apotd.jpg
|
||||
|
||||
|
||||
echo Getting APOD page...
|
||||
page_data=`curl -s $PAGE_URL`
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Unable to retrieve page";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# extract the image url from the astropix page
|
||||
echo Getting image url...
|
||||
imgurl=`echo "$page_data" | grep -i "img src" | sed -e 's/.*<img src="\(.*\)".*/\1/i'`
|
||||
echo Image url is $imgurl
|
||||
|
||||
# get that image file
|
||||
echo Getting image at ${BASE_URL}${imgurl}
|
||||
curl ${BASE_URL}${imgurl} -o $IMG_FILE
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Unable to retrieve image"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
#set wallpaper using swaybg
|
||||
wall-change "$IMG_FILE"
|
34
modules/home/scripts/scripts/setbg-bpotd.sh
Executable file
34
modules/home/scripts/scripts/setbg-bpotd.sh
Executable file
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# base URL for Bing
|
||||
BASE_URL=https://bing.com
|
||||
|
||||
# API endpoint which returns the Picture Of The Day data
|
||||
ENDPOINT="$BASE_URL/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US"
|
||||
|
||||
IMG_FILE=/tmp/bpotd.jpg
|
||||
|
||||
|
||||
echo Querying the API...
|
||||
api_data=`curl $ENDPOINT`
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Unable to contact the API";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# extract the image url from the astropix page
|
||||
echo Getting image url...
|
||||
imgurl=`echo $api_data | jq -r .images[0].url`
|
||||
echo Image url is $imgurl
|
||||
|
||||
# get that image file
|
||||
echo Getting image at ${BASE_URL}${imgurl}
|
||||
curl ${BASE_URL}${imgurl} -o $IMG_FILE
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Unable to retrieve image"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
#set wallpaper using swaybg
|
||||
wall-change "$IMG_FILE"
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
# VM name
|
||||
vm_name="win10"
|
||||
export LIBVIRT_DEFAULT_URI="qemu:///system"
|
||||
|
||||
# change workspace
|
||||
hyprctl dispatch workspace 6
|
||||
|
||||
virsh start ${vm_name}
|
||||
virt-viewer -f -w -a ${vm_name}
|
2
modules/home/scripts/scripts/wall-change.sh
Executable file → Normal file
2
modules/home/scripts/scripts/wall-change.sh
Executable file → Normal file
|
@ -7,3 +7,5 @@ swaybg -m fill -i $1 &
|
|||
if [ -n "$PIDS" ]; then
|
||||
echo "$PIDS" | xargs kill
|
||||
fi
|
||||
|
||||
magick $1 ~/.config/hypr/wallpaper.png
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
wallpaper_path=$HOME/Pictures/wallpapers
|
||||
wallpapers_folder=$HOME/Pictures/wallpapers/others
|
||||
wallpaper_name="$(ls $wallpapers_folder | fuzzel --dmenu)"
|
||||
if [[ -f $wallpapers_folder/$wallpaper_name ]]; then
|
||||
find ~/Pictures/wallpapers -maxdepth 1 -type f -delete
|
||||
cp $wallpapers_folder/$wallpaper_name $wallpaper_path/$wallpaper_name
|
||||
wall-change $wallpaper_path/$wallpaper_name
|
||||
bpotd_entry="⚙️ Bing's Picture Of The Day"
|
||||
apotd_entry="⚙️ NASA's Astronomy Picture Of The Day"
|
||||
wallpapers_folder=$HOME/Pictures/Wallpapers/
|
||||
|
||||
wallpaper_name=`echo -e "$bpotd_entry\n$apotd_entry" | { cat; find $wallpapers_folder -type f | sed "s|$wallpapers_folder||"; } | fuzzel --dmenu`
|
||||
if [ "$wallpaper_name" == "$bpotd_entry" ]; then
|
||||
setbg-bpotd
|
||||
elif [ "$wallpaper_name" == "$apotd_entry" ]; then
|
||||
setbg-apotd
|
||||
elif [[ -f $wallpapers_folder/$wallpaper_name ]]; then
|
||||
wall-change $wallpapers_folder/$wallpaper_name
|
||||
else
|
||||
exit 1
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue