Put "Convert with Filee" in the Windows 11 top-level menu - #15
Merged
Merged
Conversation
Windows 11 only shows the classic HKCU shell verb under "Show more options". The top-level menu needs a packaged IExplorerCommand, so this adds a tiny native COM server (src/Filee.ExplorerMenu, plain C without a C runtime, built with a pinned Zig toolchain because neither MSVC nor the Windows SDK is available) and an unsigned sparse MSIX whose external location is the install folder (packed with Windows' own packaging API). Windows refuses to register an unsigned package with executable content per user (0x80073D2B); it must be added with administrator rights. The entry is therefore opt-in: Settings > General offers "Add to the main menu" on Windows 11 x64, which runs Add-AppxPackage -AllowUnsigned through one UAC prompt. The manifest version is independent of the app version, so updates need no new prompt, and the DLL only shows the entry while the app's title file exists, so the existing setting still turns it on and off without re-registering. While the package is registered the classic verb is removed to avoid a duplicate under "Show more options"; otherwise (Windows 10, declined prompt, failure) the classic verb and Send To stay as before. Invoke starts Filee.exe --convert next to the DLL; selections too long for a command line go through a temp list file (--convert-list), which the app deletes after reading. Uninstall removes the package. CI and the release workflow build the DLL and package; tests cover the manifest, registration scripts, the list hand-over and the DLL loaded in-process. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # .github/workflows/ci.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A small native IExplorerCommand DLL (built with a pinned Zig toolchain) and an unsigned sparse package. Adding it to the main menu is opt-in from Settings → General and needs one administrator prompt (Windows allows unsigned packages with executable content only for all users); switching the entry off and on afterwards is instant. Windows 10 keeps the classic menu entry.
🤖 Generated with Claude Code