rovr supports a wide range of file types for previewing. the following are the main categories of files that can be previewed:
rovr +
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│
│ │
/home/nspc911/Git/NSPC911/rovr/src/rovr/
│
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Sidebar ─────╮╭─ Files ────────────────────────────────────────────────────────────────────╮
╭─ File Preview ───────────────────────────────╮
│ Search ││
() Search something...
│ │
1
from __future__ import annotations │ Home ││ __pycache__ │
2
│ Trash ││ action_buttons │
3
import asyncio │ Downloads ││ assets │
4
import os │ Documents ││ cache │
5
import sys │ Desktop ││ classes │
6
import threading │ Pictures ││ components │
7
from contextlib import suppress │ Videos ││ core │
8
from io import TextIOWrapper │ Music ││ extras │
9
from os import path │ Pinned ││ footer │
10
from subprocess import Popen , TimeoutE │ chezmoi ││ functions │
11
from time import monotonic │ Git ││ header │
12
from typing import Callable , Iterable │ docs ││ monkey_patches │
13
│ rovr ││ navigation_widgets │
14
from rich.console import RenderableTyp │ Drives ││ screens │
15
from rich.protocol import is_renderabl │ / ││ variables │
16
from textual import constants , events , │ /srv ││ __init__.py │
17
from textual.app import WINDOWS , Compo │ /root ││ __main__.py │
18
from textual.binding import Binding │ /home ││ app.py │
19
from textual.containers import ( │ ││ first_launch.py │
20
HorizontalGroup
, │ ││ first_launch.tcss ▆ │
21
HorizontalScroll
, │ ││ py.typed │
╰───────────────╯╰───────────────────────────────────────────────────────────
NORMAL ─ 18/23 ─╯ ╰ ▉ ╯
╭─ Processes ─────────────────────────────────╮╭─ Metadata ───────────────────────────────────╮╭─ Clipboard ──────────────────────────────────╮
│ ││ Type File │ │ │ ││ Permissions -rw-r--r-- │ │ │ ││ Size 49.66 kB │ │ │ ││ Modified 2026-09-10 15:00 ▇ │ │ │ ││ Accessed 2026-09-10 15:00 │ │
╰─────────────────────────────────────────────╯╰──────────────────────────────────────────────╯╰──────────────────────────────────────────────╯
plain text files are displayed in a text area with syntax highlighting. the language is determined by the file extension. rovr supports a wide range of languages.
debug +
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│
│ │
/home/nspc911/Git/NSPC911/forks/wezterm/target/debug/
│
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Sidebar ─────╮
╭─ Files ────────────────────────────────────────────────────────────────────╮
╭─ Preview (puremagic) ────────────────────────╮
│ Search │ │
() Search something...
│ │
MIME Type: application/x-iso9660-appimage
│ │ Home │ │ .fingerprint │ │
ELF 64-bit LSB pie executable, x86-64,
│ │ Trash │ │ build │ │
version 1 (SYSV), dynamically linked,
│ │ Downloads │ │ deps │ │
interpreter /lib64/ld-linux-x86-64.so.2, for
│ │ Documents │ │ examples │ │ GNU/Linux 6.1.0, │ │ Desktop │ │ incremental │ │ BuildID
=084261f77a0b98183fab988ae1a233c9138…
│ │ Pictures │ │ .cargo-build-lock │ │
with debug_info, not stripped
│ │ Videos │ │ .cargo-lock │ │ │ │ Music │ │ wezterm-gui │ │ │ │ Pinned │ │ wezterm-gui.d │ │ │ │ chezmoi │ │ │ │ │ │ Git │ │ │ │ │ │ docs │ │ │ │ │ │ rovr │ │ │ │ │ │ Drives │ │ │ │ │ │ / │ │ │ │ │ │ /srv │ │ │ │ │ │ /root │ │ │ │ │ │ /home │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────╯
╰─────────────────────────────────────────────────────────────
NORMAL ─ 8/9 ─╯
╰──────────────────────────────────────────────╯
╭─ Processes ─────────────────────────────────╮╭─ Metadata ───────────────────────────────────╮╭─ Clipboard ──────────────────────────────────╮
│ ││ Type File │ │ │ ││ Permissions -rwxr-xr-x │ │ │ ││ Size 771.52 MB │ │ │ ││ Modified 2026-09-10 16:41 ▇ │ │ │ ││ Accessed 2026-09-10 16:41 │ │
╰─────────────────────────────────────────────╯╰──────────────────────────────────────────────╯╰──────────────────────────────────────────────╯
mime types are automatically obtained using puremagic to give you a more accurate information of the file’s type. If you additionally have plugins.file_one enabled with plugins.file_one.get_description, you can view extra information, like how many sections, what type, etc.
rovr
+
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│
│
│─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│
│
│
/home/nspc911/Git/NSPC911/rovr/src/rovr/
│
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Sidebar ─────╮╭─ Files ────────────────────────────────────────────────────────────────────╮
╭─ File Preview (bat) ─────────────────────────╮
│
Search
││
() Search something...
│
│
1
from
__future__
import
annotations
│
Home
││
__pycache__
│
2
│
Trash
││
action_buttons
│
3
import
asyncio
│
Downloads
││
assets
│
4
import
os
│
Documents
││
cache
│
5
import
sys
│
Desktop
││
classes
│
6
import
threading
│
Pictures
││
components
│
7
from
contextlib
import
suppress
│
Videos
││
core
│
8
from
io
import
TextIOWrapper
│
Music
││
extras
│
9
from
os
import
path
│
Pinned
││
footer
│
10
from
subprocess
import
Popen
,
TimeoutExp
│
chezmoi
││
functions
│
11
from
time
import
monotonic
│
Git
││
header
│
12
from
typing
import
Callable
,
Iterable
│
docs
││
monkey_patches
│
13
│
rovr
││
navigation_widgets
│
14
from
rich
.
console
import
RenderableType
│
Drives
││
screens
│
15
from
rich
.
protocol
import
is_renderable
│
/
││
variables
│
16
from
textual
import
constants
,
events
,
o
│
/srv
││
__init__.py
│
17
from
textual
.
app
import
WINDOWS
,
Compose
│
/root
││
__main__.py
│
18
from
textual
.
binding
import
Binding
│
/home
││
app.py
│
19
from
textual
.
containers
import
(
│
││
first_launch.py
│
20 HorizontalGroup
,
│
││
first_launch.tcss
▆
│
21 HorizontalScroll
,
│
││
py.typed
│
╰───────────────╯╰───────────────────────────────────────────────────────────
NORMAL
─
18/23
─╯
╰
▍
╯
╭─ Processes ─────────────────────────────────╮╭─ Metadata ───────────────────────────────────╮╭─ Clipboard ──────────────────────────────────╮
│
││
Type
File
│
│
│
││
Permissions
-rw-r--r--
│
│
│
││
Size
49.66 kB
│
│
│
││
Modified
2026-09-10 15:00
▇
│
│
│
││
Accessed
2026-09-10 15:00
│
│
╰─────────────────────────────────────────────╯╰──────────────────────────────────────────────╯╰──────────────────────────────────────────────╯
if you have bat installed and enabled in the rovr config, it will be used to display text files with syntax highlighting for much more languages and theming.
rovr can display images directly in the terminal. refer to the image previews guide for more details on terminal compatibility and configuration.
src +
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│
│ │
/home/nspc911/Git/NSPC911/rovr/src/
│
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Sidebar ─────╮
╭─ Files ────────────────────────────────────────────────────────────────────╮
╭─ Folder Preview ─────────────────────────────╮
│ Search │ │
() Search something...
│ │ __pycache__ │ Home │ │ rovr │ │ action_buttons │ Trash │ │ │ │ assets │ Downloads │ │ │ │ cache │ Documents │ │ │ │ classes │ Desktop │ │ │ │ components │ Pictures │ │ │ │ core │ Videos │ │ │ │ extras │ Music │ │ │ │ footer │ Pinned │ │ │ │ functions │ chezmoi │ │ │ │ header │ Git │ │ │ │ monkey_patches │ docs │ │ │ │ navigation_widgets │ rovr │ │ │ │ screens │ Drives │ │ │ │ variables │ / │ │ │ │ __init__.py │ /srv │ │ │ │ __main__.py │ /root │ │ │ │ app.py │ /home │ │ │ │ first_launch.py │ │ │ │ │ first_launch.tcss │ │ │ │ │ py.typed │ │ │ │ │ state_manager.py ▇ ╰───────────────╯
╰─────────────────────────────────────────────────────────────
NORMAL ─ 1/1 ─╯
╰──────────────────────────────────────────────╯
╭─ Processes ─────────────────────────────────╮╭─ Metadata ───────────────────────────────────╮╭─ Clipboard ──────────────────────────────────╮
│ ││ Type Directory │ │ │ ││ Permissions drwxr-xr-x │ │ │ ││ Size -- │ │ │ ││ Modified 2026-09-10 17:46 ▇ │ │ │ ││ Accessed 2026-06-15 01:20 │ │
╰─────────────────────────────────────────────╯╰──────────────────────────────────────────────╯╰──────────────────────────────────────────────╯
when a folder is selected, the preview panel will show a list of the files and folders inside it, allowing you to see the contents without navigating into it.
dist +
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│
│ │
/home/nspc911/Git/NSPC911/rovr/dist/
│
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Sidebar ─────╮╭─ Files ────────────────────────────────────────────────────────────────────╮
╭─ Archive Preview ────────────────────────────╮
│ Search ││
() Search something...
│ │
rovr-0.10.2/PKG-INFO
│ Home ││ .gitignore │ │
rovr-0.10.2/pyproject.toml
│ Trash ││
rovr-0.10.2-py3-none-any.whl
│ │
rovr-0.10.2/pyproject.toml.orig
│ Downloads ││ rovr-0.10.2.tar.gz │ │ rovr-0.10.2/LICENSE ▃ │ Documents ││ │ │
rovr-0.10.2/README.md
│ Desktop ││ │ │
rovr-0.10.2/src/rovr/COMMIT_HASH
│ Pictures ││ │ │
rovr-0.10.2/src/rovr/DO_NOT_EDIT_THESE_FI…
│ Videos ││ │ │
rovr-0.10.2/src/rovr/__init__.py
│ Music ││ │ │
rovr-0.10.2/src/rovr/__main__.py
│ Pinned ││ │ │
rovr-0.10.2/src/rovr/_schema_validator.py
│ chezmoi ││ │ │
rovr-0.10.2/src/rovr/action_buttons/__ini…
│ Git ││ │ │
rovr-0.10.2/src/rovr/action_buttons/copy_…
│ docs ││ │ │
rovr-0.10.2/src/rovr/action_buttons/cut_b…
│ rovr ││ │ │
rovr-0.10.2/src/rovr/action_buttons/delet…
│ Drives ││ │ │
rovr-0.10.2/src/rovr/action_buttons/new_i…
│ / ││ │ │
rovr-0.10.2/src/rovr/action_buttons/paste…
│ /srv ││ │ │
rovr-0.10.2/src/rovr/action_buttons/renam…
│ /root ││ │ │
rovr-0.10.2/src/rovr/action_buttons/sort_…
│ /home ││ │ │
rovr-0.10.2/src/rovr/action_buttons/unzip…
│ ││ │ │
rovr-0.10.2/src/rovr/action_buttons/zip_b…
│ ││ │ │
rovr-0.10.2/src/rovr/app.py
│ ││ │ │
rovr-0.10.2/src/rovr/assets/config.toml
╰───────────────╯╰─────────────────────────────────────────────────────────────
NORMAL ─ 3/3 ─╯
╰──────────────────────────────────────────────╯
╭─ Processes ─────────────────────────────────╮╭─ Metadata ───────────────────────────────────╮╭─ Clipboard ──────────────────────────────────╮
│ ││ Type File │ │ │ ││ Permissions -rw-r--r-- │ │ │ ││ Size 1.72 MB │ │ │ ││ Modified 2026-09-10 17:46 ▇ │ │ │ ││ Accessed 2026-09-10 17:46 │ │
╰─────────────────────────────────────────────╯╰──────────────────────────────────────────────╯╰──────────────────────────────────────────────╯
for archive files (like .zip, .tar.gz, .rar), rovr will display a list of the files and folders contained within the archive.
for pdf files, rovr makes use of poppler . you can also scroll through the pdf with your mouse (scrollbars are unavailable for now) or use your keyboard to navigate it.
rovr makes use of resvg-py to render svg files, so you don’t need resvg installed on your system – it automatically previews the svg file for you without any setup
for font files (like .ttf, .otf), rovr will display a preview of the font. you can customise the text used in the preview if you want to test extra things
You can change the file type to preview association by modifying the [settings.preview_rules] section in your config.toml
If your mime type is accurate enough (like image/png), you can omit the check and use the mime type only:
However, in the case of vague mime types like application/gzip, if you want to preview .svgz files as an svg instead of a failed archive file, you can use the following rule:
[settings.preview_rules."application/(x-)?gzip"]
extensions = { svgz = " resvg " }
In the above example, we are telling rovr that for files with mime type application/gzip and application/x-gzip, to use archive by default, except if the file ends with .svgz, and in that case, use the svg renderer