Repository navigation
v2.0.0
SimplyConvertFile v2.0.0
A complete rewrite: from Nemo action to standalone Linux application.
SimplyConvertFile has been rebuilt from the ground up as a full standalone GTK 3 desktop application. What started as a simple Nemo file manager action for converting a handful of formats is now a powerful, modular conversion tool supporting 80+ formats across 9 categories.
Highlights
- Standalone Application: No longer tied to Nemo. Launch from the terminal, application menu, or any file manager. A native GTK file picker lets you select files when launched without arguments.
- 80+ Supported Formats: Expanded from a handful of image/audio/video formats to full coverage across images, audio, video, documents, spreadsheets, presentations, markup, data, and archives.
- Batch Processing: Convert multiple files at once with real-time progress tracking, mixed-format support, automatic output directory creation, and per-file error handling that keeps the batch running.
- 18 Languages: Full internationalization with translations for CA, CS, DA, ES, EU, FI, FR, HU, IS, IT, JA, NL, PT, PT_BR, TR, UK, and VI.
New Features
Conversion Engine
- Per-category converter classes (image, audio, video, document, archive, markup, data, office, presentation, spreadsheet)
- Cross-format conversions: video → audio extraction, GIF → video, images → PDF
- Intelligent tool selection: automatically picks the best available backend (FFmpeg, ImageMagick, LibreOffice, Pandoc, Calibre, etc.)
- Automatic file validation with multi-step conversion protection to prevent cascading failures
- Configurable format templates with placeholder support (
{input},{output},{temp_file}, etc.)
User Interface
- Native GTK 3 dialogs: format selection dropdown, progress bar, error display, info panels
- Full keyboard navigation (Enter, Space, Arrow keys, Escape)
- Dark/light theme auto-detection for application icons
- Expandable error dialogs with full command output, copy-to-clipboard, and direct GitHub issue reporting
- Cancellation support with proper process cleanup
Smart Features
- Format Preselection: Learns your conversion habits and pre-selects your most frequently used target format per source type
- Desktop Notifications: 13 configurable event types (start, success, failure, cancel, batch steps, missing dependencies, etc.) with per-event enable/disable
- Command Security: Blocks dangerous shell commands (rm, sudo, dd, curl, etc.) before execution while allowing legitimate conversion tools
- Dependency Detection: Cross-distribution package detection with automatic install command generation (apt, dnf, pacman, zypper, emerge, apk, and more)
Configuration
- User settings in
~/.config/simplyconvertfile/that persist across updates - Custom conversion rules, quality presets, and special cross-format rules
- Configurable output directory naming and creation threshold
- Conversion exclusions and output-restricted format lists
- Debug mode via trigger file with color-coded logging
Installation
- APT repository support with automatic updates
.debpackage buildspip installsupportmake installfor system-wide installation- Optional Nemo file manager integration still available via
.nemo_action
Supported Format Categories
| Category | Formats |
|---|---|
| Images (14) | AVIF, BMP, CR2, GIF, HEIC, HEIF, ICO, JPEG, JPG, PNG, RAW, SVG, TIF, TIFF, WEBP |
| Audio (13) | AAC, AC3, AIFF, ALAC, CAF, FLAC, M4A, MKA, MP3, OGG, OPUS, WAV, WMA |
| Video (10) | AVI, M4V, MKV, MOV, MP4, MPEG, MTS, TS, WEBM, WMV |
| Documents (7) | DOC, DOCX, EPUB, MOBI, ODT, PDF, RTF |
| Spreadsheets (4) | CSV, ODS, XLS, XLSX |
| Presentations (3) | ODP, PPT, PPTX |
| Markup (3) | HTML, MD, XML |
| Data (3) | JSON, TXT, YAML |
| Archives (13) | 7Z, BZ2, DEB, DMG, GZ, ISO, LZMA, LZO, RAR, RPM, TAR, XZ, ZIP |
Architecture
Complete modular rewrite with clear separation of concerns:
- Factory pattern for converter instantiation
- Strategy pattern for pluggable conversion backends
- Template method for action workflows (single/batch)
- Dedicated batch helpers for error handling, progress tracking, state management, and output organization
Requirements
- Python 3.8+
- GTK 3 (
python3-gi,gir1.2-gtk-3.0,gir1.2-notify-0.7) - Format-specific tools: ImageMagick, FFmpeg, LibreOffice, Pandoc, Calibre, p7zip (installed as needed)
A Note on Development
This project was a large-scale experiment in AI-assisted development. Multiple AI models were used throughout the rewrite, but every architectural decision, implementation path, and line of code was guided and validated by me. The AI served as a tool to accelerate development.
I drove the direction and reviewed the output. That said, errors may still be present, bug reports and contributions are welcome.
Full Changelog: https://github.com/ThigSchuch/SimplyConvertFile/commits/v2.0.0