README.md: - Fix bundle package names (add meta- prefix) - Add Firefox support to bookmarks plugin description - Add system paths table (plugins, runtimes, example config) - Add Quick Start section for copying example config - Expand config example with providers section docs/PLUGINS.md: - Add Firefox support to bookmarks - Fix bundle package names - Remove outdated [plugins.weather] and [plugins.pomodoro] config examples docs/PLUGIN_DEVELOPMENT.md: - Fix Rust edition from 2024 to 2021 - Add position and priority fields to ProviderInfo - Add ProviderPosition enum documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.8 KiB
Available Plugins
Owlry's functionality is provided through a modular plugin system. This document describes all available plugins.
Plugin Categories
Static Providers
Static providers load their items once at startup (and on manual refresh). They're best for data that doesn't change frequently.
Dynamic Providers
Dynamic providers evaluate queries in real-time. Each keystroke triggers a new query, making them ideal for calculations, searches, and other interactive features.
Widget Providers
Widget providers display persistent information at the top of results (weather, media controls, timers).
Core Plugins
owlry-plugin-calculator
Type: Dynamic
Prefix: :calc, =, calc
Package: owlry-plugin-calculator
Evaluate mathematical expressions in real-time.
Examples:
= 5 + 3 → 8
= sqrt(16) → 4
= sin(pi/2) → 1
= 2^10 → 1024
= (1 + 0.05)^12 → 1.7958...
Supported operations:
- Basic:
+,-,*,/,^(power),%(modulo) - Functions:
sin,cos,tan,asin,acos,atan - Functions:
sqrt,abs,floor,ceil,round - Functions:
ln,log,log10,exp - Constants:
pi,e
owlry-plugin-system
Type: Static
Prefix: :sys
Package: owlry-plugin-system
System power and session management commands.
Actions:
| Name | Description | Command |
|---|---|---|
| Shutdown | Power off | systemctl poweroff |
| Reboot | Restart | systemctl reboot |
| Reboot into BIOS | UEFI setup | systemctl reboot --firmware-setup |
| Suspend | Sleep (RAM) | systemctl suspend |
| Hibernate | Sleep (disk) | systemctl hibernate |
| Lock Screen | Lock session | loginctl lock-session |
| Log Out | End session | loginctl terminate-session self |
owlry-plugin-ssh
Type: Static
Prefix: :ssh
Package: owlry-plugin-ssh
SSH hosts parsed from ~/.ssh/config.
Features:
- Parses
Hostentries from SSH config - Ignores wildcards (
Host *) - Opens connections in your configured terminal
owlry-plugin-clipboard
Type: Static
Prefix: :clip
Package: owlry-plugin-clipboard
Dependencies: cliphist, wl-clipboard
Clipboard history integration with cliphist.
Features:
- Shows last 50 clipboard entries
- Previews text content (truncated to 80 chars)
- Select to copy back to clipboard
owlry-plugin-emoji
Type: Static
Prefix: :emoji
Package: owlry-plugin-emoji
Dependencies: wl-clipboard
400+ searchable emoji with keywords.
Examples:
:emoji heart → ❤️ 💙 💚 💜 ...
:emoji smile → 😀 😃 😄 😁 ...
:emoji fire → 🔥
owlry-plugin-scripts
Type: Static
Prefix: :script
Package: owlry-plugin-scripts
User scripts from ~/.local/share/owlry/scripts/.
Setup:
mkdir -p ~/.local/share/owlry/scripts
cat > ~/.local/share/owlry/scripts/backup.sh << 'EOF'
#!/bin/bash
rsync -av ~/Documents /backup/
notify-send "Backup complete"
EOF
chmod +x ~/.local/share/owlry/scripts/backup.sh
owlry-plugin-bookmarks
Type: Static
Prefix: :bm
Package: owlry-plugin-bookmarks
Browser bookmarks from Firefox and Chromium-based browsers.
Supported browsers:
- Firefox (reads places.sqlite)
- Google Chrome
- Brave
- Microsoft Edge
- Vivaldi
- Chromium
owlry-plugin-websearch
Type: Dynamic
Prefix: :web, ?, web
Package: owlry-plugin-websearch
Web search with configurable search engine.
Examples:
? rust programming → Search for "rust programming"
web linux tips → Search for "linux tips"
Configuration:
[providers]
search_engine = "duckduckgo" # or: google, bing, startpage
# custom_search_url = "https://search.example.com/?q={}"
owlry-plugin-filesearch
Type: Dynamic
Prefix: :file, /, find
Package: owlry-plugin-filesearch
Dependencies: fd (recommended) or mlocate
Real-time file search.
Examples:
/ .bashrc → Find files matching ".bashrc"
find config → Find files matching "config"
Configuration:
[providers]
file_search_max_results = 50
# file_search_paths = ["/home", "/etc"] # Custom search paths
owlry-plugin-systemd
Type: Static (with submenu)
Prefix: :uuctl
Package: owlry-plugin-systemd
Dependencies: systemd
User systemd services with action submenus.
Features:
- Lists user services (
systemctl --user) - Shows service status (running/stopped/failed)
- Submenu actions: start, stop, restart, enable, disable, status
Usage:
- Search
:uuctl docker - Select a service
- Choose action from submenu
Widget Plugins
owlry-plugin-weather
Type: Widget (Static)
Package: owlry-plugin-weather
Current weather displayed at the top of results.
Supported APIs:
- wttr.in (default, no API key required)
- OpenWeatherMap (requires API key)
- Open-Meteo (no API key required)
Note: Weather configuration is currently embedded in the plugin. Future versions will support runtime configuration.
Features:
- Temperature, condition, humidity, wind speed
- Weather icons from Weather Icons font
- 15-minute cache
- Click to open detailed forecast
owlry-plugin-media
Type: Widget (Static)
Package: owlry-plugin-media
MPRIS media player controls.
Features:
- Shows currently playing track
- Artist, title, album art
- Play/pause, next, previous controls
- Works with Spotify, Firefox, VLC, etc.
owlry-plugin-pomodoro
Type: Widget (Static)
Package: owlry-plugin-pomodoro
Pomodoro timer with work/break cycles.
Features:
- Configurable work session duration
- Configurable break duration
- Session counter
- Desktop notifications on phase completion
- Persistent state across sessions
Controls:
- Start/Pause timer
- Skip to next phase
- Reset timer and sessions
Bundle Packages
For convenience, plugins are available in bundle meta-packages:
| Bundle | Plugins |
|---|---|
owlry-meta-essentials |
calculator, system, ssh, scripts, bookmarks |
owlry-meta-widgets |
weather, media, pomodoro |
owlry-meta-tools |
clipboard, emoji, websearch, filesearch, systemd |
owlry-meta-full |
All of the above |
# Install everything
yay -S owlry-meta-full
# Or pick a bundle
yay -S owlry-meta-essentials owlry-meta-widgets
Runtime Packages
For custom user plugins written in Lua or Rune:
| Package | Description |
|---|---|
owlry-lua |
Lua 5.4 runtime for user plugins |
owlry-rune |
Rune runtime for user plugins |
User plugins are placed in ~/.config/owlry/plugins/.
See PLUGIN_DEVELOPMENT.md for creating custom plugins.