diff --git a/.gitmodules b/.gitmodules index 7779f2e..b458b74 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ +[submodule "polybar/.local/share/pomo-app"] + path = polybar/.local/share/pomo-app + url = https://github.com/jsspencer/pomo.git [submodule "pass/.local/share/pass-pick"] path = pass/.local/share/pass-pick url = https://git.martyoeh.me/Marty/pass-pick.git -[submodule "scripts/.local/share/uoeia"] - path = scripts/.local/share/uoeia - url = https://git.martyoeh.me/Marty/uoeia.git diff --git a/multimedia/.config/beets/config.yaml b/multimedia/.config/beets/config.yaml index 8512776..b70f81b 100644 --- a/multimedia/.config/beets/config.yaml +++ b/multimedia/.config/beets/config.yaml @@ -79,7 +79,6 @@ plugins: - inline - lastgenre - lastimport - - lyrics - mbcollection - mbsync - missing @@ -93,8 +92,7 @@ edit: ignore_fields: id path fetchart: - sources: filesystem coverart itunes discogs amazon albumart - store_source: yes + sources: filesystem coverart discogs amazon albumart lastgenre: auto: true @@ -111,9 +109,5 @@ lastgenre: lastfm: user: schmitzkater -lyrics: - sources: musixmatch genius - fallback: '' - bandcamp: art: true diff --git a/office/.config/task/taskopenrc b/office/.config/task/taskopenrc index d78ee56..7c65ed6 100644 --- a/office/.config/task/taskopenrc +++ b/office/.config/task/taskopenrc @@ -5,10 +5,10 @@ path_ext = /usr/share/taskopen/scripts [Actions] note_custom_ext.regex = "^Note\\.(.*)" -note_custom_ext.command = "$EDITOR ${XDG_DATA_HOME:-$HOME/.local/share}/task/notes/$UUID.$LAST_MATCH" +note_custom_ext.command = "$EDITOR ${XDG_DATA_HOME:-~/.local/share}/task/notes/$UUID.$LAST_MATCH" notes.regex = "^Note" -notes.command = "$EDITOR ${XDG_DATA_HOME:-$HOME/.local/share}/task/notes/$UUID.md" +notes.command = "$EDITOR ${XDG_DATA_HOME:-~/.local/share}/task/notes/$UUID.md" links.regex = "^https?://" links.command = "xdg-open $FILE" diff --git a/qutebrowser/.config/qutebrowser/maps.py b/qutebrowser/.config/qutebrowser/maps.py index d527d1e..ada80d7 100644 --- a/qutebrowser/.config/qutebrowser/maps.py +++ b/qutebrowser/.config/qutebrowser/maps.py @@ -49,9 +49,8 @@ config.bind(leader + "tV", "set tabs.position left") # bind mpv to play the current page/links, using a single instance which queues the next link passed config.bind(lleader + "M", "spawn umpv {url}") config.bind(lleader + "m", "hint links spawn umpv {hint-url}") -config.bind(lleader + "I", "spawn uoeia -v imv {url}") -config.bind(lleader + "i", "hint links spawn uoeia -v imv {hint-url}") -config.bind(lleader + "", "hint images spawn uoeia -v imv {hint-url}") +config.bind(lleader + "I", "spawn nsxiv-rifle {url}") +config.bind(lleader + "i", "hint links spawn nsxiv-rifle {hint-url}") # bind youtube-dl to download the current page/links config.bind(lleader + "dM", "spawn vidl {url}") diff --git a/scripts/.local/bin/nsxiv-rifle b/scripts/.local/bin/nsxiv-rifle new file mode 100755 index 0000000..a961295 --- /dev/null +++ b/scripts/.local/bin/nsxiv-rifle @@ -0,0 +1,75 @@ +#!/usr/bin/env sh +# +# Advanced nsxiv url opening script. +# +# Can open remote urls of individual images, galleries, and local files at the same time. +# Uses gallery-dl for remote gallery opening - so if gallery-dl can open it, so can nsxiv. +# +# Usage: simply add multiple urls/paths as arguments. +# nsxiv-rifle "https://linkto.my/image.png" my/local/relative-path.jpg /home/absolute.gif + +cache_dir="$(mktemp -d)" + +die() { + [ -n "$1" ] && printf '%s\n' "$*" >&2 + exit 1 +} + +cleanup() { + rm -f -- "$cache_dir"/* +} + +from_local() { + fpath="$(realpath -e "$1")" + ln -s "$fpath" "$cache_dir" +} + +# invokes single image downloading or gallery downloading depending on content type +from_remote() { + link="$(dereference "$1")" + if curl -sLI "$link" | grep -i '^Content-Type:' | grep -q image; then + get_single_image "$link" + else + get_gallery "$link" + fi +} + +get_gallery() { + command -v gallery-dl 1>/dev/null 2>&1 || return + gallery-dl -q -D "$cache_dir" "$1" +} + +get_single_image() { + pwd="$PWD" + cd "$cache_dir" && curl -sSLO "$1" + cd "$pwd" || exit 1 +} + +# unaliases urls which will not be downloaded correctly otherwise +dereference() { + # teddit + if echo "$1" | grep -qe "https\?://w\?w\?w\?\.\?teddit\.net.\+"; then + echo "$1" | sed -e 's|^.*pics/w:null_\(.\+\)$|https://i.redd.it/\1|' + else + echo "$1" + fi +} + +### main ### +command -v nsxiv 1>/dev/null 2>&1 || die "Requires nsxiv installed" + +[ -z "$1" ] && nsxiv +trap cleanup EXIT +[ -d "$cache_dir" ] || mkdir -p -- "$cache_dir" || die +im_number=1 +while [ -n "$1" ]; do + case "$1" in + *://*.*) from_remote "$1" ;; + *) from_local "$1" ;; + esac + im_number=$((im_number + 1)) + shift +done + +[ "$(find -L "$cache_dir" -type f -print | wc -l)" -ne 0 ] && + nsxiv -p "$cache_dir" diff --git a/scripts/.local/bin/uoeia b/scripts/.local/bin/uoeia deleted file mode 120000 index 03ba1d4..0000000 --- a/scripts/.local/bin/uoeia +++ /dev/null @@ -1 +0,0 @@ -../share/uoeia/uoeia \ No newline at end of file diff --git a/scripts/.local/share/uoeia b/scripts/.local/share/uoeia deleted file mode 160000 index 4a2c9d3..0000000 --- a/scripts/.local/share/uoeia +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4a2c9d359b941b042c10a610609339a8d7ff3b1c diff --git a/sh/.config/sh/alias b/sh/.config/sh/alias index b67408e..0aaa856 100644 --- a/sh/.config/sh/alias +++ b/sh/.config/sh/alias @@ -105,10 +105,16 @@ if exist imv-folder; then imv "$@" fi } -else - for cmd in imv nsxiv vimiv sxiv feh; do - if exist "$cmd"; then alias iv="$cmd"; break; fi - done +elif exist imv; then + alias iv=imv +elif exist nsxiv; then + if exist nsxiv-rifle; then + alias iv=nsxiv-rifle + else + alias iv=nsxiv + fi +elif exist sxiv; then + alias iv=sxiv fi # python diff --git a/terminal/.config/vifm/vifmrc b/terminal/.config/vifm/vifmrc index 396929e..821d4db 100644 --- a/terminal/.config/vifm/vifmrc +++ b/terminal/.config/vifm/vifmrc @@ -274,13 +274,13 @@ nnoremap zc zm " external commands " extract currently selected file(s) -noremap xx :!atool -x %f +nnoremap xx :!atool -x %f " compress currently selected file(s) -noremap xc :!atool -a %c:r.tar.gz %f +nnoremap xc :!atool -a %c:r.tar.gz %f " archive currently selected file(s) -noremap xa :!atool -a %c:r.tar %f +nnoremap xa :!atool -a %c:r.tar %f " archive currently selected file(s) -noremap xz :!atool -a %c:r.zip %f +nnoremap xz :!atool -a %c:r.zip %f " combine selected PDFs into single one (named output.pdf) noremap gc :!pdftk %f cat output output.pdf