Files
owlry/docs/PLUGINS.md
vikingowl 1557119448 docs: comprehensive documentation update
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>
2025-12-30 08:49:30 +01:00

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 Host entries 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:

  1. Search :uuctl docker
  2. Select a service
  3. 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.