Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
892e72b
Video -> image sequence: slice video frames into dedicated subfolder
pleguen Oct 12, 2026
e79541c
Video -> image sequence: add support for saving every frame with inte…
pleguen Oct 13, 2026
5eaf697
Add presets for video frame extraction to PNG/JPG formats, update sch…
pleguen Oct 17, 2026
83c2462
Merge branch 'main' into feature/video-frame-splitting
pleguen Oct 17, 2026
42c00e2
Explain and fix a Filee that Explorer can't reach (#99)
KnifeLemon Oct 18, 2026
2a5ac98
Hardware video encoding for H.264 and HEVC
KnifeLemon Oct 18, 2026
563c673
Every frame is its own route; video → JPG is a still frame again
KnifeLemon Oct 18, 2026
e2beada
Every frame only for videos to PNG or JPG, saved only where shown
KnifeLemon Oct 18, 2026
8250096
Every frame of a variable frame rate video is saved once
KnifeLemon Oct 18, 2026
8e19e9e
Every frame: a folder from the output rule, moved into place when done
KnifeLemon Oct 18, 2026
21a321a
Every frame: refuse more than 100,000 pictures or more than the disk …
KnifeLemon Oct 18, 2026
d4c92c0
Every frame: drop the unused frame rate option, tidy the texts
KnifeLemon Oct 18, 2026
33c5a61
Settings schema 19: the frame presets after "Split PDF"
KnifeLemon Oct 18, 2026
d1154a1
Docs: how every frame of a video is saved
KnifeLemon Oct 18, 2026
3525375
Compress PDF: shrink pictures and streams while the PDF stays a PDF (…
KnifeLemon Oct 18, 2026
1f7623c
Request a format Filee can't read, from the donut and the toast
KnifeLemon Oct 18, 2026
118f341
Add FILEE_DATA_DIR to run a test copy next to the user's Filee
KnifeLemon Oct 18, 2026
a524a69
Release the main window in the tray and give memory back when idle
KnifeLemon Oct 18, 2026
0c05c53
Remember the main window's place only while it is on screen
KnifeLemon Oct 18, 2026
f89395b
Don't purge Skia's caches when trimming memory
KnifeLemon Oct 18, 2026
c6d32dd
Trim without moving the large object heap
KnifeLemon Oct 18, 2026
c6cff35
Tests: keep captured frames alive while saving; no trim in the test h…
KnifeLemon Oct 18, 2026
1becc9e
Trim with non-compacting collections; trim in the test host again
KnifeLemon Oct 18, 2026
92f21cc
SVGs with a loose "&" or HTML entities convert again
KnifeLemon Oct 18, 2026
a69c16b
Merge remote-tracking branch 'origin/fix/dropdown-ctrl-space' into HEAD
KnifeLemon Oct 18, 2026
56aeef0
Merge remote-tracking branch 'origin/fix/elevated-and-diagnostics' in…
KnifeLemon Oct 18, 2026
88cbfb3
Merge remote-tracking branch 'origin/feature/hardware-video-encoding'…
KnifeLemon Oct 18, 2026
43419c2
Merge remote-tracking branch 'origin/feature/ubuntu-2204' into HEAD
KnifeLemon Oct 18, 2026
131c245
Merge remote-tracking branch 'origin/fix/svg-loose-ampersand' into HEAD
KnifeLemon Oct 18, 2026
3cbbc97
Merge remote-tracking branch 'origin/feature/pdf-to-pptx' into HEAD
KnifeLemon Oct 18, 2026
21a83f2
Merge branch 'pr101-head' into HEAD
KnifeLemon Oct 18, 2026
3abc4bd
Merge remote-tracking branch 'origin/feature/pdf-compression' into HEAD
KnifeLemon Oct 18, 2026
dec0663
Merge remote-tracking branch 'origin/feature/close-action' into HEAD
KnifeLemon Oct 18, 2026
8344cc0
Merge remote-tracking branch 'origin/feature/format-request' into HEAD
KnifeLemon Oct 18, 2026
cac7aa2
Merge remote-tracking branch 'origin/feature/lower-memory' into HEAD
KnifeLemon Oct 18, 2026
7076bcd
Guard the close-action and PDF compression choices like the others
KnifeLemon Oct 18, 2026
a218db5
Merge remote-tracking branch 'origin/main' into HEAD
KnifeLemon Oct 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature request
about: A new format, preset option or idea
about: A preset option, engine or idea (a file type Filee can't open goes in "Format request")
labels: enhancement
---

Expand Down
49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/format_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Format request
description: A file type Filee can't open yet
title: "Format request: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
> [!IMPORTANT]
> **Filee can't convert files that are encrypted or copy-protected (DRM), whatever their format.** Converting them means breaking that protection, so these requests are closed.
>
> Some examples, not a complete list:
> - music downloaded in a streaming app (NetEase Cloud Music `.ncm`, QQ Music `.qmc` / `.mflac` / `.mgg`, Kugou `.kgm`, Apple Music, Spotify)
> - e-books bought with DRM (Kindle `.azw` / `.kfx`, Adobe DRM EPUB or PDF)
> - videos saved by streaming apps or sites that don't allow downloading
> - files locked with a password you don't have
>
> If the app that made the file can export or save it in a common format, that is the way to go.
- type: input
id: extension
attributes:
label: File extension
placeholder: ".xyz"
validations:
required: true
- type: input
id: source
attributes:
label: What makes these files?
description: The program, device or website.
validations:
required: true
- type: input
id: target
attributes:
label: What should Filee convert them to?
placeholder: "PDF, MP3, PNG…"
- type: textarea
id: details
attributes:
label: Anything else?
description: A sample file if you can share one, a link to the format's documentation, or an open-source tool that reads it.
- type: checkboxes
id: not-protected
attributes:
label: Protection
options:
- label: These files aren't encrypted or copy-protected (DRM), and I can open them without a password.
required: true
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ Thanks for helping! Filee is built to be easy to extend: most contributions touc
Engines lets you choose a specific copy. Microsoft Office is not used.
4. `dotnet run --project src/Filee.App`, `dotnet test`.

To try a build next to the Filee you use every day (testing, measuring memory), set `FILEE_DATA_DIR` to an empty
folder first. Settings, logs and downloaded engines then live there, the copy is its own single instance (later
launches with the same variable, `--quit` included, reach it and never your installed Filee), and it registers no
startup entry, context menu or Explorer menu.

Any IDE works (Visual Studio 2022+, Rider, VS Code with C# Dev Kit).

## Linux and macOS development
Expand Down
4 changes: 2 additions & 2 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
## 기능

- **커서 옆 도넛**: 키를 누른 채 파일을 끌어 형식 위에 놓으면 끝. 파일에 맞는 형식만 나와요.
- **파일 종류마다 툴바**를 드래그로 배치하고, 품질·크기·DPI·PDF 페이지·동영상·오디오·저장 위치·파일 이름을
- **파일 종류마다 툴바**를 드래그로 배치하고, 품질·크기·DPI·PDF 페이지와 압축·동영상·오디오·저장 위치·파일 이름을
프리셋으로 정해요.
- **여러 파일을 한 번에** 병렬로 변환해요. 여러 단계가 필요한 변환(HWP → HWPX → DOCX)도 알아서 찾아요.
- **자동 변환 폴더**에 들어온 파일을 바로 변환해요.
Expand All @@ -83,7 +83,7 @@
|---|---|
| **이미지**: JPG, PNG, WEBP, AVIF, TIFF, BMP, GIF, APNG, ICO, ICNS, JPEG XL, JPEG 2000, PSD/PSB, TGA, PPM, HEIC, QOI, DDS, PCX, MNG, CUR 등; GIMP XCF, 카메라 RAW(CR2, CR3, NEF, ARW, DNG 등), DICOM, OpenEXR, HDR은 읽기 | 위 형식끼리(HEIC⁵), PDF, SVG(벡터화), 크기 조정, 흑백 |
| **벡터**: SVG, SVGZ, EMF, WMF, AI · EPS, PS¹ · CDR, VSD, CGM, ODG, FODG² | PDF(벡터), PNG 등 이미지, SVG ↔ SVGZ, SVG → DXF/DWG, PDF → EPS/PS¹, SVG → EMF, WMF, ODG² |
| **PDF** | DOCX, HWPX, TXT, PNG, JPG, TIFF, CBZ, PPTX(페이지마다 그림 한 장), SVG²; 합치기, 나누기, 페이지 범위 |
| **PDF** | DOCX, HWPX, TXT, PNG, JPG, TIFF, CBZ, PPTX(페이지마다 그림 한 장), SVG²; 합치기, 나누기, 페이지 범위, 압축 (더 작은 PDF) |
| **문서**: DOCX, DOCM, DOTX, EML, Outlook MSG · DOC, ODT, FODT, OTT, RTF, WPS, WPD, Pages, ClarisWorks, MacWrite, T602 등² | PDF, DOCX, HWPX, EPUB, TXT, HTML; MSG → EML · ODT, FODT, OTT² |
| **스프레드시트**: XLSX, XLSM, XLS, XLT, ODS, CSV, TSV · OTS, FODS, Numbers, ET² | PDF, XLSX, ODS, CSV, TSV, JSON, HWPX, HTML · XLT, OTS² |
| **프레젠테이션**: PPTX, PPTM, POTX, PPSX · PPT, ODP, OTP, FODP, Keynote² | PDF, PNG, JPG, DOCX, HWPX · OTP² |
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Filee shows new releases in its menu and updates itself, keeping your settings a
## Features

- **A donut at the cursor**: hold a key, drag files and drop them on a format. Only formats that fit the files appear.
- **One toolbar per file type**, arranged by drag and drop, with presets for quality, size, DPI, PDF pages,
- **One toolbar per file type**, arranged by drag and drop, with presets for quality, size, DPI, PDF pages and compression,
video and audio, output folder and file names.
- **Many files at once**, in parallel. Routes with several steps (HWP → HWPX → DOCX) are found automatically.
- **Watch folders** convert every file that lands in them.
Expand All @@ -83,7 +83,7 @@ Filee shows new releases in its menu and updates itself, keeping your settings a
|---|---|
| **Images**: JPG, PNG, WEBP, AVIF, TIFF, BMP, GIF, APNG, ICO, ICNS, JPEG XL, JPEG 2000, PSD/PSB, TGA, PPM, HEIC, QOI, DDS, PCX, MNG, CUR, …; GIMP XCF, camera RAW (CR2, CR3, NEF, ARW, DNG, …), DICOM, OpenEXR, HDR read | any of these (HEIC⁵), PDF, SVG (traced), resized, grayscale |
| **Vector**: SVG, SVGZ, EMF, WMF, AI · EPS, PS¹ · CDR, VSD, CGM, ODG, FODG² | PDF (vector), PNG and other images, SVG ↔ SVGZ, SVG → DXF/DWG, PDF → EPS/PS¹, SVG → EMF, WMF, ODG² |
| **PDF** | DOCX, HWPX, TXT, PNG, JPG, TIFF, CBZ, PPTX (a picture of each page), SVG²; merge, split, page ranges |
| **PDF** | DOCX, HWPX, TXT, PNG, JPG, TIFF, CBZ, PPTX (a picture of each page), SVG²; merge, split, page ranges, compress (smaller PDFs) |
| **Documents**: DOCX, DOCM, DOTX, EML, Outlook MSG · DOC, ODT, FODT, OTT, RTF, WPS, WPD, Pages, ClarisWorks, MacWrite, T602, …² | PDF, DOCX, HWPX, EPUB, TXT, HTML; MSG → EML · ODT, FODT, OTT² |
| **Spreadsheets**: XLSX, XLSM, XLS, XLT, ODS, CSV, TSV · OTS, FODS, Numbers, ET² | PDF, XLSX, ODS, CSV, TSV, JSON, HWPX, HTML · XLT, OTS² |
| **Presentations**: PPTX, PPTM, POTX, PPSX · PPT, ODP, OTP, FODP, Keynote² | PDF, PNG, JPG, DOCX, HWPX · OTP² |
Expand Down
4 changes: 2 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
## 功能

- **光标旁的圆环**,按住按键拖动文件,放到格式上即可。只显示适合这些文件的格式。
- **每种文件类型一个工具栏**,拖放排列。质量、尺寸、DPI、PDF 页面、视频音频、保存位置和文件名都能用预设设置。
- **每种文件类型一个工具栏**,拖放排列。质量、尺寸、DPI、PDF 页面和压缩、视频音频、保存位置和文件名都能用预设设置。
- **一次转换多个文件**,并行处理。需要多步的转换(HWP → HWPX → DOCX)会自动找到路线。
- **监视文件夹**,放入的文件自动转换。
- **其他方式** 右键菜单、键盘快捷键、拖放区域和 [`filee` 命令](#命令行)。
Expand All @@ -82,7 +82,7 @@
|---|---|
| **图片**:JPG、PNG、WEBP、AVIF、TIFF、BMP、GIF、APNG、ICO、ICNS、JPEG XL、JPEG 2000、PSD/PSB、TGA、PPM、HEIC、QOI、DDS、PCX、MNG、CUR 等;GIMP XCF、相机 RAW(CR2、CR3、NEF、ARW、DNG 等)、DICOM、OpenEXR、HDR 仅读取 | 上述格式互转(HEIC⁵)、PDF、SVG(描摹)、缩放、灰度 |
| **矢量图**:SVG、SVGZ、EMF、WMF、AI · EPS、PS¹ · CDR、VSD、CGM、ODG、FODG² | PDF(矢量)、PNG 等图片、SVG ↔ SVGZ、SVG → DXF/DWG、PDF → EPS/PS¹、SVG → EMF、WMF、ODG² |
| **PDF** | DOCX、HWPX、TXT、PNG、JPG、TIFF、CBZ、PPTX(每页一张图片)、SVG²;合并、拆分、页码范围 |
| **PDF** | DOCX、HWPX、TXT、PNG、JPG、TIFF、CBZ、PPTX(每页一张图片)、SVG²;合并、拆分、页码范围、压缩(更小的 PDF) |
| **文档**:DOCX、DOCM、DOTX、EML、Outlook MSG · DOC、ODT、FODT、OTT、RTF、WPS、WPD、Pages、ClarisWorks、MacWrite、T602 等² | PDF、DOCX、HWPX、EPUB、TXT、HTML、MSG → EML · ODT、FODT、OTT² |
| **表格**:XLSX、XLSM、XLS、XLT、ODS、CSV、TSV · OTS、FODS、Numbers、ET² | PDF、XLSX、ODS、CSV、TSV、JSON、HWPX、HTML · XLT、OTS² |
| **演示文稿**:PPTX、PPTM、POTX、PPSX · PPT、ODP、OTP、FODP、Keynote² | PDF、PNG、JPG、DOCX、HWPX · OTP² |
Expand Down
Loading
Loading