rovr includes a powerful preview sidebar that can display the contents of various filetypes.
11:01:48 rovr + ╭ ─ Options
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╮ │ │ │
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ │ │
C:/Users/notso/Git/NSPC911/rovr/src/rovr/
│ ╰
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╯ ╭ ─ Sidebar ───── ╮ ╭ ─ Files
────────────────────────────────────────────────────────────────────
╮ ╭ ─
File Preview
───────────────────────────────
╮ │ Search │ │
() Search something...
│ │ 1 import os │ │ Home │ │ action_buttons ▁ │ │ 2 from asyncio import sleep │ │ Downloads │ │ classes │ │ 3 from importlib import resources │ │ Documents │ │ components │ │ 4 from importlib . metadata import PackageN │ │ Desktop │ │ config │ │ 5 from io import BytesIO │ │ Pictures │ │ core │ │ 6 from shutil import which │ │ Videos │ │ footer │ │ 7 from typing import Callable │ │ Music │ │ functions │ │ 8 from urllib import error , request │ │ Pinned │ │ header │ │ 9 │ │ scoop │ │ monkey_patches │ │ 10 import textual_image . widget as timg │ │ Mods │ │ navigation_widgets │ │ 11 import tomli │ │ chezmoi │ │ screens │ │ 12 from PIL import Image as PILImage │ │ NSPC911 │ │ variables │ │ 13 from PIL . Image import Image │ │ Git │ │ __init__.py │ │ 14 from pygments . styles import get_all_sty │ │ rovr │ │ __main__.py │ │ 15 from rich . syntax import Syntax │ │ Drives │ │ app.py │ │ 16 from rich . text import Text │ │ C:/ │ │ first_launch.py │ │ 17 from textual import events , on , work │ │ │ │ first_launch.tcss │ │ 18 from textual . app import App , ComposeRes │ │ │ │ py.typed │ │ 19 from textual . binding import Binding │ │ │ │ state_manager.py │ │ 20 from textual . containers import ( │ │ │ │ style.tcss │ │ 21 Center , │ │ │ │ widgets.py │ │ 22 Container , │ ╰ ─────────────── ╯ ╰
───────────────────────────────────────────────────────────
NORMAL ─ 17/22 ─ ╯ ╰
──────────────────────────────────────────────
╯ ╭ ─ Processes
─────────────────────────────────
╮ ╭ ─ Metadata
───────────────────────────────────
╮ ╭ ─ Clipboard
──────────────────────────────────
╮ │ │ │ Type File │ │ │ │ │ │ Permissions -rw-rw-rw- │ │ │ │ │ │ Size 18.16 kB │ │ │ │ │ │ Modified 2026-05-16 10:50 ▃ │ │ │ │ │ │ Accessed 2026-05-16 10:50 │ │ │ ╰
─────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯
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.
00:03:02 Scripts + ╭ ─ Options
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╮ │ │ │
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ │ │
C:/Users/notso/Git/NSPC911/rovr/.venv/Scripts/
│ ╰
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╯ ╭ ─ Sidebar ───── ╮ ╭ ─ Files
─────────────────────────────────────────────────────────────────────
╮ ╭
──────────────────────────────────────────────
╮ │ Search │ │
() Search something...
│ │
MIME Type: application/octet-stream
│ │ Home │ │ activate │ │
PE32+ executable for MS Windows 6.00 (conso…
│ │ Downloads │ │
activate-global-python-argcomplete.exe
│ │ │ │ Documents │ │ activate.bat │ │ │ │ Desktop │ │ activate.csh │ │ │ │ Pictures │ │ activate.fish │ │ │ │ Videos │ │ activate.nu │ │ │ │ Music │ │ activate.ps1 │ │ │ │ Pinned │ │ activate_this.py │ │ │ │ rovr │ │ cz.exe │ │ │ │ scoop │ │ deactivate.bat │ │ │ │ notso │ │ git-cz.exe │ │ │ │ Mods │ │ markdown-it.exe │ │ │ │ Drives │ │ natsort.exe │ │ │ │ C:/ │ │ normalizer.exe │ │ │ │ D:/ │ │ poe.exe │ │ │ │ │ │ prek.exe ▆ │ │ │ │ │ │ pydoc.bat │ │ │ │ │ │ pygmentize.exe │ │ │ │ │ │ pyinstrument.exe │ │ │ │ │ │
python-argcomplete-check-easy-install-script.exe
│ │ │ │ │ │ python.exe │ │ │ ╰ ─────────────── ╯ ╰
─────────────────────────────────────────────────────────────
NORMAL ─ 2/29 ─ ╯ ╰
──────────────────────────────────────────────
╯ ╭ ─ Processes
──────────────────────────────────
╮ ╭ ─ Metadata
───────────────────────────────────
╮ ╭ ─ Clipboard
──────────────────────────────────
╮ │ │ │ Type File │ │ │ │ │ │ Permissions -rwxrwxrwx │ │ │ │ │ │ Size 47.10 kB │ │ │ │ │ │ Modified 2026-02-19 22:49 ▃ │ │ │ │ │ │ Accessed 2026-02-20 00:02 │ │ │ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯
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.
11:00:03 rovr + ╭ ─ Options
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╮ │ │ │
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ │ │
C:/Users/notso/Git/NSPC911/rovr/src/rovr/
│ ╰
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╯ ╭ ─ Sidebar ───── ╮ ╭ ─ Files
────────────────────────────────────────────────────────────────────
╮ ╭ ─
File Preview (bat)
───────────────────────── ╮ │ Search │ │
() Search something...
│ │ 1 from __future__ import annotations │ │ Home │ │ __pycache__ │ │ 2 │ │ Downloads │ │ action_buttons │ │ 3 import asyncio │ │ Documents │ │ classes │ │ 4 import multiprocessing │ │ Desktop │ │ components │ │ 5 import threading │ │ Pictures │ │ config │ │ 6 from contextlib import suppress │ │ Videos │ │ core │ │ 7 from importlib import resources │ │ Music │ │ footer │ │ 8 from io import TextIOWrapper │ │ Pinned │ │ functions │ │ 9 from os import chdir , getcwd , path │ │ scoop │ │ header │ │ 10 from time import perf_counter │ │ Mods │ │ monkey_patches │ │ 11 from typing import Callable , Iterable │ │ chezmoi │ │ navigation_widgets │ │ 12 │ │ NSPC911 │ │ screens │ │ 13 from rich . console import RenderableType │ │ Git │ │ variables │ │ 14 from rich . protocol import is_renderable │ │ rovr │ │ __init__.py │ │ 15 from textual import constants , events , … │ │ Drives │ │ __main__.py │ │ 16 from textual . app import WINDOWS , App , … │ │ C:/ │ │ app.py │ │ 17 from textual . binding import Binding │ │ │ │ first_launch.py │ │ 18 from textual . color import ColorParseEr… │ │ │ │ first_launch.tcss │ │ 19 from textual . containers import ( │ │ │ │ py.typed │ │ 20 HorizontalGroup , │ │ │ │ state_manager.py │ │ 21 HorizontalScroll , │ │ │ │ style.tcss ▇ │ │ 22 Vertical , │ ╰ ─────────────── ╯ ╰
───────────────────────────────────────────────────────────
NORMAL ─ 16/22 ─ ╯ ╰
──────────────────────────────────────────────
╯ ╭ ─ Processes
─────────────────────────────────
╮ ╭ ─ Metadata
───────────────────────────────────
╮ ╭ ─ Clipboard
──────────────────────────────────
╮ │ │ │ Type File │ │ │ │ │ │ Permissions -rw-rw-rw- │ │ │ │ │ │ Size 49.98 kB │ │ │ │ │ │ Modified 2026-05-16 10:50 ▃ │ │ │ │ │ │ Accessed 2026-05-16 10:50 │ │ │ ╰
─────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯
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.
no screenshots, they don’t play nicely with svg
rovr can display images directly in the terminal. refer to the image previews guide for more details on terminal compatibility and configuration.
17:32:38 src + ╭ ─ Options
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╮ │ │ │
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ │ │
C:/Users/notso/Git/NSPC911/rovr/src/
│ ╰
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╯ ╭ ─ Sidebar ───── ╮ ╭ ─ Files
─────────────────────────────────────────────────────────────────────
╮ ╭ ─
Folder Preview
─────────────────────────────
╮ │ Search │ │
() Search something...
│ │ __pycache__ │ │ Home │ │ rovr │ │ action_buttons │ │ Downloads │ │ │ │ classes │ │ Documents │ │ │ │ components │ │ Desktop │ │ │ │ config │ │ Pictures │ │ │ │ core │ │ Videos │ │ │ │ footer │ │ Music │ │ │ │ functions │ │ Pinned │ │ │ │ header │ │ rovr │ │ │ │ monkey_patches │ │ scoop │ │ │ │ navigation_widgets │ │ notso │ │ │ │ screens │ │ Mods │ │ │ │ variables │ │ Drives │ │ │ │ __init__.py │ │ C:/ │ │ │ │ __main__.py │ │ D:/ │ │ │ │ app.py │ │ │ │ │ │ first_launch.py │ │ │ │ │ │ first_launch.tcss │ │ │ │ │ │ py.typed │ │ │ │ │ │ state_manager.py │ │ │ │ │ │ style.tcss │ │ │ │ │ │ │ ╰ ─────────────── ╯ ╰
──────────────────────────────────────────────────────────────
NORMAL ─ 1/1 ─ ╯ ╰
──────────────────────────────────────────────
╯ ╭ ─ Processes
──────────────────────────────────
╮ ╭ ─ Metadata
───────────────────────────────────
╮ ╭ ─ Clipboard
──────────────────────────────────
╮ │ │ │ Type Directory │ │ │ │ │ │ Permissions drwxrwxrwx │ │ │ │ │ │ Size -- │ │ │ │ │ │ Modified 2026-02-20 17:32 ▃ │ │ │ │ │ │ Accessed 2026-02-20 17:32 │ │ │ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯
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.
00:06:46 dist + ╭ ─ Options
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╮ │ │ │
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ │ │
C:/Users/notso/Git/NSPC911/rovr/dist/
│ ╰
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
╯ ╭ ─ Sidebar ───── ╮ ╭ ─ Files
─────────────────────────────────────────────────────────────────────
╮ ╭ ─
Archive Preview
────────────────────────────
╮ │ Search │ │
() Search something...
│ │ rovr-0.7.0/LICENSE ▆ │ │ Home │ │ .gitignore │ │
rovr-0.7.0/README.md
│ │ Downloads │ │
rovr-0.7.0-py3-none-any.whl
│ │
rovr-0.7.0/pyproject.toml
│ │ Documents │ │ rovr-0.7.0.tar.gz │ │
rovr-0.7.0/src/rovr/COMMIT_HASH
│ │ Desktop │ │
rovr-0.8.0.dev1-py3-none-any.whl
│ │
rovr-0.7.0/src/rovr/__init__.py
│ │ Pictures │ │
rovr-0.8.0.dev1.tar.gz
│ │
rovr-0.7.0/src/rovr/__main__.py
▂ │ │ Videos │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/__init…
│ │ Music │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/copy_b…
│ │ Pinned │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/cut_bu…
│ │ rovr │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/delete…
│ │ scoop │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/new_it…
│ │ notso │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/paste_…
│ │ Mods │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/rename…
│ │ Drives │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/sort_o…
│ │ C:/ │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/unzip_…
│ │ D:/ │ │ │ │
rovr-0.7.0/src/rovr/action_buttons/zip_bu…
│ │ │ │ │ │
rovr-0.7.0/src/rovr/app.py
│ │ │ │ │ │
rovr-0.7.0/src/rovr/classes/__init__.py
│ │ │ │ │ │
rovr-0.7.0/src/rovr/classes/archive.py
│ │ │ │ │ │
rovr-0.7.0/src/rovr/classes/exceptions.py
│ │ │ │ │ │
rovr-0.7.0/src/rovr/classes/mixins.py
│ │ │ │ │ │
rovr-0.7.0/src/rovr/classes/session_manag…
│ ╰ ─────────────── ╯ ╰
──────────────────────────────────────────────────────────────
NORMAL ─ 3/5 ─ ╯ ╰
──────────────────────────────────────────────
╯ ╭ ─ Processes
──────────────────────────────────
╮ ╭ ─ Metadata
───────────────────────────────────
╮ ╭ ─ Clipboard
──────────────────────────────────
╮ │ │ │ Type File │ │ │ │ │ │ Permissions -rw-rw-rw- │ │ │ │ │ │ Size 176.97 kB │ │ │ │ │ │ Modified 2026-02-10 20:04 ▃ │ │ │ │ │ │ Accessed 2026-02-19 23:51 │ │ │ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯ ╰
──────────────────────────────────────────────
╯
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