]> git.phdru.name Git - dotfiles.git/commitdiff
.mc/menu: View pdf with `qpdfview`
authorOleg Broytman <phd@phdru.name>
Thu, 10 Jun 2021 16:43:08 +0000 (19:43 +0300)
committerOleg Broytman <phd@phdru.name>
Thu, 10 Jun 2021 16:43:08 +0000 (19:43 +0300)
I use non-UTF8 (KOI8-R) locale but `qpdfview` no longer opens non-UTF8 paths.
The menu item opens the file directly using `qpdfview`
if the full path is UTF8-encoded. If not the code creates ASCII-only symlink
in `~/home/tmp/` that encodes the full path in its name to make `qpdfview`
store session info for the file.

.mc/menu

index 9ba07b1327a6739a5f08732acb006c834e6c4cc0..76be4695154f5367d80cf47ff3639c9db024d70a 100644 (file)
--- a/.mc/menu
+++ b/.mc/menu
@@ -65,10 +65,14 @@ T  fb2txt
 v  View pdf
    pdftotext -layout -q %f - | iconv.py -f utf-8 | ${PAGER:-more}
 
-+= t lr & f \.(pdf|PDF)$
++ t lr & f \.(pdf|PDF)$
 e  View pdf with evince
    evince %f &
 
++= t lr & f \.(pdf|PDF)$
+e  View pdf with qpdfview
+   if [ "%d/%f" = "`echo %d/%f | iconv -t utf-8`" ]; then qpdfview %f & else src=%d/%f; dest="$HOME/tmp/`echo $src | koi2lat | sed 's!/!%!g'`"; ln -s "$src" "$dest" && qpdfview "$dest" & (sleep 3; exec rm -f "$dest") & fi
+
 += t lr & f \.djvu(\.bz2|\.gz)?$
 e  View djvu
    djview %f &