feat: add Locate Files plugin#28
Conversation
|
What happened with the PR body?
The thumbnail is a custom mockup rather than output from the required Noctalia thumbnail generator. It lacks the standard branded card layout and does not show the plugin running. README.md:100 and .github/PULL_REQUEST_TEMPLATE.md:42 require generator output. Replace it with a generated thumbnail using
include_in_global_search is true, but locate-files/README.md:63 says the provider is disabled from unprefixed global search by default. Noctalia treats this manifest field as the default, so normal queries of two or more characters will invoke the provider and may surface home-directory paths. Align the
Fuzzy search invokes head -z, but head or GNU coreutils is not declared in plugin.toml:7 or documented under requirements. This option is not portable to every head implementation. Declare the compatible dependency or remove the additional command. |
Plugin\n\n- Id:
yihao/locate-files\n- [x] New plugin\n\n## What it does\n\nAdds a/flauncher provider that maintains a private plocate index of the user's home directory. It uses fast substring search by default, bounded fzf fallback for typo recovery, hidden/type filtering, and opens selections with the desktop default application.\n\n## External dependencies\n\n-locateandupdatedb: build and query the private plocate database.\n-fzf: bounded NUL-delimited fuzzy filtering when selected or exact search has no result.\n-flock: serialize index builds.\n-xdg-open: open an activated result.\n\nThe plugin makes no network calls. It writes its database, NUL-delimited path cache, metadata, status, lock, and log only under Noctalia's plugin data directory. It shells out only to the dependencies above.\n\n## Testing\n\n- [x]noctalia plugins lint locate-files\n- [x] Private database/cache build and rebuild, including mode-0600 artifacts\n- [x] Exact search, fzf typo recovery, hidden/type filters, path and directory-name pruning\n- [x] Rebuild IPC:noctalia msg plugin yihao/locate-files:indexer all reindex\n- Noctalia version tested against: v5.0.0-beta.3\n- Plugin API level: 3\n\n## Screenshots / Videos\n\nThe plugin ships the required 960x540 WebP store thumbnail.\n\n## Checklist\n\n- [x] The directory name matches the part ofidafter the/inplugin.tomlexactly.\n- [x] It shipsplugin.toml,README.md,thumbnail.webp, andtranslations/en.json.\n- [x]README.mddocuments the launcher prefix, entry ids, dependencies, settings, and IPC.\n- [x]versionis semver andplugin_apiis 3.\n- [x] I did not editcatalog.toml.\n- [x] This PR touches exactly one plugin directory.\n\n## Code review attestation\n\n- [x] The code is readable and not obfuscated, minified, or generated.\n- [x] It does not download or execute remote code.\n- [x] Every filesystem write and spawned process is described above.\n- [x] I have the right to publish this code under the MIT license declared inplugin.toml.