diff options
-rwxr-xr-x | bin/bother | 23 | ||||
-rwxr-xr-x | bin/comm-sel | 13 | ||||
-rwxr-xr-x | bin/fcard | 45 | ||||
-rwxr-xr-x | bin/fl | 30 | ||||
-rw-r--r-- | bin/flc | 4 | ||||
-rwxr-xr-x | bin/kbsetup | 2 | ||||
-rwxr-xr-x | bin/lh | 19 | ||||
-rwxr-xr-x | bin/metamv | 8 | ||||
-rwxr-xr-x | bin/notif | 17 | ||||
-rwxr-xr-x | bin/op | 2 | ||||
-rwxr-xr-x | bin/smv | 10 | ||||
-rwxr-xr-x | bin/xbg | 2 | ||||
-rwxr-xr-x | bin/yw | 4 | ||||
-rw-r--r-- | config/betteresc | 2 | ||||
-rw-r--r-- | config/mpd/mpd.conf | 9 | ||||
-rw-r--r-- | config/vis/themes/causalagency.lua | 63 | ||||
-rw-r--r-- | config/vis/visrc.lua | 16 | ||||
-rw-r--r-- | config/youtube-dl/config | 9 | ||||
-rw-r--r-- | config/youtube-dl/config-music | 6 | ||||
-rw-r--r-- | etc/X11/xprofile (renamed from config/X11/xprofile) | 18 | ||||
-rw-r--r-- | etc/X11/xresources (renamed from config/X11/xresources) | 19 | ||||
-rw-r--r-- | etc/aliasrc (renamed from config/aliasrc) | 19 | ||||
-rwxr-xr-x | etc/color/colors.sh (renamed from config/color/colors.sh) | 0 | ||||
-rw-r--r-- | etc/ksh/completions.ksh (renamed from config/ksh/completions.ksh) | 14 | ||||
-rw-r--r-- | etc/ksh/diraliases (renamed from config/ksh/diraliases) | 6 | ||||
-rw-r--r-- | etc/ksh/functions/l. (renamed from config/ksh/functions/l.) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/man_complete (renamed from config/ksh/functions/man_complete) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/mc (renamed from config/ksh/functions/mc) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/mpvpin (renamed from config/ksh/functions/mpvpin) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/pcl (renamed from config/ksh/functions/pcl) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/pct (renamed from config/ksh/functions/pct) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/pkg_complete (renamed from config/ksh/functions/pkg_complete) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/update_completion_manpages (renamed from config/ksh/functions/update_completion_manpages) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/update_completion_packages_obsd (renamed from config/ksh/functions/update_completion_packages_obsd) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/update_completion_pkg_inst_obsd (renamed from config/ksh/functions/update_completion_pkg_inst_obsd) | 0 | ||||
-rw-r--r-- | etc/ksh/functions/update_completions (renamed from config/ksh/functions/update_completions) | 0 | ||||
-rw-r--r-- | etc/ksh/kshrc (renamed from config/ksh/kshrc) | 24 | ||||
-rw-r--r-- | etc/ksh/prompt.ksh (renamed from config/ksh/prompt.ksh) | 2 | ||||
-rw-r--r-- | etc/lf/lfrc (renamed from config/lf/lfrc) | 8 | ||||
-rw-r--r-- | etc/mpd/mpd.conf | 18 | ||||
-rw-r--r-- | etc/ncmpcpp/bindings (renamed from config/ncmpcpp/bindings) | 0 | ||||
-rw-r--r-- | etc/ncmpcpp/config (renamed from config/ncmpcpp/config) | 4 | ||||
-rw-r--r-- | etc/newsboat/config (renamed from config/newsboat/config) | 8 | ||||
-rw-r--r-- | etc/shrc (renamed from config/shrc) | 18 | ||||
-rw-r--r-- | etc/user-dirs.dirs (renamed from config/user-dirs.dirs) | 0 | ||||
-rw-r--r-- | etc/yt-dlp/config | 16 | ||||
-rw-r--r-- | etc/yt-dlp/config-music | 7 | ||||
-rw-r--r-- | etc/zathura/zathurarc (renamed from config/zathura/zathurarc) | 2 | ||||
-rw-r--r-- | share/mailcap (renamed from data/mailcap) | 0 | ||||
-rw-r--r-- | share/man/man7/user-hier.7 (renamed from data/man/man7/user-hier.7) | 0 |
50 files changed, 232 insertions, 235 deletions
diff --git a/bin/bother b/bin/bother index d3f5be9..be6de1c 100755 --- a/bin/bother +++ b/bin/bother @@ -1,24 +1,27 @@ #!/bin/sh # puts up a critical notification if $HOME/today exists, containing the contents of that file. if [ -z "$XFILE" ]; then -if [ -f $HOME/.xsession ]; then - XFILE=$HOME/.xsession -elif [ -f $HOME/.xinitrc ]; then - XFILE=$HOME/.xinitrc +if [ -f "$HOME"/.xsession ]; then + XFILE="$HOME"/.xsession +elif [ -f "$HOME"/.xinitrc ]; then + XFILE="$HOME"/.xinitrc fi fi -if grep -q "dwm" $XFILE; then +if grep -q "dwm" "$XFILE"; then WM=dwm -elif grep -q 'exec' $XFILE; then - WM=$(grep 'exec' $XFILE|cut -f 2 -d ' ' -) +elif grep -q 'exec' "$XFILE"; then + WM=$(grep 'exec' "$XFILE"|cut -f 2 -d ' ') +elif grep -q wm "$XFILE"; then + WM=$(grep wm "$XFILE"|cut -f 2 -d ' ') else - WM=$(tail -1 $XFILE) + WM=$(tail -1 "$XFILE") fi if [ -f "$HOME"/today ]; then - until pgrep $WM>/dev/null + until pgrep "$WM">/dev/null do : done sleep 0.5 - notif "DO TODAY:" "$(tr '\n' '\t'<"$HOME"/today)" + notif -s 0 "DO TODAY:" "$(tr '\n' '\t'<"$HOME"/today)" +# notify-send -t 0 "DO TODAY:" "$(cat<"$HOME"/today)" fi diff --git a/bin/comm-sel b/bin/comm-sel index 3dc1527..70c2e77 100755 --- a/bin/comm-sel +++ b/bin/comm-sel @@ -6,8 +6,11 @@ case "$TERMINAL" in urxvt) CLASS='-name';; alacritty|kitty) CLASS='--class';; esac -case "$(dmenu_path|grep -E "catgirl$|scli$"|dmenu -p "choose chat app:")" in - catgirl) catgirl-open.sh &;; - scli) $TERMINAL $CLASS comm -e scli&;; - *) return;; -esac +while + case "$(dmenu_path|(grep -E 'catgirl$|profanity$';printf 'exit\n')|dmenu -p 'choose chat app:')" in + catgirl) catgirl-open.sh &;; + profanity) "$TERMINAL" "$CLASS" comm -e profanity&;; + *) return 1;; + esac +do : +done diff --git a/bin/fcard b/bin/fcard new file mode 100755 index 0000000..e4a851d --- /dev/null +++ b/bin/fcard @@ -0,0 +1,45 @@ +#!/bin/sh +# flash card substitute +# usage: fcard dict.tsv section +# the -z code is extremely wip, don't use it + +while getopts z: opt +do + case $opt in + z) RAND="|grabbag" ;; + ?) printf '%s\n' "idiot" 1>&2 && exit 2 ;; + esac +done +shift $((OPTIND - 1)) + +rand() { + tr -cd '[:digit:]'</dev/urandom|fold -w 4|head -1 +} +grabbag() { +# digit urandom % number applicable lines + size="$(wc -l)" + oldlist="$(cat)" + newlist="" + a=0 + while a="$size"; do + z="$(($(rand)%a))" + newlist="$(cut -d ' ' -f "$z"<<EOF +$oldlist +EOF +) " + oldlist="$(cut -d ' ' -f "-$((z-1)),$((z+1))-" <<EOF +$oldlist +EOF +)" +# add z to space-delim'd list +# remove from input list + a=$((a-1)) + done + printf '%s\n' "$newlist" +} +for num in $(eval 'grep -n "${2:-.}"\$ "$1"|cut -d : -f 1'"$RAND"); do + sed -n "$num"P "$1" | cut -f 1 | tr '\n' '\t' + read -r _ + sed -n "$num"P "$1" | cut -f 2 | sed '/^$/D' + printf '\n' +done diff --git a/bin/fl b/bin/fl index bd98a63..cc8924a 100755 --- a/bin/fl +++ b/bin/fl @@ -5,28 +5,34 @@ # from pure-sh-bible, strips from the start of a string lstrip() { - printf '%s\n' "${1##$2}" + printf '%s\n' "${1##"$2"}" } -# put url-finding regex in a variable so no lines go over 80 chars -re_urls='((https?://|www\.)[[:alnum:].]*:?[[:alnum:]./@$&%?$#=_-]*)' +# url-finding regex +re_urls='(((https?|aesgcm)://|www\.)[[:alnum:].]*:?[[:alnum:]./@$&%?$#=_-]*)' # finds links, puts them in a list # sort -u prevents duplicates, but also sorts the links urlparse() { - lstrip "$(cat)" "*\│" | + input="$(if [ -n "$1" ]; then printf '%s\n' "$*"; else cat; fi)" + lstrip "$input" "*\│" | grep -Eo "$re_urls" | sort -u | sed 's|^www.|http://www\.|g' } -if [ -n "$1" ]; then - urls=$(echo "$@"|urlparse) -else - urls=$(urlparse) -fi + +set -- $(urlparse "$@") # wipe IFS so dmenu handles being sent the links properly IFS= -# send any found links to dmenu so one can be chosen to be sent to the clipboard -[ -n "$urls" ] && - echo $urls | dmenu -i -p 'copy which url?' -l 10 | xclip -r -sel c \ No newline at end of file +# send any found links to select so one can be chosen to be sent to the clipboard +#select url; +#do +# printf '%s' "$url" +#done +for url; do + printf '%s\n' "$url" +done + +#[ -n "$urls" ] && +# echo $urls | dmenu -i -p 'copy which url?' -l 10 | xclip -r -sel c diff --git a/bin/flc b/bin/flc new file mode 100644 index 0000000..718d3ef --- /dev/null +++ b/bin/flc @@ -0,0 +1,4 @@ +#!/bin/sh +fl "$@"| +dmenu -i -p 'copy which url?' -l 10| +xsel -ib diff --git a/bin/kbsetup b/bin/kbsetup index df100ff..5dcbfdb 100755 --- a/bin/kbsetup +++ b/bin/kbsetup @@ -1,6 +1,4 @@ #!/bin/sh setxkbmap -option caps:shift -layout us -variant dvp -xmodmap $HOME_ETC/betteresc -xcape -e 'Hyper_L=Escape' xcape -e 'Control_L=Control_L|b' xset r rate 300 50 diff --git a/bin/lh b/bin/lh index 71bc747..07be403 100755 --- a/bin/lh +++ b/bin/lh @@ -53,27 +53,28 @@ findredir() { while [ $# -ne 0 ] do # handle redirects. tr removes control characters, so the case statement below works as expected. -URL=$(echo "$1"|findredir|tail -1|tr -d '[:cntrl:]') +URL="$(echo "$1"|findredir|tail -1|tr -d '[:cntrl:]')" # if there were no redirects, just set URL to the first argument [ -z "$URL" ] && URL="$1" case "$URL" in gemini://*|gopher://*) - $TERMINAL -e bombadillo "$URL" ;; + "$TERMINAL" -e bombadillo "$URL" ;; *.mov*|*.mkv*|*.webm*|*.mp4*) mpv --no-terminal "$URL" & ;; - *invidio.us/watch*|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*twitch.tv/videos/*|*twitch.tv/*/v/*) - mpv --no-terminal --ytdl "$URL" & ;; + *invidio.us/watch*|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*bitchute.com*|*twitch.tv/videos/*|*twitch.tv/*/v/*|*clips.twitch.tv*|*streamable.com*) + yw "$URL" & ;; *twitch.tv/*) STREAMQUAL="$(split "$(streamlink "$URL"|grep 'Available streams')" ", "|\ grep -E "[0-9]"|\ dmenu -p "choose stream quality for $URL")" - streamlink -p mpv $URL $STREAMQUAL >/dev/null 2>&1 & ;; - *.png*|*.jpg*|*.jpe*|*.jpeg*|*.gif*) + streamlink -p mpv "$URL" "$STREAMQUAL" >/dev/null 2>&1 & ;; + *.png*|*.jp[eg]*|*.gif*) IMGPATH="/tmp/$(lstrip "$URL" "*/")" - curl -sL "$URL" >"$IMGPATH"&&sxiv -pqa "$IMGPATH" & ;; - *.mp3*|*.m4a*|*.flac*|*.aiff*|*.opus*|*.ogg*|*.mp3?source*|*.wav*) + curl -sL "$URL" > "$IMGPATH" && + sxiv -pqa "$IMGPATH" & ;; + *.mp3*|*.m4a*|*.flac*|*.aiff*|*.opus*|*.ogg*|*.wav*) $TERMINAL -e mpv "$URL"& ;; *.epub*|*.pdf*|*.djvu*) BOOKPATH="/tmp/$(lstrip "$URL" "*/")" @@ -86,7 +87,7 @@ case "$URL" in if [ -f "$URL" ]; then op "$URL" else - $BROWSER "$URL" >/dev/null 2>&1 & + "$BROWSER" "$URL" >/dev/null 2>&1 & fi ;; esac shift diff --git a/bin/metamv b/bin/metamv new file mode 100755 index 0000000..3a2d8ba --- /dev/null +++ b/bin/metamv @@ -0,0 +1,8 @@ +#!/bin/sh +# usage: metamv FILE ... +# e.g: metamv *.flac +for file; do + num="$(exiftool -m -p '$tracknumber$track' -- "$file")" + [ "$num" -lt 10 ] && num=0"$num" + mv -- "$file" "$num-$(exiftool -p '$artist-$title.$filetypeextension' -- "$file")" +done diff --git a/bin/notif b/bin/notif index 5e75fd8..ad1b625 100755 --- a/bin/notif +++ b/bin/notif @@ -1,7 +1,7 @@ #!/bin/sh # sends xnotify a notification unset TAG SEC -exec > ${XNOTIFY_FIFO:=$HOME_CACHE/xnotify$DISPLAY.fifo} +exec > "${XNOTIFY_FIFO:=$HOME_CACHE/xnotify.fifo}" ug_err() { echo "${1}" 1>&2 && return "${2:-1}" @@ -20,16 +20,5 @@ while getopts s:t: arg; do *) usage;; esac done -if [ -n "$SEC" ]; then - printf 'SEC:%s\t' "$SEC" - shift 2 -fi -if [ -n "$TAG" ]; then - printf 'TAG:%s\t' "$TAG" - shift 2 -fi -case "$#" in - 1) printf '%s\n' "$1";; - 2) printf '%s\t%s\n' "$1" "$2";; - *) exit;; -esac +shift $((OPTIND - 1)) +printf ${SEC+SEC:%s"\t"}${TAG+TAG:%s"\t"}${2+%s"\t"}'%s\n' $SEC $TAG "$1" "$2" diff --git a/bin/op b/bin/op index 688912b..7d426fc 100755 --- a/bin/op +++ b/bin/op @@ -12,7 +12,7 @@ echo() { } case "$FILEMIME" in #ebooks - application/epub*|application/pdf|application/postscript|image/vnd.djvu) + application/epub*|application/pdf*|application/postscript|image/vnd.djvu) ${READER:-zathura} "$FILEPATH">/dev/null 2>&1 & ;; #videos video/*) diff --git a/bin/smv b/bin/smv new file mode 100755 index 0000000..742d1d3 --- /dev/null +++ b/bin/smv @@ -0,0 +1,10 @@ +#!/bin/sh +# smv: special move +# smv pipeline file1 file2 file3 ... +# $1 is the pipeline to apply to the filenames of the files listed +CMD="$1" +shift +for file +do + mv "$file" "$(printf "$file"|sh -c "$CMD")" +done diff --git a/bin/xbg b/bin/xbg index 339ed69..a94ae67 100755 --- a/bin/xbg +++ b/bin/xbg @@ -8,4 +8,4 @@ else PICPATH=${PICPATH:="$HOME/Pictures/bg.png"} fi [ -n "$1" ]&&ln -sf "$1" "$PICPATH" -xwallpaper --zoom "$PICPATH" +xwallpaper --zoom "$PICPATH"||xsetroot -solid '#14130e' diff --git a/bin/yw b/bin/yw new file mode 100755 index 0000000..4e0337f --- /dev/null +++ b/bin/yw @@ -0,0 +1,4 @@ +#!/bin/sh +# for streaming things from yt-dlp to mpv. $1 is the url +yt-dlp -f b/bv*+ba --external-downloader curl -o - "$1" 2> $HOME_LOG/ytdl.log | mpv - > /dev/null +rm -f -- -.*.vtt diff --git a/config/betteresc b/config/betteresc deleted file mode 100644 index 3c84ed1..0000000 --- a/config/betteresc +++ /dev/null @@ -1,2 +0,0 @@ -keycode 9 = Hyper_L -keycode any = Escape diff --git a/config/mpd/mpd.conf b/config/mpd/mpd.conf deleted file mode 100644 index 59a1215..0000000 --- a/config/mpd/mpd.conf +++ /dev/null @@ -1,9 +0,0 @@ -playlist_directory "~/.local/share/mpd/playlists" # playlist data -db_file "~/.local/share/mpd/database" # database file -pid_file "~/.local/share/mpd/pid" # tracks MPD's pid -state_file "~/.local/share/mpd/state" # tracks MPD's state while it's down -sticker_file "~/.local/share/mpd/sticker.sql" # auxillary stats - -bind_to_address "localhost" # local daemon -restore_paused "yes" # starts paused if MPD is paused when it closes -auto_update "yes" # updates the database when the directory changes diff --git a/config/vis/themes/causalagency.lua b/config/vis/themes/causalagency.lua deleted file mode 100644 index 723328a..0000000 --- a/config/vis/themes/causalagency.lua +++ /dev/null @@ -1,63 +0,0 @@ --- uses 24-bit color values, based off causalagency's scheme -local lexers = vis.lexers - -local colors = { - ['black'] = '#16150e', - ['red'] = '#a32810', - ['green'] = '#727a18', - ['brown'] = '#a37720', - ['blue'] = '#3d6266', - ['purp'] = '#7a4955', - ['cyan'] = '#557a55', - ['ligrey'] = '#8e8463', - ['dagrey'] = '#4c4635', - ['lired'] = '#cc3214', - ['ligreen'] = '#8e991e', - ['yellow'] = '#cc9528', - ['liblue'] = '#4c7b7f', - ['lipurp'] = '#995b6b', - ['licyan'] = '#6b996b', - ['white'] = '#ccbc8e', - ['back'] = '#14130e', - ['fore'] = '#b7a980', - ['sel'] = '#a34110', - ['curs'] = '#72694f', -} - -local fg = ',fore:'..colors.fore..',' -local bg = ',back:'..colors.back..',' - -lexers.STYLE_DEFAULT = bg..fg -lexers.STYLE_NOTHING = bg -lexers.STYLE_CLASS = 'fore:'..colors.yellow -lexers.STYLE_COMMENT = 'fore:'..colors.ligrey..',italics' -lexers.STYLE_CONSTANT = 'fore:'..colors.cyan -lexers.STYLE_DEFINITION = 'fore:'..colors.blue -lexers.STYLE_ERROR = 'back:'..colors.lired..fg..',italics' -lexers.STYLE_FUNCTION = 'fore:'..colors.cyan -lexers.STYLE_KEYWORD = 'fore:'..colors.liblue -lexers.STYLE_LABEL = 'fore:'..colors.yellow -lexers.STYLE_NUMBER = 'fore:'..colors.cyan -lexers.STYLE_OPERATOR = 'fore:'..colors.ligrey -lexers.STYLE_REGEX = 'fore:'..colors.ligreen -lexers.STYLE_STRING = 'fore:'..colors.cyan -lexers.STYLE_PREPROCESSOR = 'fore:'..colors.green -lexers.STYLE_TAG = 'fore:'..colors.green -lexers.STYLE_TYPE = 'fore:'..colors.licyan -lexers.STYLE_VARIABLE = 'fore:'..colors.licyan -lexers.STYLE_WHITESPACE = 'fore:'..colors.dagrey -lexers.STYLE_EMBEDDED = 'back:'..colors.lipurp -lexers.STYLE_IDENTIFIER = 'fore:'..colors.green - -lexers.STYLE_LINENUMBER = 'fore:'..colors.dagrey -lexers.STYLE_LINENUMBER_CURSOR = 'back:'..colors.back..',fore:'..colors.ligrey -lexers.STYLE_CURSOR = 'fore:'..colors.curs..',reverse' -lexers.STYLE_CURSOR_PRIMARY = lexers.STYLE_CURSOR..',bold' -lexers.STYLE_CURSOR_LINE = 'fore:'..colors.dagrey -lexers.STYLE_COLOR_COLUMN = 'back:'..colors.dagrey -lexers.STYLE_SELECTION = 'back:'..colors.sel -lexers.STYLE_STATUS = 'fore:'..colors.ligrey..',back:'..colors.black -lexers.STYLE_STATUS_FOCUSED = 'fore:'..colors.dagrey..',back:'..colors.white -lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT -lexers.STYLE_INFO = lexers.STYLE_DEFAULT..',bold' -lexers.STYLE_EOF = '' diff --git a/config/vis/visrc.lua b/config/vis/visrc.lua deleted file mode 100644 index 569e482..0000000 --- a/config/vis/visrc.lua +++ /dev/null @@ -1,16 +0,0 @@ --- load standard vis module, providing parts of the Lua API -require('vis') -require('ctags') - -vis.events.subscribe(vis.events.INIT, function() - -- Your global configuration options - vis:command('set theme causalagency') - vis:command('map insert <M-Escape> <Escape>') -end) - -vis.events.subscribe(vis.events.WIN_OPEN, function(win) - -- Your per window configuration options e.g. - vis:command('set cul') - vis:command('set nu') - vis:command('set ai') -end) diff --git a/config/youtube-dl/config b/config/youtube-dl/config deleted file mode 100644 index b9ec27f..0000000 --- a/config/youtube-dl/config +++ /dev/null @@ -1,9 +0,0 @@ ---prefer-free-formats -# always use axel ---external-downloader axel -# coherent output format ---output ~/share/xdg/vid/%(uploader)s/%(title)s.%(ext)s -# always merge into mkv ---merge-output-format mkv -# embed subtitles if they are to be written ---embed-subs diff --git a/config/youtube-dl/config-music b/config/youtube-dl/config-music deleted file mode 100644 index 1396246..0000000 --- a/config/youtube-dl/config-music +++ /dev/null @@ -1,6 +0,0 @@ -# only download audio stream ---format bestaudio -# always use axel -#--external-downloader axel -# coherent output format ---output ~/share/xdg/mus/%(uploader)s/%(album)s/S%(track_number)02d-%(track)s.%(ext)s diff --git a/config/X11/xprofile b/etc/X11/xprofile index 058f55b..9c9dc74 100644 --- a/config/X11/xprofile +++ b/etc/X11/xprofile @@ -1,25 +1,25 @@ #!/bin/sh . $HOME/etc/shrc -# set caps to escape when pressed and super when held -# also sets dvorak programmer layout +# sets dvorak programmer layout +# also increases autorepeat rate kbsetup ## detect if laptop has other display connected, kills builtin if so #[ $(xrandr -q|grep -cE '^(DP|VGA|HDMI)-[[:digit:]] connected') -gt 0 ] && monitor # disables the beeper xset b off # enables x colorscheme -xrdb -load $HOME_ETC/X11/xresources +xrdb -load "$HOME_ETC"/X11/xresources # set background xbg & # notification daemon # setup xnotify -export XNOTIFY_FIFO="$HOME_CACHE/xnotify$DISPLAY.fifo" -rm -f $XNOTIFY_FIFO -mkfifo $XNOTIFY_FIFO -xnotify 0<>$XNOTIFY_FIFO & +export XNOTIFY_FIFO="$HOME_CACHE/xnotify.fifo" +rm -f "$XNOTIFY_FIFO" +mkfifo "$XNOTIFY_FIFO" +xnotify 0<>"$XNOTIFY_FIFO" & # start tiramisu -tiramisu -j | jq --raw-output --unbuffered '.summary + "\t" + .body' > $XNOTIFY_FIFO & +tiramisu -o "$(printf '#summary\t#body\n')" > "$XNOTIFY_FIFO" & # status bar bar.sh & # mouse vanishes when typing @@ -27,6 +27,6 @@ xbanish & # activate mpd scrobbler mpdas -c $HOME_ETC/mpdasrc & # remind user of important tasks -bother & +XFILE="$HOME_ETC/X11/xsession" bother & # cleanup tabbed rm $HOME_CACHE/catgirl/tabbed-catgirl.xid diff --git a/config/X11/xresources b/etc/X11/xresources index e7a69b2..2a3d39c 100644 --- a/config/X11/xresources +++ b/etc/X11/xresources @@ -3,7 +3,7 @@ #define fg #b7a980 #define sel #a34110 #define curs #72694f -#define bold #CCBC8E +#define boldc #CCBC8E #define black #161510 #define red #a32810 @@ -51,10 +51,10 @@ xterm*termName: xterm-16color xterm*metaSendsEscape: true xterm*font: -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1 -xterm*faceName: Hermit:style=regular:size=10 +xterm*faceName: Hermit:style=regular:size=11 xterm*cursorColor: curs xterm*boldMode: false -xterm*colorBD: bold +xterm*colorBD: boldc xterm*colorBDMode: true xterm*highlightColorMode: true xterm*highlightReverse: false @@ -62,7 +62,7 @@ xterm*highlightColor: sel xterm*scrollBar: false xterm*dynamicColors: false xterm*vt100.Translations: #override \ - Alt Shift <Key>L: exec-selectable("fl %r",page) \n\ + Alt Shift <Key>L: exec-selectable("flc %t",page) \n\ Alt Shift <Key>Y: insert-selection(PRIMARY) \n\ Alt Shift <Key>V: insert-selection(CLIPBOARD) \n\ Alt Shift <Key>C: copy-selection(CLIPBOARD) \n\ @@ -70,7 +70,7 @@ xterm*vt100.Translations: #override \ Alt <Key> J: scroll-forw(1,line) \n\ Alt <Key> U: scroll-back(1,halfpage) \n\ Alt <Key> D: scroll-forw(1,halfpage) \n -xterm*allowMouseOps: false +xterm*allowMouseOps: false ! Xclock colors. XClock*majorColor: rgba:cc/bc/8e/ff @@ -85,13 +85,14 @@ Sxiv*background: bg Sxiv*foreground: fg ! xlock settings -XLock.mode: random +XLock.mode: blank XLock.font: -*-terminus-medium-r-*--12-*-*-*-*-*-iso10646-1 ! xnotify settings -xnotify.title.font: Hermit:style=bold:size=10 -xnotify.body.font: Hermit:style=regular:size=10 +xnotify.title.faceName: Hermit:style=bold:size=11 +xnotify.body.faceName: Hermit:style=regular:size=11 xnotify.border: ligreen xnotify.geometry: -10+23 -xnotify.gravity: NE xnotify.alignment: right +xnotify.wrap: true +!xnotify.shrink: true ! shrink + wrap is broken diff --git a/config/aliasrc b/etc/aliasrc index 0250b8a..43eb733 100644 --- a/config/aliasrc +++ b/etc/aliasrc @@ -1,11 +1,9 @@ #!/bin/sh # a file containing POSIX shell-compliant aliases so aliases can be consistent between shells. alias \ - l="/bin/ls"\ - ls="exa -Fb"\ - ll='exa -Fbl'\ - lg='exa -Fbl --git'\ - la='exa -Fba'\ + ls='ls -Fh'\ + ll='ls -Fhl'\ + la='ls -Fha'\ lynx='lynx -cookies- -vikeys'\ df='df -h'\ du='du -h'\ @@ -37,11 +35,10 @@ alias \ pd='doas pkg_delete'\ pi='pkg_info -D snap'\ pl='pkglocate'\ - f="\$FILE"\ - e="TERM=xterm-256color \$EDITOR"\ - v="TERM=xterm-256color \$EDITOR"\ - yt='youtube-dl'\ - ya="youtube-dl --config-location \$XDG_CONFIG_HOME/youtube-dl/config-music" \ + e="\$EDITOR"\ + yt='yt-dlp'\ + ya="yt-dlp --config-location \$HOME_ETC/yt-dlp/config-music"\ + dl="ftp"\ unwww='bombadillo'\ - masto="tootstream -c $XDG_CONFIG_HOME/tootstream/tootstream.conf"\ + loveread="ssh mic 'tail ~char/love.txt'"\ logout='clear&&exit' diff --git a/config/color/colors.sh b/etc/color/colors.sh index dd8c49a..dd8c49a 100755 --- a/config/color/colors.sh +++ b/etc/color/colors.sh diff --git a/config/ksh/completions.ksh b/etc/ksh/completions.ksh index d186615..11e0b10 100644 --- a/config/ksh/completions.ksh +++ b/etc/ksh/completions.ksh @@ -1,10 +1,10 @@ #!/bin/ksh -COMPLETIONFILES="$XDG_CACHE_HOME/ksh/precompletions" +COMPLETIONFILES="$HOME_CACHE/ksh/precompletions" if ! [[ -d $COMPLETIONFILES ]]; then mkdir -p $COMPLETIONFILES; fi -#pkg_* completions {{{1 +#pkg_* completions if ! [[ -e $COMPLETIONFILES/packages ]]; then update_completion_packages fi @@ -13,9 +13,7 @@ fi set -A complete_pd -- $(ls -1 /var/db/pkg) #set -A complete_pi -- $complete_pa -# }}} - -#man completions {{{2 +#man completions if ! [[ -e $COMPLETIONFILES/manpages ]]; then update_completion_manpages fi @@ -23,9 +21,7 @@ fi #set -A complete_man -- $(<$COMPLETIONFILES/manpages) -# }}} - -# pip completions {{{3 +# pip completions set -A complete_pip_1 -- install download uninstall freeze list show check config search wheel hash help set -A complete_pip_2 -- --user @@ -42,5 +38,3 @@ update_complete_pass() { update_complete_pass pass_export() { pass export "$1" && update_complete_pass; } pass_show() { pass show "$1" && update_complete_pass; } - -# }}} diff --git a/config/ksh/diraliases b/etc/ksh/diraliases index 4b469d6..f926827 100644 --- a/config/ksh/diraliases +++ b/etc/ksh/diraliases @@ -2,9 +2,9 @@ alias -d src=~/src alias -d git=~src/vcs alias -d vcs=~/local/src -alias -d conf=$XDG_CONFIG_HOME -alias -d data=$XDG_DATA_HOME -alias -d cache=$XDG_CACHE_HOME +alias -d conf="$HOME_ETC" +alias -d data="$HOME_DATA" +alias -d cache="$HOME_CACHE" alias -d vis=~conf/vis alias -d ksh=~conf/ksh alias -d xdg=~/share/xdg diff --git a/config/ksh/functions/l. b/etc/ksh/functions/l. index e4a759e..e4a759e 100644 --- a/config/ksh/functions/l. +++ b/etc/ksh/functions/l. diff --git a/config/ksh/functions/man_complete b/etc/ksh/functions/man_complete index bab26dd..bab26dd 100644 --- a/config/ksh/functions/man_complete +++ b/etc/ksh/functions/man_complete diff --git a/config/ksh/functions/mc b/etc/ksh/functions/mc index db8a46f..db8a46f 100644 --- a/config/ksh/functions/mc +++ b/etc/ksh/functions/mc diff --git a/config/ksh/functions/mpvpin b/etc/ksh/functions/mpvpin index 7fabc6c..7fabc6c 100644 --- a/config/ksh/functions/mpvpin +++ b/etc/ksh/functions/mpvpin diff --git a/config/ksh/functions/pcl b/etc/ksh/functions/pcl index 42ad224..42ad224 100644 --- a/config/ksh/functions/pcl +++ b/etc/ksh/functions/pcl diff --git a/config/ksh/functions/pct b/etc/ksh/functions/pct index b80abff..b80abff 100644 --- a/config/ksh/functions/pct +++ b/etc/ksh/functions/pct diff --git a/config/ksh/functions/pkg_complete b/etc/ksh/functions/pkg_complete index 2664527..2664527 100644 --- a/config/ksh/functions/pkg_complete +++ b/etc/ksh/functions/pkg_complete diff --git a/config/ksh/functions/update_completion_manpages b/etc/ksh/functions/update_completion_manpages index dc4e77a..dc4e77a 100644 --- a/config/ksh/functions/update_completion_manpages +++ b/etc/ksh/functions/update_completion_manpages diff --git a/config/ksh/functions/update_completion_packages_obsd b/etc/ksh/functions/update_completion_packages_obsd index 2de477f..2de477f 100644 --- a/config/ksh/functions/update_completion_packages_obsd +++ b/etc/ksh/functions/update_completion_packages_obsd diff --git a/config/ksh/functions/update_completion_pkg_inst_obsd b/etc/ksh/functions/update_completion_pkg_inst_obsd index 0442a77..0442a77 100644 --- a/config/ksh/functions/update_completion_pkg_inst_obsd +++ b/etc/ksh/functions/update_completion_pkg_inst_obsd diff --git a/config/ksh/functions/update_completions b/etc/ksh/functions/update_completions index cc1e82b..cc1e82b 100644 --- a/config/ksh/functions/update_completions +++ b/etc/ksh/functions/update_completions diff --git a/config/ksh/kshrc b/etc/ksh/kshrc index a5b48e0..28b3c0c 100644 --- a/config/ksh/kshrc +++ b/etc/ksh/kshrc @@ -1,19 +1,19 @@ #!/bin/ksh . $HOME/etc/shrc -KSHCONFIG="$XDG_CONFIG_HOME/ksh" -FPATH=$XDG_CONFIG_HOME/ksh/functions +KSHCONFIG="$HOME_ETC/ksh" +FPATH="$HOME_ETC/ksh/functions" alias functions="cat \$FPATH/*|grep -vF '#!/bin/ksh'" -HISTFILE=$XDG_DATA_HOME/ksh/histfile -if ! [[ -d $(dirname $HISTFILE) ]]; then - mkdir -p $(dirname $HISTFILE); +HISTFILE="$HOME_DATA/ksh/histfile" +if ! [[ -d $(dirname "$HISTFILE") ]]; then + mkdir -p $(dirname "$HISTFILE"); fi HISTSIZE=5000 HISTCONTROL="ignoredups" FCEDIT="$EDITOR" -TMPDIR=$XDG_CACHE_HOME/ksh -if ! [[ -d $TMPDIR ]]; then - mkdir -p $TMPDIR; +TMPDIR="$HOME_CACHE/ksh" +if ! [[ -d "$TMPDIR" ]]; then + mkdir -p "$TMPDIR"; fi # shortcut for cloning GITHUB="https://github.com" @@ -22,15 +22,15 @@ export PF_INFO="ascii title os host shell editor wm pkgs palette" # fix manpath so local man pages work # crude *bsd detection if [[ -d /usr/X11R6 ]]; then -export MANPATH="/usr/share/man:/usr/X11R6/man:/usr/local/man:$XDG_DATA_HOME/man" +export MANPATH="/usr/share/man:/usr/X11R6/man:/usr/local/man:$HOME_DATA/man" else -export MANPATH="/usr/share/man:/usr/local/share/man:$XDG_DATA_HOME/man" +export MANPATH="/usr/share/man:/usr/local/share/man:$HOME_DATA/man" fi set -o vi #load ksh external configs -[[ -f "$XDG_CONFIG_HOME/lf/lfcd.sh" ]] && . "$XDG_CONFIG_HOME/lf/lfcd.sh" +[[ -f "$HOME_ETC/lf/lfcd.sh" ]] && . "$HOME_ETC/lf/lfcd.sh" [[ -f "$KSHCONFIG/diraliases" ]] && . "$KSHCONFIG/diraliases" -[[ -f "$XDG_CONFIG_HOME/aliasrc" ]] && . "$XDG_CONFIG_HOME/aliasrc" +[[ -f "$HOME_ETC/aliasrc" ]] && . "$HOME_ETC/aliasrc" [[ -f "$KSHCONFIG/completions.ksh" ]] && . "$KSHCONFIG/completions.ksh" [[ -f "$KSHCONFIG/prompt.ksh" ]] && . "$KSHCONFIG/prompt.ksh" diff --git a/config/ksh/prompt.ksh b/etc/ksh/prompt.ksh index 80de942..070d394 100644 --- a/config/ksh/prompt.ksh +++ b/etc/ksh/prompt.ksh @@ -17,4 +17,4 @@ vcs() { printf ' %s' "$_GIT_BRANCH" fi } -PS1='\[\033[0;7;32m\]$?\[\033[0;32;45m\]$SEP\[\033[0;7;35m\]\A\[\033[0;35m\]$SEP\[\033[0;1;31m\]\u\[\033[0;32m\]@\[\033[1;34m\]\h\[\033[0;36m\]$RSEP\[\033[7m\]\w\[\033[0;36m\]$SEP\[\033[0;32m\]$(vcs)\n\$\[\033[0m\] ' +PS1='\[\033[0;7;32m\]$?\[\033[0;32;45m\]$SEP\[\033[0;7;35m\]\A\[\033[0;35m\]$SEP\[\033[0;1;31m\]\u\[\033[0;32m\]@\[\033[1;34m\]\h\[\033[0;36m\]$RSEP\[\033[7m\]\w\[\033[0;36m\]$SEP\[\033[0;32m\]$(vcs)\n\[\033[0;32m\]\$\[\033[0m\] ' diff --git a/config/lf/lfrc b/etc/lf/lfrc index 2b2ff1f..aa3ec00 100644 --- a/config/lf/lfrc +++ b/etc/lf/lfrc @@ -5,14 +5,6 @@ set ifs "\n" set promptfmt "\033[1;31m%u\033[0;32m@\033[1;34m%h\033[0m\033[0;36m▐\033[7m%w/%f\033[0;36m▍\033[0m" # cmds -cmd ttmsh ${{ - TTMURL="$(curl -F 'file=@'$f https://ttm.sh)" - if [ -n "$TTMURL" ]; then - echo "$TTMURL"|tee "$HOME/ttmsh"|xclip -r - notif 'successfully uploaded to ttm!' 'link copied to selection, backup is in $HOME/ttmsh' - fi -}} - cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1 # binds diff --git a/etc/mpd/mpd.conf b/etc/mpd/mpd.conf new file mode 100644 index 0000000..2117584 --- /dev/null +++ b/etc/mpd/mpd.conf @@ -0,0 +1,18 @@ +music_directory "~/share/xdg/mus" +playlist_directory "~/share/mpd/playlists" +db_file "~/share/mpd/database" +log_file "~/var/log/mpd.log" +pid_file "~/share/mpd/pid" +state_file "~/share/mpd/state" +sticker_file "~/share/mpd/sticker.sql" # auxillary stats + +bind_to_address "~/share/mpd/socket" # socket +restore_paused "yes" # starts paused if MPD is paused when it closes +auto_update "yes" # updates the database when the directory changes + +audio_output { + type "alsa" + name "mpd-mic" +# device "hw:2" #monopolizes the sound device :( + mixer_type "software" +} diff --git a/config/ncmpcpp/bindings b/etc/ncmpcpp/bindings index 76f6796..76f6796 100644 --- a/config/ncmpcpp/bindings +++ b/etc/ncmpcpp/bindings diff --git a/config/ncmpcpp/config b/etc/ncmpcpp/config index de62252..cb689a8 100644 --- a/config/ncmpcpp/config +++ b/etc/ncmpcpp/config @@ -9,7 +9,7 @@ lyrics_directory = ~/share/lyrics # ##### connection settings ##### # -mpd_host = 127.0.0.1 +#mpd_host = 127.0.0.1 # #mpd_port = 6600 # @@ -460,7 +460,7 @@ mouse_support = no # #search_engine_default_search_mode = 1 # -external_editor = nvim +external_editor = vi # ## Note: set to yes if external editor is a console application. ## diff --git a/config/newsboat/config b/etc/newsboat/config index 05513ae..a6b49a9 100644 --- a/config/newsboat/config +++ b/etc/newsboat/config @@ -1,7 +1,7 @@ #show-read-feeds no auto-reload yes -external-url-viewer "urlscan -dc -r 'lh {}'" +external-url-viewer "flc" bind-key j down bind-key k up @@ -32,7 +32,7 @@ color article cyan default browser lh macro , open-in-browser -macro t set browser "youtube-dl --add-metadata -ic"; open-in-browser ; set browser lh -macro a set browser "youtube-dl --add-metadata -ic --config-location ~/etc/youtube-dl/config-music"; open-in-browser ; set browser lh +macro t set browser "yt-dlp --add-metadata -i"; open-in-browser ; set browser lh +macro a set browser "yt-dlp --add-metadata -i --config-location ~/etc/yt-dlp/config-music"; open-in-browser ; set browser lh macro v set browser "mpv"; open-in-browser ; set browser lh -macro w set browser "w3m"; open-in-browser ; set browser lh +macro w set browser "lynx -cookies- -vikeys"; open-in-browser ; set browser lh diff --git a/config/shrc b/etc/shrc index d3b05fb..9da8cef 100644 --- a/config/shrc +++ b/etc/shrc @@ -6,17 +6,18 @@ export HOME_LOG="$HOME/var/log" export HOME_CACHE="$HOME/var/cache" export HOME_BIN="$HOME/bin" export HOME_EXT="$HOME/local" +export HOME_EXT_DATA="$HOME_EXT/share" export HOME_EXT_BIN="$HOME_EXT/bin" export HOME_EXT_SRC="$HOME_EXT/src" -export XDG_CACHE_HOME="${HOME_CACHE:=$HOME/.cache}" -export XDG_CONFIG_HOME="${HOME_ETC:=$HOME/.config}" -export XDG_DATA_HOME="${HOME_DATA:=$HOME/.local/share}" +export XDG_CACHE_HOME="$HOME_CACHE" +export XDG_CONFIG_HOME="$HOME_ETC" +export XDG_DATA_HOME="$HOME_DATA" export PATH="$HOME_BIN:$HOME_EXT_BIN:$PATH" export LAUNCHER="dmenu_run" -export EDITOR="vise" +export EDITOR="vi" export FILE="lf" export PAGER="less" export TERMINAL="xterm" @@ -33,14 +34,19 @@ export LOCK="xlock" export LESS='-iFMRX~ -x2' #locale info export LANGUAGE="en" -export LANG="POSIX.UTF-8" -export LC_ALL="POSIX.UTF-8" +export LANG="C.UTF-8" +export LC_ALL="C.UTF-8" #lscolor export CLICOLOR=1 #todo(1) export TODO="$HOME_DATA/xdg/doc/todo" #ksh export ENV="$HOME_ETC/ksh/kshrc" +#vi +export EXINIT="set ai extended iclower sm sw=4 ts=4 smd +map gg 1G +map gx !'mxsel -b -i +map gp :r!xsel -b -o" #cleanup paths export GTK2_RC_FILES="$HOME_ETC/gtk-2.0/gtkrc-2.0" diff --git a/config/user-dirs.dirs b/etc/user-dirs.dirs index b2cefc6..b2cefc6 100644 --- a/config/user-dirs.dirs +++ b/etc/user-dirs.dirs diff --git a/etc/yt-dlp/config b/etc/yt-dlp/config new file mode 100644 index 0000000..23171b9 --- /dev/null +++ b/etc/yt-dlp/config @@ -0,0 +1,16 @@ +--prefer-free-formats +# always use aria2 +--external-downloader aria2c +# format +--format bestvideo+bestaudio/best +# format definition +--format-sort "res:1080,fps:60,vcodec:av01" +# dl to ~vid +--paths ~/share/xdg/vid/ +--output %(uploader)s/%(title)s.%(ext)s +# english subs, no chat +--sub-langs "en.*,-live_chat" +# always merge into mkv +--merge-output-format mkv +# embed subtitles if they are to be written +--embed-subs diff --git a/etc/yt-dlp/config-music b/etc/yt-dlp/config-music new file mode 100644 index 0000000..b8109f8 --- /dev/null +++ b/etc/yt-dlp/config-music @@ -0,0 +1,7 @@ +# free formats +--prefer-free-formats +# only download audio stream +--format bestaudio +# dl to ~mus +--paths ~/share/xdg/mus +--output %(uploader_id,uploader,album_artist)s/%(release_year,release_date>%Y,upload_date>%Y|)s-%(album|singles)s/%(track_number,playlist_index|)02d%(track_number,playlist_index&-|)s%(track,title|title)s.%(ext)s diff --git a/config/zathura/zathurarc b/etc/zathura/zathurarc index 1b370d2..e72220f 100644 --- a/config/zathura/zathurarc +++ b/etc/zathura/zathurarc @@ -32,4 +32,4 @@ set render-loading-fg "#ccbc8e" set window-title-home-tilde true set statusbar-basename true set selection-clipboard clipboard -set font "Cozette Medium 11" +set font "Hermit Regular 13" diff --git a/data/mailcap b/share/mailcap index c8e0061..c8e0061 100644 --- a/data/mailcap +++ b/share/mailcap diff --git a/data/man/man7/user-hier.7 b/share/man/man7/user-hier.7 index 0c6e092..0c6e092 100644 --- a/data/man/man7/user-hier.7 +++ b/share/man/man7/user-hier.7 |