docs: add example files and reorganize config

- Add data/style.example.css with CSS customization guide
- Add data/scripts/example.sh as script template
- Reorganize config.example.toml with clear sections:
  - File locations box at top
  - Separate sections: General, Appearance, Providers
  - Group trigger providers vs prefix providers
  - Add inline comments for all options
- List all built-in themes in appearance section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-29 17:34:10 +01:00
parent d086995399
commit 405b598b9b
3 changed files with 162 additions and 42 deletions

View File

@@ -1,42 +1,51 @@
# Owlry Configuration
# Copy to ~/.config/owlry/config.toml
# Copy to: ~/.config/owlry/config.toml
#
# File locations (XDG Base Directory compliant):
# Config: $XDG_CONFIG_HOME/owlry/config.toml (~/.config/owlry/)
# Themes: $XDG_CONFIG_HOME/owlry/themes/*.css
# Style: $XDG_CONFIG_HOME/owlry/style.css (custom CSS overrides)
# Scripts: $XDG_DATA_HOME/owlry/scripts/ (~/.local/share/owlry/)
# Data: $XDG_DATA_HOME/owlry/frecency.json
# 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 │
# │ Scripts: ~/.local/share/owlry/scripts/ Executable scripts │
# │ Data: ~/.local/share/owlry/frecency.json Usage history │
# └─────────────────────────────────────────────────────────────────────┘
# ═══════════════════════════════════════════════════════════════════════
# GENERAL
# ═══════════════════════════════════════════════════════════════════════
[general]
show_icons = true
max_results = 10
terminal_command = "kitty" # Auto-detected if not set
# Launch wrapper for app execution (auto-detected if not set)
# Examples:
# "uwsm app --" # For uwsm sessions
# "hyprctl dispatch exec --" # For Hyprland
# "" # Direct execution
# Terminal emulator (auto-detected if not set)
terminal_command = "kitty"
# Launch wrapper for app execution (auto-detected for uwsm/Hyprland)
# Examples: "uwsm app --", "hyprctl dispatch exec --", ""
# launch_wrapper = "uwsm app --"
# Provider tabs shown in header bar (Ctrl+1, Ctrl+2, etc. to toggle)
# Valid values: app, cmd, uuctl, bookmark, calc, clip, dmenu, emoji, file, script, ssh, sys, web
# 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 = 600
height = 400
font_size = 14
border_radius = 12
# Theme: "owl" for built-in dark theme, or leave unset for GTK default
# Custom themes: place in $XDG_CONFIG_HOME/owlry/themes/{name}.css
# Theme name - loads ~/.config/owlry/themes/{name}.css
# Built-in: owl, catppuccin-mocha, dracula, gruvbox-dark, nord,
# one-dark, rose-pine, solarized-dark, tokyo-night
# Or leave unset for GTK default
# theme = "owl"
# Custom CSS: create $XDG_CONFIG_HOME/owlry/style.css for additional styling
# Individual color overrides (CSS color values)
# Color overrides (applied on top of theme)
# [appearance.colors]
# background = "#1a1b26"
# background_secondary = "#24283b"
@@ -51,42 +60,56 @@ border_radius = 12
# badge_dmenu = "#bb9af7"
# badge_uuctl = "#f7768e"
[providers]
applications = true
commands = true
uuctl = true
# ═══════════════════════════════════════════════════════════════════════
# PROVIDERS
# ═══════════════════════════════════════════════════════════════════════
# Calculator provider (type "= 5+3" or "calc 5+3")
[providers]
# Core providers (appear in main search)
applications = true # .desktop applications
commands = true # Executables from $PATH
uuctl = true # systemd --user units
# Frecency - boost frequently/recently used items
# Data: ~/.local/share/owlry/frecency.json
frecency = true
frecency_weight = 0.3 # 0.0 = disabled, 1.0 = strong boost
# ───────────────────────────────────────────────────────────────────────
# Trigger Providers (activated by prefix)
# ───────────────────────────────────────────────────────────────────────
# Calculator: "= 5+3" or "calc 5+3" or ":calc"
calculator = true
# Frecency: boost frequently/recently used items in search results
# Data stored in $XDG_DATA_HOME/owlry/frecency.json
frecency = true
frecency_weight = 0.3 # 0.0 = disabled, 1.0 = strong boost
# Web search provider (type "? query" or "web query")
# Web search: "? query" or "web query" or ":web"
websearch = true
# Options: google, duckduckgo, bing, startpage, searxng, brave, ecosia
# Or custom URL with {query} placeholder, e.g. "https://search.example.com/?q={query}"
search_engine = "duckduckgo"
# Options: google, duckduckgo, bing, startpage, searxng, brave, ecosia
# Custom: "https://search.example.com/?q={query}"
# System commands (shutdown, reboot, lock, suspend, hibernate, logout, BIOS)
# File search: "/ pattern" or "find pattern" or ":file"
# Requires: fd or locate
files = true
# ───────────────────────────────────────────────────────────────────────
# Prefix Providers (use :prefix to search)
# ───────────────────────────────────────────────────────────────────────
# System: :sys or :power - shutdown, reboot, lock, suspend, hibernate, logout
system = true
# SSH connections from ~/.ssh/config
# SSH: :ssh - connections from ~/.ssh/config
ssh = true
# Clipboard history (requires cliphist)
# Clipboard: :clip - history (requires cliphist)
clipboard = true
# Browser bookmarks (Chrome, Chromium, Brave, Edge, Vivaldi)
# Bookmarks: :bm - browser bookmarks (Chrome, Chromium, Brave, Edge, Vivaldi)
bookmarks = true
# Emoji picker (copies to clipboard)
# Emoji: :emoji - picker (copies to clipboard)
emoji = true
# Custom scripts from $XDG_DATA_HOME/owlry/scripts/ (~/.local/share/owlry/scripts/)
# Scripts: :script - executables from ~/.local/share/owlry/scripts/
scripts = true
# File search (requires fd or locate, trigger with "/ pattern" or "find pattern")
files = true

