mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-01-30 09:48:11 +01:00
Compare commits
19 Commits
d312dd6a98
...
4bd06c6c96
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4bd06c6c96 | ||
|
|
0795202675 | ||
|
|
bbcbac64fa | ||
|
|
52fab9d50a | ||
|
|
0db54f9618 | ||
|
|
50e72a1a03 | ||
|
|
1500ec504e | ||
|
|
b5317fdaf2 | ||
|
|
92d3560888 | ||
|
|
b0dbb1d1f6 | ||
|
|
36d40adb8d | ||
|
|
de863bf0f0 | ||
|
|
b7dc644e1a | ||
|
|
fead6d66ce | ||
|
|
b1ddd9548e | ||
|
|
e3a5d38200 | ||
|
|
0e237592d7 | ||
|
|
060c093deb | ||
|
|
d1054d839e |
@ -50,7 +50,7 @@ cmd open ${{
|
||||
esac
|
||||
}}
|
||||
|
||||
cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
|
||||
cmd mkdir $mkdir -p "$@"
|
||||
|
||||
cmd extract ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
@ -139,7 +139,7 @@ map D delete
|
||||
map E extract
|
||||
map C copyto
|
||||
map M moveto
|
||||
map <c-n> push :mkdir<space>
|
||||
map <c-n> push :mkdir<space>""<left>
|
||||
map <c-r> reload
|
||||
map <c-s> set hidden!
|
||||
map <enter> shell
|
||||
|
||||
@ -13,10 +13,6 @@ image() {
|
||||
fi
|
||||
}
|
||||
|
||||
ifub() {
|
||||
[ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ] && command -V ueberzug >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Note that the cache file name is a function of file information, meaning if
|
||||
# an image appears in multiple places across the machine, it will not have to
|
||||
# be regenerated once seen.
|
||||
@ -29,10 +25,15 @@ case "$(file --dereference --brief --mime-type -- "$1")" in
|
||||
CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
[ ! -f "$CACHE" ] && djvused "$1" -e 'select 1; save-page-with /dev/stdout' | convert -density 200 - "$CACHE.jpg" > /dev/null 2>&1
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5" "$1" ;;
|
||||
image/svg+xml)
|
||||
CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
[ ! -f "$CACHE" ] && inkscape --convert-dpi-method=none -o "$CACHE.png" --export-overwrite -D --export-png-color-mode=RGBA_16 "$1"
|
||||
image "$CACHE.png" "$2" "$3" "$4" "$5" "$1"
|
||||
;;
|
||||
image/*) image "$1" "$2" "$3" "$4" "$5" "$1" ;;
|
||||
text/html) lynx -width="$4" -display_charset=utf-8 -dump "$1" ;;
|
||||
text/troff) man ./ "$1" | col -b ;;
|
||||
text/* | */xml | application/json | application/x-ndjson) bat --terminal-width "$(($4-2))" -f "$1" ;;
|
||||
text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1" ;;
|
||||
audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;;
|
||||
video/* )
|
||||
CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
|
||||
@ -67,6 +67,14 @@ set noshowcmd
|
||||
nm <leader>i :call ToggleIPA()<CR>
|
||||
imap <leader>i <esc>:call ToggleIPA()<CR>a
|
||||
nm <leader>q :call ToggleProse()<CR>
|
||||
|
||||
" vim-airline
|
||||
if !exists('g:airline_symbols')
|
||||
let g:airline_symbols = {}
|
||||
endif
|
||||
let g:airline_symbols.colnr = ' C:'
|
||||
let g:airline_symbols.linenr = ' L:'
|
||||
let g:airline_symbols.maxlinenr = '☰ '
|
||||
|
||||
" Shortcutting split navigation, saving a keypress:
|
||||
map <C-h> <C-w>h
|
||||
|
||||
@ -1,14 +1,12 @@
|
||||
#!/bin/zsh
|
||||
#!/bin/sh
|
||||
# shellcheck disable=SC2155
|
||||
|
||||
# profile file. Runs on login. Environmental variables are set here.
|
||||
# Profile file, runs on login. Environmental variables are set here.
|
||||
|
||||
# If you don't plan on reverting to bash, you can remove the link in ~/.profile
|
||||
# to clean up.
|
||||
# Add all directories in `~/.local/bin` to $PATH
|
||||
export PATH="$PATH:$(find ~/.local/bin -type d | paste -sd ':' -)"
|
||||
|
||||
# Adds `~/.local/bin` to $PATH
|
||||
export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}"
|
||||
|
||||
unsetopt PROMPT_SP
|
||||
unsetopt PROMPT_SP 2>/dev/null
|
||||
|
||||
# Default programs:
|
||||
export EDITOR="nvim"
|
||||
@ -52,7 +50,7 @@ export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history"
|
||||
export DICS="/usr/share/stardict/dic/"
|
||||
export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"
|
||||
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
|
||||
export LESS=-R
|
||||
export LESS="R"
|
||||
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
|
||||
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
|
||||
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
|
||||
@ -61,15 +59,15 @@ export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
|
||||
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||
export MOZ_USE_XINPUT2="1" # Mozilla smooth scrolling/touchpads.
|
||||
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||
export MOZ_USE_XINPUT2=1 # Mozilla smooth scrolling/touchpads.
|
||||
export AWT_TOOLKIT="MToolkit wmname LG3D" # May have to install wmname
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm
|
||||
|
||||
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && setsid shortcuts >/dev/null 2>&1
|
||||
[ ! -f "$XDG_CONFIG_HOME/shell/shortcutrc" ] && setsid -f shortcuts >/dev/null 2>&1
|
||||
|
||||
# Start graphical server on user's current tty if not already running.
|
||||
[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC"
|
||||
|
||||
# Switch escape and caps if tty and no passwd required:
|
||||
sudo -n loadkeys ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null
|
||||
sudo -n loadkeys "$XDG_DATA_HOME/larbs/ttymaps.kmap" 2>/dev/null
|
||||
|
||||
@ -7,11 +7,11 @@ url="${WTTRURL:-wttr.in}"
|
||||
weatherreport="${XDG_CACHE_HOME:-$HOME/.cache}/weatherreport"
|
||||
|
||||
# Get a weather report from 'wttr.in' and save it locally.
|
||||
getforecast() { timeout --signal=1 2s curl -sf "$url/$LOCATION" > "$weatherreport" || exit 1; }
|
||||
getforecast() { curl -sf "$url/$LOCATION" --output "$weatherreport" && touch "$weatherreport"; }
|
||||
|
||||
# Forecast should be updated only once a day.
|
||||
checkforecast() {
|
||||
[ -s "$weatherreport" ] && [ "$(stat -c %y "$weatherreport" 2>/dev/null |
|
||||
[ "$(stat -c %y "$weatherreport" 2>/dev/null |
|
||||
cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ]
|
||||
}
|
||||
|
||||
@ -48,6 +48,9 @@ case $BLOCK_BUTTON in
|
||||
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
|
||||
esac
|
||||
|
||||
checkforecast || getforecast
|
||||
|
||||
showweather
|
||||
checkforecast && showweather ||
|
||||
( flock -n 9 &&
|
||||
( until { [ "$(cat /sys/class/net/w*/operstate)" = 'up' ] || [ "$(cat /sys/class/net/e*/operstate)" = 'up' ]; } &&
|
||||
getforecast; do sleep 60; done &&
|
||||
pkill -RTMIN+"${1:-5}" "${STATUSBAR:-dwmblocks}" ) &
|
||||
echo ) 9>/tmp/sb-forecast.lock
|
||||
|
||||
@ -5,10 +5,15 @@
|
||||
#
|
||||
# https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/
|
||||
|
||||
set -e
|
||||
ifinstalled "geoip" || exit 1
|
||||
|
||||
ifinstalled "geoip"
|
||||
addr="$(geoiplookup "$(curl -sfm 1 ifconfig.me 2>/dev/null)")"
|
||||
ipfile="$XDG_RUNTIME_DIR/iplocate"
|
||||
addr=$(cat "$ipfile" 2>/dev/null) && addr=$(geoiplookup "$addr" 2>/dev/null) && rm "$ipfile" ||
|
||||
( flock -n 9 &&
|
||||
( until { [ "$(cat /sys/class/net/w*/operstate)" = 'up' ] || [ "$(cat /sys/class/net/e*/operstate)" = 'up' ]; } &&
|
||||
curl -sf api.ipify.org --output "$ipfile"; do sleep 60; done &&
|
||||
pkill -RTMIN+"${1:-27}" "${STATUSBAR:-dwmblocks}" ) &
|
||||
echo; exit ) 9>/tmp/sb-iplocate.lock
|
||||
name="${addr##*, }"
|
||||
flag="$(grep "flag: $name" "${XDG_DATA_HOME:-$HOME/.local/share}/larbs/emoji")"
|
||||
flag="${flag%% *}"
|
||||
|
||||
@ -4,8 +4,12 @@
|
||||
|
||||
moonfile="${XDG_DATA_HOME:-$HOME/.local/share}/moonphase"
|
||||
|
||||
[ -s "$moonfile" ] && [ "$(stat -c %y "$moonfile" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
|
||||
{ curl -sf "wttr.in/?format=%m" > "$moonfile" || exit 1 ;}
|
||||
[ "$(stat -c %y "$moonfile" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
|
||||
( flock -n 9 &&
|
||||
( until { [ "$(cat /sys/class/net/w*/operstate)" = 'up' ] || [ "$(cat /sys/class/net/e*/operstate)" = 'up' ]; } &&
|
||||
curl -sf "wttr.in/?format=%m" --output "$moonfile" && touch "$moonfile"; do sleep 60; done &&
|
||||
pkill -RTMIN+"${1:-17}" "${STATUSBAR:-dwmblocks}" ) &
|
||||
echo; exit ) 9>/tmp/sb-moonphase.lock
|
||||
|
||||
icon="$(cat "$moonfile")"
|
||||
|
||||
|
||||
@ -28,8 +28,7 @@ filestat="$(stat -c %x "$pricefile" 2>/dev/null)"
|
||||
|
||||
[ -d "$dir" ] || mkdir -p "$dir"
|
||||
|
||||
updateprice() { curl -sf -m 1 --fail-early $denom.$url/{1$target,$target$interval} --output "$pricefile" --output "$chartfile" ||
|
||||
rm -f "$pricefile" "$chartfile" ;}
|
||||
updateprice() { curl -sf --fail-early $denom.$url/{1$target,$target$interval} --output "$pricefile" --output "$chartfile" && touch "$pricefile" "$chartfile"; }
|
||||
|
||||
[ "${filestat%% *}" != "$(date '+%Y-%m-%d')" ] &&
|
||||
updateme="1"
|
||||
@ -48,9 +47,16 @@ case $BLOCK_BUTTON in
|
||||
esac
|
||||
|
||||
[ -n "$updateme" ] &&
|
||||
updateprice "$target" &&
|
||||
[ -n "$showupdate" ] &&
|
||||
notify-send "$icon Update complete." "$name price is now
|
||||
\$$(cat "$pricefile")"
|
||||
if [ -n "$showupdate" ]; then
|
||||
updateprice && notify-send "$icon Update complete." "$name price is now \$$(cat "$pricefile")"
|
||||
else
|
||||
[ -n "$4" ] &&
|
||||
( flock -n 9 &&
|
||||
( until { [ "$(cat /sys/class/net/w*/operstate)" = 'up' ] || [ "$(cat /sys/class/net/e*/operstate)" = 'up' ]; } &&
|
||||
updateprice; do sleep 60; done &&
|
||||
pkill -RTMIN+"$4" "${STATUSBAR:-dwmblocks}" ) &
|
||||
echo; exit ) 9>/tmp/sb-price.lock ||
|
||||
updateprice
|
||||
fi
|
||||
|
||||
[ -f "$pricefile" ] && printf "%s%s%0.2f" "$icon" "$symb" "$(cat "$pricefile")"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user