linux file preview utility

tkpeek

— take a peek —

ファイルを開かずに、ただ覗く。
Linuxのデスクトップへ、キーひとつで届く静かな窓。

scroll
concept

Open without opening

アプリを起動してファイルを編集する準備をする必要はありません。ただ、中身を確認したい。tkpeek はその「確認したい」だけに応えます。

One key, one glimpse

スペースキーひとつで即座にプレビューが現れ、もう一度で消える。macOS の Quick Look が持つ「瞬間性」を Linux のデスクトップへ。

No editor footprint

gnome-sushi はアプリを開く。tkpeek は開かない。軽く、速く、静かに。ワークフローを中断させず、ただ傍らに立つ存在。

Built for curiosity

ファイルマネージャを泳ぎ回るとき、ちょっと確認したいだけなのにフルアプリが起動する煩わしさ。そのストレスをなくすために。

preview
research_notes.pdf space

1 / 12

Toward a Lightweight File Inspection Model on Linux Desktops

K. Tanaka  ·  2024

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.

mountain_night.png 3840 × 2560 4.2 MB
python renderer.py
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()

tkpeek

A lightweight file preview utility for Linux. Press Space to peek, Esc to close.

Installation

pip install tkpeek

Supported formats

  • PDF, images (PNG / JPEG / WebP / SVG)
  • Plain text, source code with syntax highlighting
  • Markdown, Word (.docx), Slide (.pptx)

Why not gnome-sushi?

gnome-sushi opens an application window. tkpeek stays read-only and transient — it never modifies your files and leaves no open handles behind.

tkpeek — architecture overview

How It Works

① Trigger

User presses Space in the file manager. tkpeek daemon receives the file path via IPC socket.

② Detect

MIME type is resolved. The matching renderer plugin is loaded on demand.

③ Display

An overlay window appears with the rendered content. No app is opened.

proposal_draft.docx

Project Proposal
tkpeek — Linux Quick Look

Background

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.

Scope

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

esc で閉じる  ·  ← → でファイルを切り替える

comparison
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
features

Keyboard driven

スペースキーひとつで起動・終了。マウスに手を伸ばす必要なし。

Instant render

画像、テキスト、PDF、動画──主要フォーマットを瞬時にレンダリング。

🔒

Read-only by design

編集機能は持たない。覗くだけ。その制約が軽さを生む。

🐧

Linux native

GTK ベース、Wayland / X11 両対応。デスクトップ環境を選ばない。

🪶

Minimal footprint

起動時間を最小化。バックグラウンドに常駐せず、呼ばれたときだけ現れる。

🔌

Plugin ready

対応フォーマットをプラグインで拡張できる設計を予定。

name
tktake peeka peek

etymology

"take a peek" は英語で「ちょっと覗く」という意味の口語表現。 好奇心から、あるいは確認のために、扉の隙間や窓越しに目をやる—— その軽さと瞬間性がそのままツールのコンセプトになっています。

pronunciation

/tiː keɪ piːk/
ティーケーピーク。シンプルに、覚えやすく。コマンドラインでもそのまま使えます。