Repository navigation
Releases
MDViewer 1.1.0 - touch support
MDViewer on a tablet. Everything below was found by running it on a Plasma tablet with a finger, not by reasoning about one.
Downloads
Pick the one for your machine — each bundles JavaFX, which ships compiled libraries per platform, so they are not interchangeable.
| Your machine | Download |
|---|---|
| Windows | mdviewer-1.1.0-win.zip |
| Linux, Intel or AMD 64-bit | mdviewer-1.1.0-linux.zip |
| Linux on ARM (Raspberry Pi) | mdviewer-1.1.0-linux-aarch64.zip |
| macOS, Apple silicon (M1+) | mdviewer-1.1.0-mac-aarch64.zip |
| macOS, Intel | mdviewer-1.1.0-mac.zip |
Needs Java 21 or newer. Unzip and run the launcher:
./run.sh # Linux and macOS
run.bat # Windows
The launcher is new, and it is the recommended way in: it selects the X11 backend on Linux, where JavaFX has no Wayland backend and may otherwise never show a window, and it quiets two JVM warnings that come from JavaFX rather than from this application. java -jar mdviewer-1.1.0.jar still works if you prefer.
Touch
Settings → Display Size — Tablet, Regular, or Extra Large. Scales type, row heights, hit targets, the menus, the dialogs and the rendered document together. Defaults to Tablet when the machine has a touchscreen.
Settings → Touch Mode — the gestures a touchscreen has and a mouse does not:
| Gesture | What it does |
|---|---|
| Drag | Scrolls the document |
| Press and hold | Opens the context menu a right click would |
| Double tap, hold, drag | Selects across lines |
| One tap in the file tree | Opens that file |
None of these existed before, because X11 reports a touchscreen as an ordinary pointer: JavaFX never sees a touch, so it never synthesises a scroll and never offers a right click. A drag selected text and nothing moved.
On-screen keyboard. It is asked for when you tap into any text field, and the window moves above it — neither of which the toolkit does, because JavaFX takes no part in the input-method protocol and the compositor is therefore never told a text field exists. Configurable in ~/.mdviewer/ui.properties: keyboardShowCommand defaults to vkbd --show, and keyboardSummon=never switches the whole thing off. It only engages on a machine with a touchscreen and no keyboard attached — a tablet in a keyboard case is a laptop.
Also in this release
- Paste a screenshot straight into a document. It is written to an
assets/folder beside the file. An unsaved document now offers to save itself first rather than refusing quietly. - Per-platform downloads. 1.0.0 shipped one jar containing Windows native libraries to everybody; on Linux and macOS it failed with
Error initializing QuantumRenderer: no suitable pipeline found, which names graphics pipelines and not the cause. If that is what brought you here, this is the fix. - Larger, centred file-tree rows and folder arrows; a split divider a finger can find, which colours while you drag it; the assistant panel opens wide enough to read and shows symbols rather than four buttons each ellipsised to
....
Upgrading from 1.0.0
Nothing to migrate. Settings live in ~/.mdviewer/ and are unchanged; documents are ordinary Markdown files.
If you are on Linux and 1.0.0 never started, that was the packaging fault above, not your machine. Take the download matching your architecture and it will run.
mdviewer-1.0.0-release
Downloads
Pick the one for your machine. Each download bundles JavaFX, and JavaFX ships compiled
libraries per platform, so they are not interchangeable.
| Your machine | Download |
|---|---|
| Windows | mdviewer-1.0.0-win.zip |
| Linux, Intel or AMD 64-bit | mdviewer-1.0.0-linux.zip |
| Linux on ARM (Raspberry Pi) | mdviewer-1.0.0-linux-aarch64.zip |
| macOS, Apple silicon (M1+) | mdviewer-1.0.0-mac-aarch64.zip |
| macOS, Intel | mdviewer-1.0.0-mac.zip |
Needs Java 21 or newer. Unzip, then:
java -jar mdviewer-1.0.0.jar
On a Wayland desktop — KDE Plasma 6 and recent GNOME default to it — JavaFX 21 has no
Wayland backend and reaches the screen through XWayland. If the window never appears:
GDK_BACKEND=x11 java -jar mdviewer-1.0.0.jar
Each zip has a RUN.txt with the details for that platform.
If you downloaded
mdviewer-1.0.0-release.zip, replace it. That archive contains a
Windows-only jar. On Linux and macOS it fails at startup with
Error initializing QuantumRenderer: no suitable pipeline found, which reads like a
graphics driver problem and is not — the jar simply has no renderer built for your
system. It is kept only so existing links do not break.
🤖 AI Assistant (Major New Feature)
- Full AI chat assistant panel for code questions and explanations
- Streaming responses from LLM providers (OpenAI-compatible APIs)
- Per-document conversation threads with copyable transcript
- Multi-pass project scanning with smart context gathering
- Automatic file reading based on relevance to your question
- Web search integration for external references
- API key management with connection testing
- Model selection from configured providers
- Progress indicator showing scan depth and files read
- Source folding with evidence type labels (file/web/code)
- Smart context budgeting across project files
- Images pasted directly into chat
- Failed request recovery without locking the panel
Welcome Screen - First screen shown when no files/workspaces are open
- Lists recent workspaces for quick access
- Replaces empty window with useful starting point
📁 Workspace History - Remembers recently opened workspaces
- Quick access from File menu
- Forget individual entries without clearing all
- Properly aligned display with colored labels
⚙️ AI Provider Settings - Dedicated settings screen for configuring AI providers
- Support for multiple providers
- Picker shows only configured/active providers
- Allow refused hosts from the panel
🎨 UI Improvements - Assistant accessible from tool stripe on window edge
- Dark mode extends to assistant transcript
- File menu closes properly (click on menu, not around it)
🐛 Bug Fixes - Table columns no longer squeezed to one word per line (readable first columns)
- Scan state properly belongs to document with progress bar
- Clear button stops in-progress requests
- Composer bound to active document
- Recent workspace rows properly aligned with correct label colors
- Context budget spent across project, not trapped in one package
- Budget allocation balances breadth vs depth
- Failed context batch
turns recover gracefully instead of locking panel - Sources labeled by type (file/web/code)
- Whole request bounded, not just sources phase
- Project map carried through all scan passes
- Reads actual code being asked about
- Context window size matches real API limits
mdviewer-1.0.0-beta-1
All features from the current codebase:
- Workspace management with multi-tab support
- Live preview with formatting toolbar
- Dark/Light theme
- Find & Replace
- Undo/Redo
- Image handling (insert, resize, crop, caption)
- Mermaid & PlantUML diagrams (offline)
- In-place editing
- Table inserter & editor
- Direct editing from preview mode of any individual section just by double clicking
- Print and Print to PDF vis print dialog
- Syntax highlighting for code blocks
Markdown Viewer v1.0.0 Early Access
Early Access Release
This is an early access (EA) build of MDViewer (markdown viewer). Some features may still be under development.
Features
- Workspace management with multi-tab support
- Live Markdown preview with GitHub-style theming
- Dark/Light mode toggle
- Find & Replace (Ctrl+F / Ctrl+H)
- Image insertion and manipulation (resize, crop, caption)
- Mermaid & PlantUML diagram rendering
- File explorer with create/rename/delete operations
Requirements
- JDK 21 or higher (https://adoptium.net/)
Usage
- Extract the zip file
- Run:
java -jar mdviewer-1.0.0-EA.jar - Open a Markdown file or folder to get started
Known Issues
Report any bugs or feedback: https://github.com/mainul35/markdown-viewer/issues