cargo install seekr-utilgtk-layer-shellallow the seekr window to be displayed as a layer of the desktop wlr-layer-shell-unstable-v1file-indexer, built-in blazing fast file search powered by Tantivy. Configurable to include/exclude specific directories.Lua plugins, extend the functionality of seekr by adding custom search engines and tools using the Lua programming language.
- Rust
- gtk4
- gtk4-layer-shell (for gtk-layer-shell support)
Running seekr is as simple as
$ seekrseekr can also be run silently by passing the --silent options.
This will run seekr without open a window.
To stop the running instance:
$ seekr --stopOn the first run of the app, configurations files will be generated into
$XDG_CONFIG_HOME/seekr or $HOME/.config/seekr
seekr supports Lua plugins to extend its functionality. Plugins are loaded from
the plugins directory in your configuration folder (e.g., ~/.config/seekr/plugins).
A plugin is a Lua script that returns a table containing metadata and event handlers:
return {
name = "my_plugin",
api_version = 1,
description = "A simple example plugin",
triggers = { "command=/test" },
onInput = function(term)
seekr:log("my_plugin", "User typed: " .. term)
end,
}Available event handlers: onInput, onEnter, onActivate, onStartup, onExit.
The seekr global object provides several methods for plugins:
seekr:show_info_box(plugin_name, title, body)seekr:show_image_grid(plugin_name, images, subtitle)seekr:show_console(plugin_name, command)seekr:exec(command)seekr:read(command)
You can contribute to the project in several ways:
- Translating the app via the ./locales/app.yml file
- Adding new functionalities to improve the tool
- Suggesting new widgets for plugins to use
