summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2024-07-15 13:15:47 -0400
committerBenjamin Chausse <benjamin@chausse.xyz>2024-07-15 13:15:47 -0400
commit114d8f292d177b71ea08c55b70d7856e1bc50baa (patch)
tree14e632a79458f24945b5b312660e5171779466b5
parent2ac634353abc4175236181732f8d23bdad8fc0eb (diff)
ttf/otf font preview within lf
-rwxr-xr-x.config/lf/lfrc1
-rwxr-xr-x.config/lf/scope184
-rw-r--r--.config/mimeapps.list1
-rw-r--r--.config/sxhkd/sxhkdrc6
-rwxr-xr-x.local/bin/colorhandler4
-rwxr-xr-x.local/bin/compiler14
-rw-r--r--.profile1
7 files changed, 119 insertions, 92 deletions
diff --git a/.config/lf/lfrc b/.config/lf/lfrc
index b6c80a8..251230e 100755
--- a/.config/lf/lfrc
+++ b/.config/lf/lfrc
@@ -141,6 +141,7 @@ map b $setbg $f
map <c-e> down
map <c-y> up
map V push :!nvim<space>
+map N push :!touch<space>
map W $setsid -f $TERMINAL >/dev/null 2>&1
map Y $printf "%s" "$fx" | xclip -selection clipboard
diff --git a/.config/lf/scope b/.config/lf/scope
index f396519..6d9e8cdf 100755
--- a/.config/lf/scope
+++ b/.config/lf/scope
@@ -12,17 +12,17 @@ PREVIEW_WIDTH=600 # px
# PrefixGen: generates a hash prefix for the given file
# This is a unique identifier for the file to preview
PrefixGen() {
- # The file path is hashed instead of the file itself since large files
- # can take a long time to hash and the file path is usually enough to
- # uniquely identify the file. Also, the suffix is used to determine if
- # the preview is outdated (which removes the need to hash the file).
- readlink -f "$1" | sha256sum | cut -d' ' -f1
+ # The file path is hashed instead of the file itself since large files
+ # can take a long time to hash and the file path is usually enough to
+ # uniquely identify the file. Also, the suffix is used to determine if
+ # the preview is outdated (which removes the need to hash the file).
+ readlink -f "$1" | sha256sum | cut -d' ' -f1
}
# SuffixGen: generates a hash suffix for the given file
# This suffix is used to determine if the preview is outdated
SuffixGen() {
- stat -Lc "%Y" "$1"
+ stat -Lc "%Y" "$1"
}
# Prevent recursive thumbnails (if the file ends in .six)
@@ -30,94 +30,116 @@ SuffixGen() {
case "$(file --dereference --brief --mime-type -- "$1")" in
text/html)
- lynx -width="$4" -display_charset=utf-8 -dump "$1"
- ;;
+ lynx -width="$4" -display_charset=utf-8 -dump "$1"
+ ;;
text/troff)
- man ./ "$1" | col -b
- ;;
+ man ./ "$1" | col -b
+ ;;
text/* | */xml | application/json | application/x-ndjson)
- bat --terminal-width "$(($4 - 2))" -f "$1"
- ;;
+ bat --terminal-width "$(($4 - 2))" -f "$1"
+ ;;
audio/* | application/octet-stream)
- mediainfo "$1" || exit 1
- ;;
+ mediainfo "$1" || exit 1
+ ;;
+font/* | application/vnd.ms-opentype)
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+
+ PREVIEW_TEXT="ABCDEFGHIJKLMNOPQRSTUBWXYZ\n""\
+abcdefghijklmnopqrstuvwxyz\n""\
+1234567890\n""\
+!@#$\%(){}[]-+=_\`~"
+
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] || {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ convert -size "600x412" xc:'#ffffff' \
+ -gravity center -pointsize 28 \
+ -font "$1" \
+ -fill '#000000' \
+ -annotate +0+0 "$PREVIEW_TEXT" \
+ -flatten ppm:- | img2sixel -E size -q high -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+
+ ;;
image/vnd.djvu)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- djvused "$1" -e 'select 1; save-page-with /dev/stdout' |
- convert djvu:- ppm:- |
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
- ;;
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ djvused "$1" -e 'select 1; save-page-with /dev/stdout' |
+ convert djvu:- ppm:- |
+ img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+ ;;
image/webp)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- dwebp "$1" -tiff -o - | img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
- ;;
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ dwebp "$1" -tiff -o - | img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+ ;;
image/heic)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- convert "$1" ppm:- |
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
- ;;
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ convert "$1" ppm:- |
+ img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+ ;;
image/*)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH "$1" -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
- ;;
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ img2sixel -S -E size -q high -w $PREVIEW_WIDTH "$1" -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+ ;;
*/pdf)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- pdftocairo -singlefile -scale-to-x $PREVIEW_WIDTH -scale-to-y -1 -jpeg "$1" - |
- img2sixel -S -E size -q high -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
- ;;
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ pdftocairo -singlefile -scale-to-x $PREVIEW_WIDTH -scale-to-y -1 -jpeg "$1" - |
+ img2sixel -S -E size -q high -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+ ;;
video/*)
- prefix="$(PrefixGen "$1")"
- suffix="$(SuffixGen "$1")"
- filename="$prefix-$suffix"
- [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
- rm -f "$PREVIEW_DIR/$prefix-*"
- ffmpegthumbnailer -i "$1" -s 0 -c jpeg -f -o - |
- img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
- }
- cat "$PREVIEW_DIR/$filename.six"
- ;;
+ prefix="$(PrefixGen "$1")"
+ suffix="$(SuffixGen "$1")"
+ filename="$prefix-$suffix"
+ [ ! -f "$PREVIEW_DIR/$filename.six" ] && {
+ rm -f "$PREVIEW_DIR/$prefix-*"
+ ffmpegthumbnailer -i "$1" -s 0 -c jpeg -f -o - |
+ img2sixel -S -E size -q high -w $PREVIEW_WIDTH -o "$PREVIEW_DIR/$filename.six"
+ }
+ cat "$PREVIEW_DIR/$filename.six"
+ ;;
application/*zip)
- atool --list -- "$1"
- ;;
+ atool --list -- "$1"
+ ;;
*spreadsheetml.sheet)
- xlsx2csv -s 1 "$1" | bat --terminal-width "$(($4 - 2))" -l 'csv'
- ;;
+ xlsx2csv -s 1 "$1" | bat --terminal-width "$(($4 - 2))" -l 'csv'
+ ;;
*opendocument*)
- odt2txt "$1"
- ;;
+ odt2txt "$1"
+ ;;
application/pgp-encrypted)
- gpg -d -- "$1"
- ;;
+ gpg -d -- "$1"
+ ;;
esac
exit 1
diff --git a/.config/mimeapps.list b/.config/mimeapps.list
index 487fece..34ceddb 100644
--- a/.config/mimeapps.list
+++ b/.config/mimeapps.list
@@ -41,3 +41,4 @@ application/xhtml+xml=firefox.desktop;
application/x-extension-xhtml=firefox.desktop;
application/x-extension-xht=firefox.desktop;
text/plain=nvim.desktop;
+text/calendar=nvim.desktop
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
index 31f10df..7a296fa 100644
--- a/.config/sxhkd/sxhkdrc
+++ b/.config/sxhkd/sxhkdrc
@@ -153,7 +153,7 @@ super + p
displayselect
## TODOs (orgmode-nvim)
super + space
- dropdowntoggle orgmode nvim +"Neorg index"
+ dropdowntoggle orgmode nvim "$HOME/Dropbox/org/index.org"
## Terminal Calculator
super + a
dropdowntoggle calc tmux-py
@@ -217,10 +217,10 @@ XF86AudioMute
## Increase/decrease Brightness
{XF86MonBrightnessUp, XF86MonBrightnessDown}
backlightctl -{i,d} 5
-## Max-Out Brightness
+## Set brightness to maximum
shift + XF86MonBrightnessUp
backlightctl -s 100
-## Set Brightness to 5 percent
+## Set brightness to minimum
shift + XF86MonBrightnessDown
backlightctl -s 0
## Fix games with MX Master mouse
diff --git a/.local/bin/colorhandler b/.local/bin/colorhandler
index 7e35263..3f0f18f 100755
--- a/.local/bin/colorhandler
+++ b/.local/bin/colorhandler
@@ -1,6 +1,8 @@
#!/bin/sh
-col=$(colorpicker --short --one-shot)
+[ -z "$1" ] && col=$(colorpicker --short --one-shot) ||
+ col="$1"
+
sed "s/fill=.*>/fill=\"$col\">/g" $HOME/.local/share/circle.svg > /tmp/circle.svg
diff --git a/.local/bin/compiler b/.local/bin/compiler
index e6a6db3..5754848 100755
--- a/.local/bin/compiler
+++ b/.local/bin/compiler
@@ -13,13 +13,13 @@ base="${file%.*}"
cd "$dir" || exit
textype() {
- command="pdflatex"
- (sed 5q "$file" | grep -i -q 'xelatex') && command="xelatex"
- $command --output-directory="$dir" "$base" &&
- grep -i addbibresource "$file" >/dev/null &&
- biber --input-directory "$dir" "$base" &&
- $command --output-directory="$dir" "$base" &&
- $command --output-directory="$dir" "$base"
+ command="pdflatex"
+ (sed 5q "$file" | grep -i -q 'xelatex') && command="xelatex"
+ $command --output-directory="$dir" "$base" &&
+ grep -i addbibresource "$file" >/dev/null &&
+ biber --input-directory "$dir" "$base" &&
+ $command --output-directory="$dir" "$base" &&
+ $command --output-directory="$dir" "$base"
}
case "$file" in
diff --git a/.profile b/.profile
index bd1c575..41b425f 100644
--- a/.profile
+++ b/.profile
@@ -40,6 +40,7 @@ export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default"
export HISTFILE="$XDG_CACHE_HOME/zsh_history"
export HISTSIZE=1000
export SAVEHIST=10000
+export BAT_THEME="ansi"
# Path
export PATH="$PATH:$(find "$HOME/.local/bin" -type d | paste -sd ":" -)"