24
data/scripts/example.sh Normal file
View File

@@ -0,0 +1,24 @@
#!/bin/bash
# Example Owlry Script
# Copy to: ~/.local/share/owlry/scripts/
#
# Scripts in the scripts directory appear in Owlry search results.
# They are executed when selected.
#
# Naming convention:
# The filename (without extension) becomes the display name.
# Example: "system-update.sh" shows as "Script: system-update"
#
# Tips:
# - Make scripts executable: chmod +x script.sh
# - Use descriptive names for easy searching
# - Scripts can launch GUI apps, run terminal commands, etc.
# Example: Show a notification
notify-send "Owlry" "Hello from example script!"
# Example: Open a URL
# xdg-open "https://example.com"
# Example: Run a terminal command (set terminal: true in owlry if needed)
# echo "Script executed at $(date)"

73
data/style.example.css Normal file
View File

@@ -0,0 +1,73 @@
/*
* Owlry Custom Style Overrides
* Copy to: ~/.config/owlry/style.css
*
* This file is loaded AFTER themes, allowing you to override
* specific styles without creating a full theme.
*
* Available CSS classes:
* .owlry-window - Main window container
* .owlry-main - Main content area
* .owlry-header - Header with mode and tabs
* .owlry-search - Search input field
* .owlry-results - Results list container
* .owlry-result-row - Individual result row
* .owlry-result-name - Result item name
* .owlry-result-description - Result description text
* .owlry-result-icon - Result icon
* .owlry-tag-badge - Tag badges on results
* .owlry-badge-* - Provider badges (app, cmd, uuctl, etc.)
* .owlry-filter-button - Tab filter buttons
* .owlry-filter-* - Provider-specific filter buttons
* .owlry-mode-indicator - Current mode label
* .owlry-hints - Bottom hints bar
*
* CSS Variables (set in themes or override here):
* --owlry-bg - Main background color
* --owlry-bg-secondary - Secondary background
* --owlry-border - Border color
* --owlry-text - Primary text color
* --owlry-text-secondary - Secondary text color
* --owlry-accent - Accent/highlight color
* --owlry-accent-bright - Bright accent color
* --owlry-font-size - Base font size (default: 14px)
* --owlry-border-radius - Border radius (default: 12px)
*/
/* Example: Make the window slightly larger */
/*
.owlry-main {
padding: 20px;
}
*/
/* Example: Custom search field styling */
/*
.owlry-search {
font-size: 18px;
padding: 12px 16px;
}
*/
/* Example: Highlight selected row differently */
/*
.owlry-result-row:selected {
background-color: rgba(255, 255, 255, 0.1);
border-left: 4px solid var(--owlry-accent);
}
*/
/* Example: Hide tag badges */
/*
.owlry-tag-badge {
display: none;
}
*/
/* Example: Custom scrollbar */
/*
scrollbar slider {
background-color: rgba(128, 128, 128, 0.3);
border-radius: 4px;
}
*/