Compare commits

...

20 Commits

Author SHA1 Message Date
appeasementPolitik
41ca7e2767
Merge 0afc70a07c69b2a6fb1ab153a7087a0776e5fa8f into c95a16916d5c71288e5e49a78d0621943c89a682 2024-05-24 00:28:26 +02:00
Zmole Cristian
c95a16916d
Add OCR to maimpick (#1415)
Sometimes you just need to grab some text from a video
2024-05-23 17:25:19 +00:00
Luke Smith
28eff887e0
Merge branch 'master' of github.com:LukeSmithxyz/voidrice 2024-05-23 13:03:55 -04:00
Luke Smith
441d26b75d
for legacy vim colorscheme 2024-05-23 13:03:41 -04:00
Ryan F
db6ee8f819
map gh fix (#1414)
map gh doesn't do anything because it doesn't recognize multi-letter commands. mapping H to cd to ~
2024-05-23 16:42:08 +00:00
Luke Smith
487be9193c
remove default rss feeds 2024-05-17 09:13:07 -04:00
appeasementPolitik
0afc70a07c
Change to more suitable lock file location for user programs 2023-11-25 09:13:56 +00:00
appeasementPolitik
1500ec504e
Use actual locks instead of pgrep 2023-10-03 21:23:15 +00:00
appeasementPolitik
b5317fdaf2
Merge branch 'master' into async 2023-10-03 20:40:48 +00:00
appeasementPolitik
92d3560888
Robustness not needed anymore because of curl's --output, no more empty files 2023-08-18 21:21:44 +00:00
appeasementPolitik
b0dbb1d1f6
Also change modification time 2023-08-18 14:49:50 +00:00
appeasementPolitik
36d40adb8d
Only redirect non-empty output: for when services are down 2023-08-16 13:32:44 +00:00
appeasementPolitik
de863bf0f0
Make the retry logic better + other changes 2023-08-16 10:56:33 +00:00
appeasementPolitik
b7dc644e1a
Re-add fail-early to sb-price 2023-04-23 15:02:32 +00:00
appeasementPolitik
fead6d66ce
Merge branch 'master' into async 2023-04-20 17:16:20 +00:00
appeasementPolitik
b1ddd9548e
Merge latest commits and add retries 2023-04-20 17:11:58 +00:00
appeasementPolitik
e3a5d38200
Become synchronous on manual run and make dwmblocks signal code optional 2023-04-05 08:09:57 +00:00
appeasementPolitik
0e237592d7
Allow dwmblocks signal numbers to be changed 2023-04-04 07:25:19 +00:00
appeasementPolitik
060c093deb
Merge branch 'LukeSmithxyz:master' into async 2023-04-04 07:19:35 +00:00
appeasementPolitik
d1054d839e
Make dwmblocks modules async 2023-04-02 11:53:46 +00:00
8 changed files with 41 additions and 31 deletions

View File

@ -139,7 +139,7 @@ cmd bulkrename ${{
# Bindings
map <c-f> $lf -remote "send $id select \"$(fzf)\""
map J $lf -remote "send $id cd $(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)"
map gh
map H cd ~
map g top
map D delete
map E extract

View File

@ -1,10 +0,0 @@
https://lukesmith.xyz/rss.xml
https://videos.lukesmith.xyz/feeds/videos.xml?videoChannelId=2 "~Luke Smith (Videos)"
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith (YouTube)"
https://lindypress.net/rss
https://notrelated.xyz/rss
https://landchad.net/rss.xml
https://based.cooking/index.xml
https://artixlinux.org/feed.php "tech"
https://www.archlinux.org/feeds/news/ "tech"
https://github.com/LukeSmithxyz/voidrice/commits/master.atom "~LARBS dotfiles"

View File

@ -31,6 +31,7 @@ set noshowmode
set noruler
set laststatus=0
set noshowcmd
colorscheme vim
" Some basics:
nnoremap c "_c
@ -104,10 +105,9 @@ set noshowcmd
cabbrev w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
" Enable Goyo by default for mutt writing
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo 80 | call feedkeys("jk")
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo!\|x!<CR>
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo!\|q!<CR>
" Automatically deletes all trailing whitespace and newlines at end of file on save. & reset cursor position
autocmd BufWritePre * let currPos = getpos(".")

View File

@ -7,6 +7,7 @@
# variables
output="$(date '+%y%m%d-%H%M-%S').png"
xclip_cmd="xclip -sel clip -t image/png"
ocr_cmd="xclip -sel clip"
case "$(printf "a selected area\\ncurrent window\\nfull screen\\na selected area (copy)\\ncurrent window (copy)\\nfull screen (copy)" | dmenu -l 6 -i -p "Screenshot which area?")" in
"a selected area") maim -u -s pic-selected-"${output}" ;;
@ -15,4 +16,5 @@ case "$(printf "a selected area\\ncurrent window\\nfull screen\\na selected area
"a selected area (copy)") maim -u -s | ${xclip_cmd} ;;
"current window (copy)") maim -q -d 0.2 -i "$(xdotool getactivewindow)" | ${xclip_cmd} ;;
"full screen (copy)") maim -q -d 0.2 | ${xclip_cmd} ;;
"a selected area (OCR)") tmpfile=$(mktemp /tmp/ocr-XXXXXX.png) && maim -u -s > "$tmpfile" && tesseract "$tmpfile" - -l eng | ${ocr_cmd} && rm "$tmpfile" ;;
esac

View File

@ -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) setsid -f "$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>"${XDG_RUNTIME_DIR}/sb-forecast.lock"

View File

@ -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>"${XDG_RUNTIME_DIR}/sb-iplocate.lock"
name="${addr##*, }"
flag="$(grep "flag: $name" "${XDG_DATA_HOME:-$HOME/.local/share}/larbs/emoji")"
flag="${flag%% *}"

View File

@ -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>"${XDG_RUNTIME_DIR}/sb-moonphase.lock"
icon="$(cat "$moonfile")"

View File

@ -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>"${XDG_RUNTIME_DIR}/sb-price.lock" ||
updateprice
fi
[ -f "$pricefile" ] && printf "%s%s%0.2f" "$icon" "$symb" "$(cat "$pricefile")"