#!/bin/sh catclip () { if [ -n "$WAYLAND_DISPLAY" ]; then cat $@ | wl-copy elif [ -n "$DISPLAY" ]; then cat $@ | xclip -selection clipboard fi } catpass () { PASSWD=$(cat ~/pass.txt); echo "$PASSWD\n$PASSWD" | pass insert "$1"; unset PASSWD } mpt () { for i in $@; do echo "" > $i done } mkcd () { mkdir -p $@ && cd $1 } ntharg () { shift $1 printf '%s\n' "$1" } mvcd () { mv $@ && cd `ntharg $# "$@"` } if [[ "$SHELL" =~ .*zsh$ ]]; then zshaddhistory () { emulate -L zsh if [[ $1 != *"veracrypt"* ]]; then print -sr -- "${1%%$'\n'}" fc -p else return 1 fi } fi scd () { if [ "$1" = "" ]; then cd $HOME else case "$1" in "-h") # STARTPRINT echo "scd - a script to change directories based on shortcuts. E. - /etc O. - /opt Oa - /opt/Audio Assault R - / U. - /usr Us - /usr/share V. - /var aw - $XDG_CONFIG_HOME/awesome b. - $HOME/.local/bin bb - $HOME/.local/bin/blocks bf - $HOME/.local/bin/slatpak-sc bg - $HOME/.local/bin/generics bi - $HOME/.local/bin/ignore bsc - $HOME/.local/bin/scripts bsh - $HOME/.local/bin/shortcmds bsp - $HOME/.local/bin/sp c - $XDG_CONFIG_HOME db - $SRCDIR/dwmbar dc - $XDG_DOCUMENTS_DIR dl - $SRCDIR/dwl dm - $SRCDIR/dmenu do - $XDG_DOWNLOAD_DIR dp - $XDG_DOWNLOAD_DIR/plugin/zachir_librem.one dw - $XDG_DOWNLOAD_DIR/wine e - $XDG_DESKTOP_DIR f - $HOME/.var/app h - $XDG_CONFIG_HOME/hypr lb - $HOME/.local/bin lc - $HOME/Games/cache lf - $XDG_CONFIG_HOME/lf ls - $XDG_DATA_HOME n3 - $HOME/.vst3/native ns - $HOME/.vst/native nv - $XDG_CONFIG_HOME/nvim p - $XDG_PICTURES_DIR qb - $XDG_CONFIG_HOME/qutebrowser qp - $XDG_DATA_HOME/qutebrowser-profiles re - $SRCDIR rs - /etc/runit/sv sc - $HOME/.local/bin/scripts sh - $XDG_CONFIG_HOME/sh sl - $SRCDIR/slock ss - /etc/s6/sv st - $SRCDIR/st sx - $XDG_CONFIG_HOME/sxhkd tr - $XDG_DATA_HOME/Trash/files urs - $HOME/.runit/sv v3. - $HOME/.vst3 v3n - $HOME/.vst3/native v3y - $HOME/.vst3/yabridge v. - $HOME/var vi - $XDG_VIDEOS_DIR vsn - $HOME/.vst/native vs. - $HOME/.vst vsy - $HOME/.vst/yabridge vw\t- $XDG_DATA_HOME/vimwiki wdo - $WINEPREFIX/drive_c/users/zachir/Downloads wa - $SRCDIR/wallpapers wd - $WINEPREFIX wr - $WINEROOT wv3 - $HOME/.winvst3 wvs - $HOME/.winvst ww - $WINEROOT/work x - $XDG_CONFIG_HOME/X11 y3 - $HOME/.vst3/yabridge yb - $XDG_CACHE_HOME/yay yc - $XDG_CONFIG_HOME/yay zs - $XDG_CONFIG_HOME/zsh zx - $XDG_DOCUMENTS_DIR/zachir.xyz " ;; # STOPPRINT # STARTPATHS "E.") cd "/etc" ;; "O.") cd "/opt" ;; "Oa") cd "/opt/Audio Assault" ;; "R") cd "/" ;; "U.") cd "/usr" ;; "Us") cd "/usr/share" ;; "V.") cd "/var" ;; "aw") cd "$XDG_CONFIG_HOME/awesome" ;; "b.") cd "$HOME/.local/bin" ;; "bb") cd "$HOME/.local/bin/blocks" ;; "bf") cd "$HOME/.local/bin/slatpak-sc" ;; "bg") cd "$HOME/.local/bin/generics" ;; "bi") cd "$HOME/.local/bin/ignore" ;; "bsc") cd "$HOME/.local/bin/scripts" ;; "bsh") cd "$HOME/.local/bin/shortcmds" ;; "bsp") cd "$HOME/.local/bin/sp" ;; "c") cd "$XDG_CONFIG_HOME" ;; "db") cd "$SRCDIR/dwmbar" ;; "dc") cd "$XDG_DOCUMENTS_DIR" ;; "dl") cd "$SRCDIR/dwl" ;; "dm") cd "$SRCDIR/dmenu" ;; "do") cd "$XDG_DOWNLOAD_DIR" ;; "dp") cd "$XDG_DOWNLOAD_DIR/plugin/zachir_librem.one" ;; "dw") cd "$XDG_DOWNLOAD_DIR/wine" ;; "e") cd "$XDG_DESKTOP_DIR" ;; "f") cd "$HOME/.var/app" ;; "h") cd "$XDG_CONFIG_HOME/hypr" ;; "lb") cd "$HOME/.local/bin" ;; "lc") cd "$HOME/Games/cache" ;; "lf") cd "$XDG_CONFIG_HOME/lf" ;; "ls") cd "$XDG_DATA_HOME" ;; "n3") cd "$HOME/.vst3/native" ;; "ns") cd "$HOME/.vst/native" ;; "nv") cd "$XDG_CONFIG_HOME/nvim" ;; "p") cd "$XDG_PICTURES_DIR" ;; "qb") cd "$XDG_CONFIG_HOME/qutebrowser" ;; "qp") cd "$XDG_DATA_HOME/qutebrowser-profiles" ;; "re") cd "$SRCDIR" ;; "rs") cd "/etc/runit/sv" ;; "sc") cd "$HOME/.local/bin/scripts" ;; "sh") cd "$XDG_CONFIG_HOME/sh" ;; "sl") cd "$SRCDIR/slock" ;; "ss") cd "/etc/s6/sv" ;; "st") cd "$SRCDIR/st" ;; "sx") cd "$XDG_CONFIG_HOME/sxhkd" ;; "tr") cd "$XDG_DATA_HOME/Trash/files" ;; "urs") cd "$HOME/.runit/sv" ;; "v3.") cd "$HOME/.vst3" ;; "v3n") cd "$HOME/.vst3/native" ;; "v3y") cd "$HOME/.vst3/yabridge" ;; "v.") cd "$HOME/var" ;; "vi") cd "$XDG_VIDEOS_DIR" ;; "vsn") cd "$HOME/.vst/native" ;; "vs.") cd "$HOME/.vst" ;; "vsy") cd "$HOME/.vst/yabridge" ;; "vw") cd "$XDG_DATA_HOME/vimwiki" ;; "wdo") cd "$WINEPREFIX/drive_c/users/$USER/Downloads" ;; "wa") cd "$SRCDIR/wallpapers" ;; "wd") cd "$WINEPREFIX" ;; "wr") cd "$WINEROOT" ;; "wv3") cd "$HOME/.winvst3" ;; "wvs") cd "$HOME/.winvst" ;; "ww") cd "$WINEROOT/work" ;; "x") cd "$XDG_CONFIG_HOME/X11" ;; "y3") cd "$HOME/.vst3/yabridge" ;; "yb") cd "$XDG_CACHE_HOME/yay" ;; "yc") cd "$XDG_CONFIG_HOME/yay" ;; "zs") cd "$XDG_CONFIG_HOME/zsh" ;; "zx") cd "$XDG_DOCUMENTS_DIR/zachir.xyz" ;; # STOPPATHS *) echo "\"$1\" is not a known location" ;; esac fi }