175 lines
5.5 KiB
Django/Jinja
175 lines
5.5 KiB
Django/Jinja
{% set scheme_slug = scheme|lower|replace(' ', '-') %}
|
|
{% macro rgb(hex) -%}
|
|
{%- set value = hex|replace('#', '') -%}
|
|
{{ value[0:2]|int(base=16) }}, {{ value[2:4]|int(base=16) }}, {{ value[4:6]|int(base=16) }}
|
|
{%- endmacro %}
|
|
/*
|
|
* Owlry - {{ scheme }} Theme
|
|
* "State over Decoration."
|
|
*
|
|
* A high-contrast theme built for focus and clinical clarity.
|
|
* Color exists to signal STATE, not to decorate space.
|
|
*
|
|
* Author: S0wlz (Owlibou)
|
|
*
|
|
* Usage: Set theme = "{{ scheme_slug }}" in config.toml
|
|
*/
|
|
|
|
:root {
|
|
/* Core surfaces */
|
|
--owlry-bg: {{ palette.background }};
|
|
--owlry-bg-secondary: {{ ui.panel }};
|
|
--owlry-border: {{ ui.border }};
|
|
--owlry-text: {{ palette.foreground }};
|
|
--owlry-text-secondary: {{ ui.dim }};
|
|
|
|
/* The Predator - primary accent */
|
|
--owlry-accent: {{ palette.cursor }};
|
|
--owlry-accent-bright: {{ ansi.bright.red }};
|
|
|
|
/* Provider badges - mapped to Apex semantics */
|
|
--owlry-badge-app: {{ palette.info }}; /* Cyan: apps are informational */
|
|
--owlry-badge-bookmark: {{ palette.warning }}; /* Yellow: bookmarks need attention */
|
|
--owlry-badge-calc: {{ ansi.bright.yellow }}; /* Bright Yellow: calculator results */
|
|
--owlry-badge-clip: {{ palette.special }}; /* Purple: clipboard is special */
|
|
--owlry-badge-cmd: {{ palette.special }}; /* Purple: commands are elevated */
|
|
--owlry-badge-dmenu: {{ palette.success }}; /* Green: dmenu is success/pipe */
|
|
--owlry-badge-emoji: {{ ansi.bright.magenta }}; /* Bright Purple: emoji is special */
|
|
--owlry-badge-file: {{ ansi.bright.cyan }}; /* Bright Cyan: file search is active info */
|
|
--owlry-badge-script: {{ ansi.bright.green }}; /* Bright Green: scripts execute successfully */
|
|
--owlry-badge-ssh: {{ palette.info }}; /* Cyan: SSH is technical/info */
|
|
--owlry-badge-sys: {{ palette.cursor }}; /* Red: system actions are critical */
|
|
--owlry-badge-uuctl: {{ palette.warning }}; /* Yellow: uuctl requires attention */
|
|
--owlry-badge-web: {{ palette.info }}; /* Cyan: web is informational */
|
|
|
|
/* Widget badges */
|
|
--owlry-badge-media: {{ ansi.bright.magenta }}; /* Bright Purple: media is special */
|
|
--owlry-badge-weather: {{ ansi.bright.cyan }}; /* Bright Cyan: weather is active info */
|
|
--owlry-badge-pomo: {{ ansi.bright.red }}; /* Alert Red: pomodoro demands attention */
|
|
}
|
|
|
|
.owlry-main {
|
|
background-color: rgba({{ rgb(palette.background) }}, 0.98);
|
|
border: 1px solid rgba({{ rgb(ui.border) }}, 0.8);
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8),
|
|
0 0 0 1px rgba({{ rgb(palette.cursor) }}, 0.1);
|
|
}
|
|
|
|
.owlry-search {
|
|
background-color: rgba({{ rgb(ui.panel) }}, 0.9);
|
|
border: 2px solid rgba({{ rgb(ui.border) }}, 0.8);
|
|
color: var(--owlry-text);
|
|
caret-color: var(--owlry-accent);
|
|
}
|
|
|
|
.owlry-search:focus {
|
|
border-color: var(--owlry-accent);
|
|
box-shadow: 0 0 0 2px rgba({{ rgb(palette.cursor) }}, 0.3);
|
|
}
|
|
|
|
.owlry-result-row:hover {
|
|
background-color: rgba({{ rgb(ui.panel) }}, 0.8);
|
|
}
|
|
|
|
.owlry-result-row:selected {
|
|
background-color: rgba({{ rgb(palette.cursor) }}, 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);
|
|
}
|
|
|
|
/* Provider badges - styled per Apex semantics */
|
|
.owlry-badge-app {
|
|
background-color: rgba({{ rgb(palette.info) }}, 0.15);
|
|
color: var(--owlry-badge-app);
|
|
}
|
|
|
|
.owlry-badge-bookmark {
|
|
background-color: rgba({{ rgb(palette.warning) }}, 0.15);
|
|
color: var(--owlry-badge-bookmark);
|
|
}
|
|
|
|
.owlry-badge-calc {
|
|
background-color: rgba({{ rgb(ansi.bright.yellow) }}, 0.15);
|
|
color: var(--owlry-badge-calc);
|
|
}
|
|
|
|
.owlry-badge-clip {
|
|
background-color: rgba({{ rgb(palette.special) }}, 0.15);
|
|
color: var(--owlry-badge-clip);
|
|
}
|
|
|
|
.owlry-badge-cmd {
|
|
background-color: rgba({{ rgb(palette.special) }}, 0.15);
|
|
color: var(--owlry-badge-cmd);
|
|
}
|
|
|
|
.owlry-badge-dmenu {
|
|
background-color: rgba({{ rgb(palette.success) }}, 0.15);
|
|
color: var(--owlry-badge-dmenu);
|
|
}
|
|
|
|
.owlry-badge-emoji {
|
|
background-color: rgba({{ rgb(ansi.bright.magenta) }}, 0.15);
|
|
color: var(--owlry-badge-emoji);
|
|
}
|
|
|
|
.owlry-badge-file {
|
|
background-color: rgba({{ rgb(ansi.bright.cyan) }}, 0.15);
|
|
color: var(--owlry-badge-file);
|
|
}
|
|
|
|
.owlry-badge-script {
|
|
background-color: rgba({{ rgb(ansi.bright.green) }}, 0.15);
|
|
color: var(--owlry-badge-script);
|
|
}
|
|
|
|
.owlry-badge-ssh {
|
|
background-color: rgba({{ rgb(palette.info) }}, 0.15);
|
|
color: var(--owlry-badge-ssh);
|
|
}
|
|
|
|
.owlry-badge-sys {
|
|
background-color: rgba({{ rgb(palette.cursor) }}, 0.15);
|
|
color: var(--owlry-badge-sys);
|
|
}
|
|
|
|
.owlry-badge-uuctl {
|
|
background-color: rgba({{ rgb(palette.warning) }}, 0.15);
|
|
color: var(--owlry-badge-uuctl);
|
|
}
|
|
|
|
.owlry-badge-web {
|
|
background-color: rgba({{ rgb(palette.info) }}, 0.15);
|
|
color: var(--owlry-badge-web);
|
|
}
|
|
|
|
/* Widget badges */
|
|
.owlry-badge-media {
|
|
background-color: rgba({{ rgb(ansi.bright.magenta) }}, 0.15);
|
|
color: var(--owlry-badge-media);
|
|
}
|
|
|
|
.owlry-badge-weather {
|
|
background-color: rgba({{ rgb(ansi.bright.cyan) }}, 0.15);
|
|
color: var(--owlry-badge-weather);
|
|
}
|
|
|
|
.owlry-badge-pomo {
|
|
background-color: rgba({{ rgb(ansi.bright.red) }}, 0.15);
|
|
color: var(--owlry-badge-pomo);
|
|
}
|
|
|
|
/* Filter button - default uses The Predator */
|
|
.owlry-filter-button:checked {
|
|
background-color: rgba({{ rgb(palette.cursor) }}, 0.2);
|
|
color: var(--owlry-accent);
|
|
border-color: rgba({{ rgb(palette.cursor) }}, 0.5);
|
|
}
|