linux file preview utility
— take a peek —
ファイルを開かずに、ただ覗く。
Linuxのデスクトップへ、キーひとつで届く静かな窓。
Open without opening
アプリを起動してファイルを編集する準備をする必要はありません。ただ、中身を確認したい。tkpeek はその「確認したい」だけに応えます。
One key, one glimpse
スペースキーひとつで即座にプレビューが現れ、もう一度で消える。macOS の Quick Look が持つ「瞬間性」を Linux のデスクトップへ。
No editor footprint
gnome-sushi はアプリを開く。tkpeek は開かない。軽く、速く、静かに。ワークフローを中断させず、ただ傍らに立つ存在。
Built for curiosity
ファイルマネージャを泳ぎ回るとき、ちょっと確認したいだけなのにフルアプリが起動する煩わしさ。そのストレスをなくすために。
1 / 12
Modern desktop environments on Linux have historically lacked a native, frictionless mechanism for inspecting file contents without invoking a full application. This paper examines the interaction costs associated with existing solutions—including gnome-sushi and conventional file manager integrations—and proposes a lightweight preview daemon architecture.
The core design principle is read-only transience: the preview surface appears on demand, presents content faithfully, and disappears without leaving state. This mirrors the behavior long available on macOS via Quick Look, but adapted for the compositing constraints of both X11 and Wayland.
Our prototype, tkpeek, demonstrates that sub-100ms activation latency is achievable through lazy renderer initialization combined with a persistent socket-based IPC channel.
import gi gi.require_version("Gtk", "4.0") from gi.repository import Gtk, GLib class PeekWindow(Gtk.Window): """Transient preview overlay for tkpeek.""" def __init__(self, filepath: str) -> None: super().__init__() self.filepath = filepath self.set_default_size(900, 600) self._build_ui() def _build_ui(self) -> None: renderer = RendererFactory.get(self.filepath) self.set_child(renderer.widget()) def on_key_press(self, key) -> None: if key == Gdk.KEY_Escape: self.close()
A lightweight file preview utility for Linux. Press Space to peek, Esc to close.
pip install tkpeek
gnome-sushi opens an application window. tkpeek stays read-only and transient — it never modifies your files and leaves no open handles behind.
macOS has long offered Quick Look as a zero-friction way to inspect files. Linux desktop users have had no equivalent native experience. This proposal outlines the development of tkpeek, a daemon-based file preview utility designed for GTK 4 desktops.
The initial release will cover PDF rendering via poppler, image display, syntax-highlighted source code, and Markdown. Subsequent releases will add .docx and .pptx support via python-docx and python-pptx respectively.
| Milestone | Target |
|---|---|
| v0.1 — core renderer | Q1 2025 |
| v0.2 — office formats | Q2 2025 |
| v1.0 — plugin API | Q3 2025 |
| tool | instant preview | no app launch | read-only focus | lightweight |
|---|---|---|---|---|
| tkpeek this | yes | yes | yes | yes |
| gnome-sushi | yes | app opens | editable | heavy |
| macOS Quick Look | yes | yes | yes | yes |
| file manager open | no | launches app | editable | heavy |
Keyboard driven
スペースキーひとつで起動・終了。マウスに手を伸ばす必要なし。
Instant render
画像、テキスト、PDF、動画──主要フォーマットを瞬時にレンダリング。
Read-only by design
編集機能は持たない。覗くだけ。その制約が軽さを生む。
Linux native
GTK ベース、Wayland / X11 両対応。デスクトップ環境を選ばない。
Minimal footprint
起動時間を最小化。バックグラウンドに常駐せず、呼ばれたときだけ現れる。
Plugin ready
対応フォーマットをプラグインで拡張できる設計を予定。
etymology
"take a peek" は英語で「ちょっと覗く」という意味の口語表現。 好奇心から、あるいは確認のために、扉の隙間や窓越しに目をやる—— その軽さと瞬間性がそのままツールのコンセプトになっています。
pronunciation
/tiː keɪ piːk/
ティーケーピーク。シンプルに、覚えやすく。コマンドラインでもそのまま使えます。