diff --git a/README.md b/README.md index c520ec0..4817903 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ For example, you only need either `elinks`, `lynx` or | File types | Programs | | ---- | ---- | | any | [exiftool][exiftool] cat | -| archive | [atool][atool] | +| archive | [atool][atool] [7z][7z] [bsdtar][bsdtar] | | audio | [ffmpegthumbnailer][ffmpegthumbnailer] [ffmpeg][ffmpeg] | | diff | [colordiff][colordiff] [delta][delta] [diff-so-fancy][diff-so-fancy] | | directory | ls | @@ -84,6 +84,8 @@ For example, you only need either `elinks`, `lynx` or [poppler]: https://poppler.freedesktop.org/ [jq]: https://github.com/jqlang/jq [ffmpeg]: https://ffmpeg.org/ +[7z]: https://www.7-zip.org/ +[bsdtar]: https://github.com/libarchive/libarchive @@ -198,15 +200,18 @@ set cleaner ctpvclear #### Wayland -If you use Wayland, follow these steps: +If you use Wayland and are using `lf` version r31, follow these steps: * Make sure you use one of the [terminals that support sixel][sixel] -* Install [this fork of lf][lf-sixel] * Install [Chafa][chafa] * Add `set chafasixel` to `~/.config/ctpv/config` +* Add `set sixel true` to `~/.config/lf/lfrc` -As of 2023-03-19, original lf does not support sixel protocol, -which is why you need use the fork. +Otherwise, if you're using `lf` version r30 and below, follow these steps: +* Make sure you use one of the [terminals that support sixel][sixel] +* Install [this fork of lf][lf-sixel] +* Install [Chafa][chafa] +* Add `set chafasixel` to `~/.config/ctpv/config` ## Documentation diff --git a/previews.h b/previews.h index 7be4aed..9e9f83c 100644 --- a/previews.h +++ b/previews.h @@ -111,6 +111,100 @@ Preview b_previews[] = { PR("lrz", NULL, NULL, atool, PREV_ATTR_NONE), PR("7z", NULL, NULL, atool, PREV_ATTR_NONE), PR("cpio", NULL, NULL, atool, PREV_ATTR_NONE), + PR("tar.gz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tgz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tgz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.gz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tgz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.bz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tbz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.bz2", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tbz2", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.Z", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tZ", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.lzo", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tzo", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.lz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tlz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.xz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("txz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.7z", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("t7z", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("zip", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("jar", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("war", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("rar", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("lha", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("lzh", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("7z", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("alz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("ace", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("a", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("arj", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("arc", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("rpm", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("deb", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("cab", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("gz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("bz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("bz2", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("Z", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("lzma", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("lzo", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("lz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("xz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("rz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("lrz", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("7z", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("cpio", NULL, NULL, bsdtar, PREV_ATTR_NONE), + PR("tar.gz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tgz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tgz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.gz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tgz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.bz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tbz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.bz2", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tbz2", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.Z", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tZ", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.lzo", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tzo", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.lz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tlz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.xz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("txz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar.7z", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("t7z", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("tar", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("zip", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("jar", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("war", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("rar", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("lha", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("lzh", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("7z", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("alz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("ace", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("a", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("arj", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("arc", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("rpm", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("deb", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("cab", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("gz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("bz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("bz2", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("Z", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("lzma", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("lzo", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("lz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("xz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("rz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("lrz", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("7z", NULL, NULL, 7z, PREV_ATTR_NONE), + PR("cpio", NULL, NULL, 7z, PREV_ATTR_NONE), PR("torrent", NULL, NULL, torrent, PREV_ATTR_EXT_SHORT), PR("gpg", NULL, NULL, gpg, PREV_ATTR_EXT_SHORT), diff --git a/sh/prev/7z.sh b/sh/prev/7z.sh new file mode 100644 index 0000000..76014ca --- /dev/null +++ b/sh/prev/7z.sh @@ -0,0 +1,3 @@ +# archive: 7z + +7z l -ba "$f" diff --git a/sh/prev/bsdtar.sh b/sh/prev/bsdtar.sh new file mode 100644 index 0000000..ff72752 --- /dev/null +++ b/sh/prev/bsdtar.sh @@ -0,0 +1,3 @@ +# archive: bsdtar + +bsdtar tf "$f"