- Add dmenu usage examples with | sh pattern - Fix max_results default (10 → 100) - Add widget providers (media, weather, pomodoro) with settings - Add provider badge color customization options - Add plugin sandbox settings section - Fix disabled → disabled_plugins, add enabled and registry_url - Add weather and pomodoro configuration options
195 lines
11 KiB
TOML
195 lines
11 KiB
TOML
# Owlry Configuration
|
|
# Copy to: ~/.config/owlry/config.toml
|
|
#
|
|
# File Locations (XDG Base Directory compliant):
|
|
# ┌─────────────────────────────────────────────────────────────────────┐
|
|
# │ Config: ~/.config/owlry/config.toml Main configuration │
|
|
# │ Themes: ~/.config/owlry/themes/*.css Custom theme files │
|
|
# │ Style: ~/.config/owlry/style.css CSS overrides │
|
|
# │ Plugins: ~/.config/owlry/plugins/ User Lua/Rune plugins │
|
|
# │ Scripts: ~/.local/share/owlry/scripts/ Executable scripts │
|
|
# │ Data: ~/.local/share/owlry/frecency.json Usage history │
|
|
# └─────────────────────────────────────────────────────────────────────┘
|
|
#
|
|
# System Plugin Locations:
|
|
# ┌─────────────────────────────────────────────────────────────────────┐
|
|
# │ Native: /usr/lib/owlry/plugins/*.so Installed plugins │
|
|
# │ Runtimes: /usr/lib/owlry/runtimes/*.so Lua/Rune runtimes │
|
|
# └─────────────────────────────────────────────────────────────────────┘
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
# DMENU MODE
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
#
|
|
# Dmenu mode provides interactive selection from piped input.
|
|
# The selected item is printed to stdout (not executed), so pipe
|
|
# the output to execute it:
|
|
#
|
|
# ┌─────────────────────────────────────────────────────────────────────┐
|
|
# │ # Screenshot menu │
|
|
# │ printf '%s\n' \ │
|
|
# │ "grimblast --notify copy screen" \ │
|
|
# │ "grimblast --notify copy area" \ │
|
|
# │ | owlry -m dmenu -p "Screenshot" \ │
|
|
# │ | sh │
|
|
# │ │
|
|
# │ # Git branch checkout │
|
|
# │ git branch | owlry -m dmenu -p "checkout" | xargs git checkout │
|
|
# │ │
|
|
# │ # Package search │
|
|
# │ pacman -Ssq | owlry -m dmenu -p "install" | xargs sudo pacman -S │
|
|
# └─────────────────────────────────────────────────────────────────────┘
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
# GENERAL
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
|
|
[general]
|
|
show_icons = true
|
|
max_results = 100
|
|
|
|
# Terminal emulator for SSH, scripts, etc.
|
|
# Auto-detection order: $TERMINAL → xdg-terminal-exec → DE-native → Wayland → X11 → xterm
|
|
# Uncomment to override:
|
|
# terminal_command = "kitty"
|
|
|
|
# Enable uwsm (Universal Wayland Session Manager) for launching apps.
|
|
# When enabled, apps are launched via "uwsm app --" which starts them
|
|
# in a proper systemd user session for better process management.
|
|
# Requires: uwsm to be installed
|
|
# use_uwsm = true
|
|
|
|
# Header tabs - providers shown as toggle buttons (Ctrl+1, Ctrl+2, etc.)
|
|
# Values: app, cmd, uuctl, bookmark, calc, clip, dmenu, emoji, file, script, ssh, sys, web
|
|
tabs = ["app", "cmd", "uuctl"]
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
# APPEARANCE
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
|
|
[appearance]
|
|
width = 850
|
|
height = 650
|
|
font_size = 14
|
|
border_radius = 12
|
|
|
|
# Theme name - loads ~/.config/owlry/themes/{name}.css
|
|
# Built-in: owl
|
|
# Or leave unset/empty for GTK default
|
|
# theme = "owl"
|
|
|
|
# Color overrides (applied on top of theme)
|
|
# [appearance.colors]
|
|
# background = "#1a1b26"
|
|
# background_secondary = "#24283b"
|
|
# border = "#414868"
|
|
# text = "#c0caf5"
|
|
# text_secondary = "#565f89"
|
|
# accent = "#7aa2f7"
|
|
# accent_bright = "#89b4fa"
|
|
#
|
|
# Provider badge colors (optional)
|
|
# badge_app = "#7aa2f7"
|
|
# badge_cmd = "#9ece6a"
|
|
# badge_bookmark = "#e0af68"
|
|
# badge_calc = "#bb9af7"
|
|
# badge_clip = "#7dcfff"
|
|
# badge_dmenu = "#c0caf5"
|
|
# badge_emoji = "#f7768e"
|
|
# badge_file = "#73daca"
|
|
# badge_script = "#ff9e64"
|
|
# badge_ssh = "#2ac3de"
|
|
# badge_sys = "#f7768e"
|
|
# badge_uuctl = "#9ece6a"
|
|
# badge_web = "#7aa2f7"
|
|
# badge_media = "#bb9af7"
|
|
# badge_weather = "#7dcfff"
|
|
# badge_pomo = "#f7768e"
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
# PLUGINS
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
#
|
|
# All installed plugins are loaded by default. Use 'disabled_plugins' to blacklist.
|
|
# Plugin IDs: calculator, system, ssh, clipboard, emoji, scripts, bookmarks,
|
|
# websearch, filesearch, systemd, weather, media, pomodoro
|
|
|
|
[plugins]
|
|
enabled = true # Master switch for all plugins
|
|
|
|
# Plugins to disable (by ID)
|
|
disabled_plugins = []
|
|
|
|
# Examples:
|
|
# disabled_plugins = ["emoji", "pomodoro"] # Disable specific plugins
|
|
# disabled_plugins = ["weather", "media"] # Disable widget plugins
|
|
|
|
# Custom plugin registry URL (defaults to official registry)
|
|
# registry_url = "https://my-registry.example.com/plugins.json"
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Sandbox settings (for Lua/Rune script plugins)
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# [plugins.sandbox]
|
|
# allow_filesystem = false # Allow file system access beyond plugin dir
|
|
# allow_network = false # Allow network requests
|
|
# allow_commands = false # Allow shell command execution
|
|
# memory_limit = 67108864 # Memory limit in bytes (64 MB default)
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
# PROVIDERS
|
|
# ═══════════════════════════════════════════════════════════════════════
|
|
#
|
|
# Enable/disable providers and configure their settings.
|
|
# Core providers (applications, commands) are built into the binary.
|
|
# Plugin providers require their .so to be installed.
|
|
|
|
[providers]
|
|
# Core providers (always available)
|
|
applications = true # .desktop applications from XDG dirs
|
|
commands = true # Executables from $PATH
|
|
|
|
# Frecency - boost frequently/recently used items
|
|
# Data stored in: ~/.local/share/owlry/frecency.json
|
|
frecency = true
|
|
frecency_weight = 0.3 # 0.0 = disabled, 1.0 = strong boost
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Plugin provider toggles (require corresponding plugin installed)
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
uuctl = true # systemd user units
|
|
system = true # System commands (shutdown, reboot, etc.)
|
|
ssh = true # SSH hosts from ~/.ssh/config
|
|
clipboard = true # Clipboard history (requires cliphist)
|
|
bookmarks = true # Browser bookmarks
|
|
emoji = true # Emoji picker
|
|
scripts = true # Custom scripts from ~/.local/share/owlry/scripts/
|
|
files = true # File search (requires fd or mlocate)
|
|
calculator = true # Calculator (= expression)
|
|
websearch = true # Web search (? query)
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Widget providers (displayed at top of results)
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
media = true # MPRIS media player controls
|
|
weather = false # Weather widget (disabled by default)
|
|
pomodoro = false # Pomodoro timer (disabled by default)
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Provider settings
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
|
|
# Web search engine
|
|
# Options: google, duckduckgo, bing, startpage, searxng, brave, ecosia
|
|
# Or custom URL: "https://search.example.com/?q={query}"
|
|
search_engine = "duckduckgo"
|
|
|
|
# Weather settings (when weather = true)
|
|
# weather_provider = "wttr.in" # Options: wttr.in, openweathermap, open-meteo
|
|
# weather_location = "Berlin" # City name or coordinates
|
|
# weather_api_key = "" # Required for openweathermap
|
|
|
|
# Pomodoro settings (when pomodoro = true)
|
|
# pomodoro_work_mins = 25 # Work session duration
|
|
# pomodoro_break_mins = 5 # Break duration
|