seekr-util 0.2.0

System search util for linux
seekr-util-0.2.0 is not a library.

seekr

System search util for linux

seekr-demo

Installation

cargo install seekr-util

Features

  • gtk-layer-shell allow the seekr window to be displayed as a layer of the desktop wlr-layer-shell-unstable-v1
  • localsearch, in addition to searching apps to launch, with this feature, it is possible to search through files using the same method as the gnome shell.
  • Lua plugins, extend the functionality of seekr by adding custom search engines and tools using the Lua programming language.

Requirements

Usage

Running seekr is as simple as

$ seekr

seekr can also be run silently by passing the --silent options. This will run seekr without open a window

Configuration

On the first run of the app, configurations files will be generated into $XDG_CONFIG_HOME/seekr or $HOME/.config/seekr

Plugins

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)

Contributing

You can contribute to the project in two ways :

  • Translating the app via the ./locales/app.yml file
  • Adding new functionalities to improve the tool