82 lines
2.5 KiB
TOML
82 lines
2.5 KiB
TOML
# File Search — fuzzy file & folder search from the bar, powered by fzf.
|
|
# The bar glyph toggles a search panel: the search folder is indexed with
|
|
# `find` (honoring the excluded directories), every keystroke is matched
|
|
# through `fzf --filter`, and picking a result opens it with the system
|
|
# MIME association (xdg-open). The panel's disk button widens the search to
|
|
# the mounted USB/removable volumes, detected with `lsblk`.
|
|
|
|
id = "nightwatch75/file-search"
|
|
name = "File Search"
|
|
version = "0.0.25"
|
|
plugin_api = 15
|
|
author = "nightwatch75"
|
|
license = "MIT"
|
|
# The exact commands the plugin spawns (fzf, lsblk and gdbus aside, findutils +
|
|
# coreutils + xdg-utils on any Linux desktop). lsblk only runs while the search
|
|
# scope includes the external disks, gdbus only on a reveal-in-file-manager
|
|
# click, and that one falls back to xdg-open when it is missing.
|
|
dependencies = ["fzf", "find", "lsblk", "gdbus", "mktemp", "mv", "wc", "head", "rm", "date", "xdg-open"]
|
|
tags = ["bar", "launcher", "panel", "utility", "productivity"]
|
|
icon = "search"
|
|
description = "Search files and folders as you type, fuzzy-matched with fzf; open results with the system MIME association."
|
|
|
|
# Plugin-level settings: shared by the bar widget (tooltip, folder actions)
|
|
# and the panel (index + search).
|
|
|
|
[[setting]]
|
|
key = "search_folder"
|
|
type = "folder"
|
|
label_key = "settings.search_folder.label"
|
|
description_key = "settings.search_folder.description"
|
|
|
|
[[setting]]
|
|
key = "exclude_dirs"
|
|
type = "string"
|
|
label_key = "settings.exclude_dirs.label"
|
|
description_key = "settings.exclude_dirs.description"
|
|
default = ".git, node_modules, .cache, .venv"
|
|
|
|
[[setting]]
|
|
key = "show_hidden"
|
|
type = "bool"
|
|
label_key = "settings.show_hidden.label"
|
|
description_key = "settings.show_hidden.description"
|
|
default = false
|
|
|
|
[[setting]]
|
|
key = "max_results"
|
|
type = "int"
|
|
label_key = "settings.max_results.label"
|
|
description_key = "settings.max_results.description"
|
|
default = 50
|
|
min = 10
|
|
max = 200
|
|
|
|
# Keyboard-first flow: the noctalia launcher provides native arrows + Enter
|
|
# navigation, which plugin panels cannot receive from the current Luau API.
|
|
[[launcher_provider]]
|
|
id = "launcher"
|
|
entry = "launcher.luau"
|
|
prefix = "fs"
|
|
glyph = "search"
|
|
include_in_global_search = false
|
|
|
|
[[panel]]
|
|
id = "panel"
|
|
entry = "panel.luau"
|
|
width = 520
|
|
height = 480
|
|
placement = "attached"
|
|
open_near_click = true
|
|
|
|
[[widget]]
|
|
id = "file-search"
|
|
entry = "file-search.luau"
|
|
|
|
[[widget.setting]]
|
|
key = "glyph"
|
|
type = "glyph"
|
|
label_key = "settings.glyph.label"
|
|
description_key = "settings.glyph.description"
|
|
default = "search"
|