refactor: restructure project directories to follow FHS

- Move themes/ → data/themes/ (installable to /usr/share/owlry/themes/)
- Move resources/ → src/resources/ (embedded into binary)
- Move config.example.toml → data/ (installable to /usr/share/doc/owlry/)
- Update include_str! paths in app.rs

New structure follows Filesystem Hierarchy Standard:
- data/         → files installed to /usr/share/
- src/resources → embedded resources compiled into binary

🤖 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 16:56:49 +01:00
parent 0eccdc5883
commit 2a2a22f72c
13 changed files with 2 additions and 2 deletions

77
data/config.example.toml Normal file
View File

@@ -0,0 +1,77 @@
# Owlry Configuration
# Copy to ~/.config/owlry/config.toml
[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
# launch_wrapper = "uwsm app --"
[appearance]
width = 600
height = 400
font_size = 14
border_radius = 12
# Theme: "owl" for built-in dark theme, or leave unset for GTK default
# theme = "owl"
# Individual color overrides (CSS color values)
# [appearance.colors]
# background = "#1a1b26"
# background_secondary = "#24283b"
# border = "#414868"
# text = "#c0caf5"
# text_secondary = "#565f89"
# accent = "#7aa2f7"
# accent_bright = "#89b4fa"
# badge_app = "#9ece6a"
# badge_calc = "#e0af68"
# badge_cmd = "#7aa2f7"
# badge_dmenu = "#bb9af7"
# badge_uuctl = "#f7768e"
[providers]
applications = true
commands = true
uuctl = true
# Calculator provider (type "= 5+3" or "calc 5+3")
calculator = true
# Frecency: boost frequently/recently used items in search results
frecency = true
frecency_weight = 0.3 # 0.0 = disabled, 1.0 = strong boost
# Web search provider (type "? query" or "web query")
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"
# System commands (shutdown, reboot, lock, suspend, hibernate, logout, BIOS)
system = true
# SSH connections from ~/.ssh/config
ssh = true
# Clipboard history (requires cliphist)
clipboard = true
# Browser bookmarks (Chrome, Chromium, Brave, Edge, Vivaldi)
bookmarks = true
# Emoji picker (copies to clipboard)
emoji = true
# Custom scripts from ~/.config/owlry/scripts/
scripts = true
# File search (requires fd or locate, trigger with "/ pattern" or "find pattern")
files = true

View File

@@ -0,0 +1,114 @@
/*
* Owlry - Catppuccin Mocha Theme
* A soothing pastel theme based on Catppuccin Mocha palette
* https://catppuccin.com/
*
* Usage: Copy to ~/.config/owlry/themes/catppuccin-mocha.css
* Set theme = "catppuccin-mocha" in config.toml
*/
:root {
--owlry-bg: #1e1e2e;
--owlry-bg-secondary: #313244;
--owlry-border: #45475a;
--owlry-text: #cdd6f4;
--owlry-text-secondary: #a6adc8;
--owlry-accent: #cba6f7;
--owlry-accent-bright: #f5c2e7;
--owlry-badge-app: #a6e3a1;
--owlry-badge-cmd: #89b4fa;
--owlry-badge-dmenu: #f9e2af;
--owlry-badge-uuctl: #fab387;
}
.owlry-main {
background-color: rgba(30, 30, 46, 0.95);
border: 1px solid rgba(69, 71, 90, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(203, 166, 247, 0.1);
}
.owlry-search {
background-color: rgba(49, 50, 68, 0.8);
border: 2px solid rgba(69, 71, 90, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(203, 166, 247, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(49, 50, 68, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(203, 166, 247, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(166, 227, 161, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(137, 180, 250, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(249, 226, 175, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(250, 179, 135, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(203, 166, 247, 0.2);
color: var(--owlry-accent);
border-color: rgba(203, 166, 247, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(166, 227, 161, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(166, 227, 161, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(137, 180, 250, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(137, 180, 250, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(250, 179, 135, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(250, 179, 135, 0.4);
}
scrollbar slider {
background-color: rgba(69, 71, 90, 0.5);
}
scrollbar slider:hover {
background-color: rgba(88, 91, 112, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

114
data/themes/dracula.css Normal file
View File

@@ -0,0 +1,114 @@
/*
* Owlry - Dracula Theme
* A dark theme for vampires
* https://draculatheme.com/
*
* Usage: Copy to ~/.config/owlry/themes/dracula.css
* Set theme = "dracula" in config.toml
*/
:root {
--owlry-bg: #282a36;
--owlry-bg-secondary: #44475a;
--owlry-border: #6272a4;
--owlry-text: #f8f8f2;
--owlry-text-secondary: #6272a4;
--owlry-accent: #bd93f9;
--owlry-accent-bright: #ff79c6;
--owlry-badge-app: #50fa7b;
--owlry-badge-cmd: #8be9fd;
--owlry-badge-dmenu: #f1fa8c;
--owlry-badge-uuctl: #ffb86c;
}
.owlry-main {
background-color: rgba(40, 42, 54, 0.95);
border: 1px solid rgba(98, 114, 164, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(189, 147, 249, 0.1);
}
.owlry-search {
background-color: rgba(68, 71, 90, 0.8);
border: 2px solid rgba(98, 114, 164, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(189, 147, 249, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(68, 71, 90, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(189, 147, 249, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(80, 250, 123, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(139, 233, 253, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(241, 250, 140, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(255, 184, 108, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(189, 147, 249, 0.2);
color: var(--owlry-accent);
border-color: rgba(189, 147, 249, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(80, 250, 123, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(80, 250, 123, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(139, 233, 253, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(139, 233, 253, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(255, 184, 108, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(255, 184, 108, 0.4);
}
scrollbar slider {
background-color: rgba(98, 114, 164, 0.5);
}
scrollbar slider:hover {
background-color: rgba(98, 114, 164, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

View File

@@ -0,0 +1,114 @@
/*
* Owlry - Gruvbox Dark Theme
* Retro groove color scheme
* https://github.com/morhetz/gruvbox
*
* Usage: Copy to ~/.config/owlry/themes/gruvbox-dark.css
* Set theme = "gruvbox-dark" in config.toml
*/
:root {
--owlry-bg: #282828;
--owlry-bg-secondary: #3c3836;
--owlry-border: #504945;
--owlry-text: #ebdbb2;
--owlry-text-secondary: #a89984;
--owlry-accent: #fe8019;
--owlry-accent-bright: #fabd2f;
--owlry-badge-app: #b8bb26;
--owlry-badge-cmd: #83a598;
--owlry-badge-dmenu: #fabd2f;
--owlry-badge-uuctl: #fb4934;
}
.owlry-main {
background-color: rgba(40, 40, 40, 0.95);
border: 1px solid rgba(80, 73, 69, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(254, 128, 25, 0.1);
}
.owlry-search {
background-color: rgba(60, 56, 54, 0.8);
border: 2px solid rgba(80, 73, 69, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(254, 128, 25, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(60, 56, 54, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(254, 128, 25, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(184, 187, 38, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(131, 165, 152, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(250, 189, 47, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(251, 73, 52, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(254, 128, 25, 0.2);
color: var(--owlry-accent);
border-color: rgba(254, 128, 25, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(184, 187, 38, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(184, 187, 38, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(131, 165, 152, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(131, 165, 152, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(251, 73, 52, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(251, 73, 52, 0.4);
}
scrollbar slider {
background-color: rgba(80, 73, 69, 0.5);
}
scrollbar slider:hover {
background-color: rgba(102, 92, 84, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

114
data/themes/nord.css Normal file
View File

@@ -0,0 +1,114 @@
/*
* Owlry - Nord Theme
* An arctic, north-bluish color palette
* https://nordtheme.com/
*
* Usage: Copy to ~/.config/owlry/themes/nord.css
* Set theme = "nord" in config.toml
*/
:root {
--owlry-bg: #2e3440;
--owlry-bg-secondary: #3b4252;
--owlry-border: #4c566a;
--owlry-text: #eceff4;
--owlry-text-secondary: #d8dee9;
--owlry-accent: #88c0d0;
--owlry-accent-bright: #8fbcbb;
--owlry-badge-app: #a3be8c;
--owlry-badge-cmd: #81a1c1;
--owlry-badge-dmenu: #ebcb8b;
--owlry-badge-uuctl: #bf616a;
}
.owlry-main {
background-color: rgba(46, 52, 64, 0.95);
border: 1px solid rgba(76, 86, 106, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
0 0 0 1px rgba(136, 192, 208, 0.1);
}
.owlry-search {
background-color: rgba(59, 66, 82, 0.8);
border: 2px solid rgba(76, 86, 106, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(136, 192, 208, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(59, 66, 82, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(136, 192, 208, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(163, 190, 140, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(129, 161, 193, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(235, 203, 139, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(191, 97, 106, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(136, 192, 208, 0.2);
color: var(--owlry-accent);
border-color: rgba(136, 192, 208, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(163, 190, 140, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(163, 190, 140, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(129, 161, 193, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(129, 161, 193, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(191, 97, 106, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(191, 97, 106, 0.4);
}
scrollbar slider {
background-color: rgba(76, 86, 106, 0.5);
}
scrollbar slider:hover {
background-color: rgba(76, 86, 106, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

114
data/themes/one-dark.css Normal file
View File

@@ -0,0 +1,114 @@
/*
* Owlry - One Dark Theme
* Atom's iconic One Dark theme
* https://github.com/atom/atom/tree/master/packages/one-dark-syntax
*
* Usage: Copy to ~/.config/owlry/themes/one-dark.css
* Set theme = "one-dark" in config.toml
*/
:root {
--owlry-bg: #282c34;
--owlry-bg-secondary: #21252b;
--owlry-border: #181a1f;
--owlry-text: #abb2bf;
--owlry-text-secondary: #5c6370;
--owlry-accent: #61afef;
--owlry-accent-bright: #c678dd;
--owlry-badge-app: #98c379;
--owlry-badge-cmd: #61afef;
--owlry-badge-dmenu: #e5c07b;
--owlry-badge-uuctl: #e06c75;
}
.owlry-main {
background-color: rgba(40, 44, 52, 0.95);
border: 1px solid rgba(24, 26, 31, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(97, 175, 239, 0.1);
}
.owlry-search {
background-color: rgba(33, 37, 43, 0.8);
border: 2px solid rgba(24, 26, 31, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(97, 175, 239, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(33, 37, 43, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(97, 175, 239, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(152, 195, 121, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(97, 175, 239, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(229, 192, 123, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(224, 108, 117, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(97, 175, 239, 0.2);
color: var(--owlry-accent);
border-color: rgba(97, 175, 239, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(152, 195, 121, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(152, 195, 121, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(97, 175, 239, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(97, 175, 239, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(224, 108, 117, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(224, 108, 117, 0.4);
}
scrollbar slider {
background-color: rgba(92, 99, 112, 0.5);
}
scrollbar slider:hover {
background-color: rgba(92, 99, 112, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

123
data/themes/owl.css Normal file
View File

@@ -0,0 +1,123 @@
/*
* Owlry - Owl Theme
* An owl-inspired dark theme with amber accents
*
* Color Palette:
* - Deep night sky: #1a1b26 (background)
* - Twilight: #24283b (secondary bg)
* - Owl feathers: #414868 (borders/muted)
* - Moon glow: #c0caf5 (primary text)
* - Owl eyes (amber): #e0af68 (accent/highlight)
* - Forest shadows: #565f89 (secondary text)
* - Barn owl cream: #f5e0dc (bright accent)
*
* Usage: Copy to ~/.config/owlry/themes/owl.css
* Set theme = "owl" in config.toml
* (Note: "owl" is also built-in, so this file is optional)
*/
:root {
--owlry-bg: #1a1b26;
--owlry-bg-secondary: #24283b;
--owlry-border: #414868;
--owlry-text: #c0caf5;
--owlry-text-secondary: #565f89;
--owlry-accent: #e0af68;
--owlry-accent-bright: #f5e0dc;
--owlry-badge-app: #7aa2f7;
--owlry-badge-cmd: #bb9af7;
--owlry-badge-dmenu: #9ece6a;
--owlry-badge-uuctl: #e0af68;
}
.owlry-main {
background-color: rgba(26, 27, 38, 0.95);
border: 1px solid rgba(65, 72, 104, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(224, 175, 104, 0.1);
}
.owlry-search {
background-color: rgba(36, 40, 59, 0.8);
border: 2px solid rgba(65, 72, 104, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(224, 175, 104, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(36, 40, 59, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(224, 175, 104, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(122, 162, 247, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(187, 154, 247, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(158, 206, 106, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(224, 175, 104, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(224, 175, 104, 0.2);
color: var(--owlry-accent);
border-color: rgba(224, 175, 104, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(122, 162, 247, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(122, 162, 247, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(187, 154, 247, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(187, 154, 247, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(224, 175, 104, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(224, 175, 104, 0.4);
}
scrollbar slider {
background-color: rgba(65, 72, 104, 0.5);
}
scrollbar slider:hover {
background-color: rgba(86, 95, 137, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

114
data/themes/rose-pine.css Normal file
View File

@@ -0,0 +1,114 @@
/*
* Owlry - Rosé Pine Theme
* All natural pine, faux fur and a bit of soho vibes
* https://rosepinetheme.com/
*
* Usage: Copy to ~/.config/owlry/themes/rose-pine.css
* Set theme = "rose-pine" in config.toml
*/
:root {
--owlry-bg: #191724;
--owlry-bg-secondary: #1f1d2e;
--owlry-border: #26233a;
--owlry-text: #e0def4;
--owlry-text-secondary: #908caa;
--owlry-accent: #c4a7e7;
--owlry-accent-bright: #ebbcba;
--owlry-badge-app: #9ccfd8;
--owlry-badge-cmd: #c4a7e7;
--owlry-badge-dmenu: #f6c177;
--owlry-badge-uuctl: #eb6f92;
}
.owlry-main {
background-color: rgba(25, 23, 36, 0.95);
border: 1px solid rgba(38, 35, 58, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(196, 167, 231, 0.1);
}
.owlry-search {
background-color: rgba(31, 29, 46, 0.8);
border: 2px solid rgba(38, 35, 58, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(196, 167, 231, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(31, 29, 46, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(196, 167, 231, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(156, 207, 216, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(196, 167, 231, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(246, 193, 119, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(235, 111, 146, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(196, 167, 231, 0.2);
color: var(--owlry-accent);
border-color: rgba(196, 167, 231, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(156, 207, 216, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(156, 207, 216, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(196, 167, 231, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(196, 167, 231, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(235, 111, 146, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(235, 111, 146, 0.4);
}
scrollbar slider {
background-color: rgba(38, 35, 58, 0.5);
}
scrollbar slider:hover {
background-color: rgba(144, 140, 170, 0.5);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

View File

@@ -0,0 +1,114 @@
/*
* Owlry - Solarized Dark Theme
* Precision colors for machines and people
* https://ethanschoonover.com/solarized/
*
* Usage: Copy to ~/.config/owlry/themes/solarized-dark.css
* Set theme = "solarized-dark" in config.toml
*/
:root {
--owlry-bg: #002b36;
--owlry-bg-secondary: #073642;
--owlry-border: #586e75;
--owlry-text: #839496;
--owlry-text-secondary: #657b83;
--owlry-accent: #268bd2;
--owlry-accent-bright: #2aa198;
--owlry-badge-app: #859900;
--owlry-badge-cmd: #268bd2;
--owlry-badge-dmenu: #b58900;
--owlry-badge-uuctl: #dc322f;
}
.owlry-main {
background-color: rgba(0, 43, 54, 0.95);
border: 1px solid rgba(88, 110, 117, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(38, 139, 210, 0.1);
}
.owlry-search {
background-color: rgba(7, 54, 66, 0.8);
border: 2px solid rgba(88, 110, 117, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(38, 139, 210, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(7, 54, 66, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(38, 139, 210, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(133, 153, 0, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(38, 139, 210, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(181, 137, 0, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(220, 50, 47, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(38, 139, 210, 0.2);
color: var(--owlry-accent);
border-color: rgba(38, 139, 210, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(133, 153, 0, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(133, 153, 0, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(38, 139, 210, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(38, 139, 210, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(220, 50, 47, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(220, 50, 47, 0.4);
}
scrollbar slider {
background-color: rgba(88, 110, 117, 0.5);
}
scrollbar slider:hover {
background-color: rgba(101, 123, 131, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}

114
data/themes/tokyo-night.css Normal file
View File

@@ -0,0 +1,114 @@
/*
* Owlry - Tokyo Night Theme
* A clean, dark theme that celebrates the lights of Tokyo at night
* https://github.com/enkia/tokyo-night-vscode-theme
*
* Usage: Copy to ~/.config/owlry/themes/tokyo-night.css
* Set theme = "tokyo-night" in config.toml
*/
:root {
--owlry-bg: #1a1b26;
--owlry-bg-secondary: #24283b;
--owlry-border: #414868;
--owlry-text: #c0caf5;
--owlry-text-secondary: #565f89;
--owlry-accent: #7aa2f7;
--owlry-accent-bright: #bb9af7;
--owlry-badge-app: #9ece6a;
--owlry-badge-cmd: #7dcfff;
--owlry-badge-dmenu: #e0af68;
--owlry-badge-uuctl: #f7768e;
}
.owlry-main {
background-color: rgba(26, 27, 38, 0.95);
border: 1px solid rgba(65, 72, 104, 0.6);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(122, 162, 247, 0.1);
}
.owlry-search {
background-color: rgba(36, 40, 59, 0.8);
border: 2px solid rgba(65, 72, 104, 0.5);
color: var(--owlry-text);
caret-color: var(--owlry-accent);
}
.owlry-search:focus {
border-color: var(--owlry-accent);
box-shadow: 0 0 0 2px rgba(122, 162, 247, 0.2);
}
.owlry-result-row:hover {
background-color: rgba(36, 40, 59, 0.6);
}
.owlry-result-row:selected {
background-color: rgba(122, 162, 247, 0.15);
border-left: 3px solid var(--owlry-accent);
}
.owlry-result-row:selected .owlry-result-name {
color: var(--owlry-accent-bright);
}
.owlry-result-row:selected .owlry-result-icon {
color: var(--owlry-accent);
}
.owlry-badge-app {
background-color: rgba(158, 206, 106, 0.2);
color: var(--owlry-badge-app);
}
.owlry-badge-cmd {
background-color: rgba(125, 207, 255, 0.2);
color: var(--owlry-badge-cmd);
}
.owlry-badge-dmenu {
background-color: rgba(224, 175, 104, 0.2);
color: var(--owlry-badge-dmenu);
}
.owlry-badge-uuctl {
background-color: rgba(247, 118, 142, 0.2);
color: var(--owlry-badge-uuctl);
}
.owlry-filter-button:checked {
background-color: rgba(122, 162, 247, 0.2);
color: var(--owlry-accent);
border-color: rgba(122, 162, 247, 0.4);
}
.owlry-filter-app:checked {
background-color: rgba(158, 206, 106, 0.2);
color: var(--owlry-badge-app);
border-color: rgba(158, 206, 106, 0.4);
}
.owlry-filter-cmd:checked {
background-color: rgba(125, 207, 255, 0.2);
color: var(--owlry-badge-cmd);
border-color: rgba(125, 207, 255, 0.4);
}
.owlry-filter-uuctl:checked {
background-color: rgba(247, 118, 142, 0.2);
color: var(--owlry-badge-uuctl);
border-color: rgba(247, 118, 142, 0.4);
}
scrollbar slider {
background-color: rgba(65, 72, 104, 0.5);
}
scrollbar slider:hover {
background-color: rgba(86, 95, 137, 0.7);
}
scrollbar slider:active {
background-color: var(--owlry-accent);
}