Skip to content

Add Explorer right-click integration ("Encrypt with ZeeCrypt") #14

Description

@TheZeekA

Idea

Add a Windows Explorer context-menu entry ("Encrypt with ZeeCrypt" / "Decrypt with ZeeCrypt") for files and folders, so users don't have to open the app and drag files in manually.

Why now

The MSI installer (dist/windows/installer.wxs) already writes to the registry for the .pcv file association (Software\Classes\ZeeCrypt.pcv\...). A shell context-menu entry is the same kind of registry work — a shell key under Software\Classes\*\shell\ZeeCryptEncrypt (and/or Directory\shell\... for folders) pointing at the exe with the dropped path as an argument.

Open questions to resolve before implementing

  • Does ZeeCrypt.exe currently support being launched with a file path as a command-line argument to auto-populate the drop target? (Check flag usage in src/ZeeCrypt.go — the file association's shell\open\command already does "ZeeCrypt.exe" "%1", so there's likely existing support here, but confirm it also handles being launched with no prior UI state expected, and multiple files at once for multi-select.)
  • Should this be a single "ZeeCrypt" entry that opens the app with the file(s) pre-loaded (simplest, most consistent with current UX), or separate "Encrypt"/"Decrypt" entries (faster but needs the shell to guess intent from the extension, which won't always be right for encrypt)?
  • Per-user (HKCU\Software\Classes) to match the installer's existing no-admin-required, per-user scope
  • Icon for the context menu entry (reuse images/lock.ico)

Scope

Registry-only change to dist/windows/installer.wxs; shouldn't require app code changes if %1 argument handling already works as expected above.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions