theme: roll Apex Neon across terminal, bar, and notifications
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
[general]
|
||||
import = [
|
||||
"/home/mpuchstein/.config/alacritty/themes/themes/github_dark.toml"
|
||||
]
|
||||
import = ["~/.config/alacritty/themes/apex-neon.toml"]
|
||||
|
||||
live_config_reload = true
|
||||
ipc_socket = true
|
||||
|
||||
[window]
|
||||
opacity = 0.7
|
||||
padding = { x = 4, y = 4 }
|
||||
|
||||
[font]
|
||||
normal = { family = "Inconsolata Nerd Font Mono", style = "Regular" }
|
||||
@@ -14,3 +14,6 @@ size = 9
|
||||
|
||||
[mouse]
|
||||
hide_when_typing = true
|
||||
|
||||
[cursor]
|
||||
style = { shape = "Beam", blinking = "Off" }
|
||||
|
||||
63
dot_config/alacritty/themes/apex-neon.toml
Normal file
63
dot_config/alacritty/themes/apex-neon.toml
Normal file
@@ -0,0 +1,63 @@
|
||||
# APEX NEON — Alacritty theme (colors only)
|
||||
|
||||
[colors.primary]
|
||||
background = "#050505"
|
||||
foreground = "#ededed"
|
||||
dim_foreground = "#737373"
|
||||
bright_foreground = "#ffffff"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#050505"
|
||||
cursor = "#ff0044"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#050505"
|
||||
cursor = "#00eaff"
|
||||
|
||||
[colors.selection]
|
||||
text = "#050505"
|
||||
background = "#ff0044"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#050505"
|
||||
background = "#ff0044"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#050505"
|
||||
background = "#ffb700"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#050505"
|
||||
background = "#ffb700"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#050505"
|
||||
background = "#00eaff"
|
||||
|
||||
[colors.line_indicator]
|
||||
foreground = "None"
|
||||
background = "None"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#ededed"
|
||||
background = "#141414"
|
||||
|
||||
[colors.normal]
|
||||
black = "#050505"
|
||||
red = "#ff0044"
|
||||
green = "#00ff99"
|
||||
yellow = "#ffb700"
|
||||
blue = "#00eaff"
|
||||
magenta = "#9d00ff"
|
||||
cyan = "#00eaff"
|
||||
white = "#ededed"
|
||||
|
||||
[colors.bright]
|
||||
black = "#262626"
|
||||
red = "#ff8899"
|
||||
green = "#2bffb2"
|
||||
yellow = "#ffd24d"
|
||||
blue = "#5af3ff"
|
||||
magenta = "#c84dff"
|
||||
cyan = "#5af3ff"
|
||||
white = "#ffffff"
|
||||
@@ -1,66 +0,0 @@
|
||||
## APEX NEON - KITTY THEME ##
|
||||
|
||||
foreground #ededed
|
||||
background #050505
|
||||
selection_foreground #050505
|
||||
selection_background #00eaff
|
||||
|
||||
# Cursor: Still aggressive Razor Red
|
||||
cursor #ff0044
|
||||
cursor_text_color #050505
|
||||
cursor_shape beam
|
||||
|
||||
# URL underline: Electric Cyan
|
||||
url_color #00eaff
|
||||
|
||||
# --- 16-BIT PALETTE ---
|
||||
|
||||
# BLACKS
|
||||
# Normal: Deep Grey (Background UI elements)
|
||||
color0 #141414
|
||||
# Bright: Lighter Grey (Comments, Line Numbers)
|
||||
color8 #404040
|
||||
|
||||
# REDS
|
||||
# Normal: Razor Red (Aggressive, for errors/borders)
|
||||
color1 #ff0044
|
||||
# Bright: Pale / Laser Red (READABLE text, Highlighting)
|
||||
color9 #ff6688
|
||||
|
||||
# GREENS
|
||||
# Normal: Jungle Green (Standard strings)
|
||||
color2 #00cc7a
|
||||
# Bright: Toxic Green (Success messages, glowing elements)
|
||||
color10 #00ff99
|
||||
|
||||
# YELLOWS
|
||||
# Normal: Amber (Standard warnings)
|
||||
color3 #cc9200
|
||||
# Bright: Warning Gold (Critical warnings)
|
||||
color11 #ffb700
|
||||
|
||||
# BLUES
|
||||
# Normal: Deep Azure (Standard functions - we bring blue back for depth)
|
||||
color4 #0088cc
|
||||
# Bright: Electric Cyan (The "Digital" look - Pointers, links)
|
||||
color12 #00eaff
|
||||
|
||||
# MAGENTAS
|
||||
# Normal: Deep Purple (Keywords)
|
||||
color5 #7a00cc
|
||||
# Bright: Void Purple (Constants, Special highlights)
|
||||
color13 #9d00ff
|
||||
|
||||
# CYANS
|
||||
# Normal: Teal
|
||||
color6 #00aaaa
|
||||
# Bright: Pure Cyan
|
||||
color14 #00ffff
|
||||
|
||||
# WHITES
|
||||
# Normal: The Signal (Standard Text)
|
||||
color7 #ededed
|
||||
# Bright: Pure White (Bold Text)
|
||||
color15 #ffffff
|
||||
|
||||
window_padding_width 4
|
||||
67
dot_config/kitty/dark-theme.auto.conf
Normal file
67
dot_config/kitty/dark-theme.auto.conf
Normal file
@@ -0,0 +1,67 @@
|
||||
## APEX NEON - KITTY THEME ##
|
||||
## Spec-accurate: color = state, not decoration
|
||||
|
||||
# --- Core ---
|
||||
foreground #ededed
|
||||
background #050505
|
||||
|
||||
# Selection: "target locked"
|
||||
selection_background #ff0044
|
||||
selection_foreground #050505
|
||||
|
||||
# Cursor: Razor Red beam
|
||||
cursor #ff0044
|
||||
cursor_text_color #050505
|
||||
cursor_shape beam
|
||||
|
||||
# URLs: informational cyan
|
||||
url_color #00eaff
|
||||
|
||||
# Borders (optional)
|
||||
active_border_color #ff0044
|
||||
inactive_border_color #262626
|
||||
|
||||
# Optional: subtle UI hint for visual bell
|
||||
visual_bell_color #ff8899
|
||||
|
||||
# Spacing
|
||||
window_padding_width 4
|
||||
|
||||
# --- 16-COLOR ANSI TABLE (Apex Neon spec) ---
|
||||
|
||||
# Normal bank (0–7)
|
||||
# color0: Black (Void)
|
||||
color0 #050505
|
||||
# color1: Red (Razor)
|
||||
color1 #ff0044
|
||||
# color2: Green (OK)
|
||||
color2 #00ff99
|
||||
# color3: Yellow (Gold)
|
||||
color3 #ffb700
|
||||
# color4: Blue (Info)
|
||||
color4 #00eaff
|
||||
# color5: Magenta (Purple)
|
||||
color5 #9d00ff
|
||||
# color6: Cyan (Info mapped)
|
||||
color6 #00eaff
|
||||
# color7: White (Stark)
|
||||
color7 #ededed
|
||||
|
||||
# Bright bank (8–15)
|
||||
# color8: Bright black (UI separators)
|
||||
color8 #262626
|
||||
# color9: Bright red (Alerts)
|
||||
color9 #ff8899
|
||||
# color10: Bright green (Active success)
|
||||
color10 #2bffb2
|
||||
# color11: Bright yellow (Urgent warning)
|
||||
color11 #ffd24d
|
||||
# color12: Bright blue (Active info)
|
||||
color12 #5af3ff
|
||||
# color13: Bright magenta (Elevated special)
|
||||
color13 #c84dff
|
||||
# color14: Bright cyan (Active tech signal)
|
||||
color14 #5af3ff
|
||||
# color15: Bright white (Extreme highlight)
|
||||
color15 #ffffff
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
8
dot_config/kitty/kitty.d/10-fonts.conf
Normal file
8
dot_config/kitty/kitty.d/10-fonts.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
# BEGIN_KITTY_FONTS
|
||||
font_family family='InconsolataGo Nerd Font Mono' postscript_name=InconsolataGoNFM
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
# END_KITTY_FONTS
|
||||
|
||||
font_size 9.0
|
||||
3
dot_config/kitty/kitty.d/20-appearance.conf
Normal file
3
dot_config/kitty/kitty.d/20-appearance.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
background_opacity 0.9
|
||||
background_blur 5
|
||||
dynamic_background_opacity yes
|
||||
2
dot_config/kitty/kitty.d/30-emoji.conf
Normal file
2
dot_config/kitty/kitty.d/30-emoji.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
# Force emoji glyphs to a color emoji font (requires the font to be installed).
|
||||
symbol_map U+2600-U+26FF,U+2700-U+27BF,U+1F000-U+1FAFF Noto Color Emoji
|
||||
4
dot_config/kitty/kitty.d/90-theme.conf
Normal file
4
dot_config/kitty/kitty.d/90-theme.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
# BEGIN_KITTY_THEME
|
||||
# Rose Pine
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
67
dot_config/kitty/themes/apex-neon.conf
Normal file
67
dot_config/kitty/themes/apex-neon.conf
Normal file
@@ -0,0 +1,67 @@
|
||||
## APEX NEON - KITTY THEME ##
|
||||
## Spec-accurate: color = state, not decoration
|
||||
|
||||
# --- Core ---
|
||||
foreground #ededed
|
||||
background #050505
|
||||
|
||||
# Selection: "target locked"
|
||||
selection_background #ff0044
|
||||
selection_foreground #050505
|
||||
|
||||
# Cursor: Razor Red beam
|
||||
cursor #ff0044
|
||||
cursor_text_color #050505
|
||||
cursor_shape beam
|
||||
|
||||
# URLs: informational cyan
|
||||
url_color #00eaff
|
||||
|
||||
# Borders (optional)
|
||||
active_border_color #ff0044
|
||||
inactive_border_color #262626
|
||||
|
||||
# Optional: subtle UI hint for visual bell
|
||||
visual_bell_color #ff8899
|
||||
|
||||
# Spacing
|
||||
window_padding_width 4
|
||||
|
||||
# --- 16-COLOR ANSI TABLE (Apex Neon spec) ---
|
||||
|
||||
# Normal bank (0–7)
|
||||
# color0: Black (Void)
|
||||
color0 #050505
|
||||
# color1: Red (Razor)
|
||||
color1 #ff0044
|
||||
# color2: Green (OK)
|
||||
color2 #00ff99
|
||||
# color3: Yellow (Gold)
|
||||
color3 #ffb700
|
||||
# color4: Blue (Info)
|
||||
color4 #00eaff
|
||||
# color5: Magenta (Purple)
|
||||
color5 #9d00ff
|
||||
# color6: Cyan (Info mapped)
|
||||
color6 #00eaff
|
||||
# color7: White (Stark)
|
||||
color7 #ededed
|
||||
|
||||
# Bright bank (8–15)
|
||||
# color8: Bright black (UI separators)
|
||||
color8 #262626
|
||||
# color9: Bright red (Alerts)
|
||||
color9 #ff8899
|
||||
# color10: Bright green (Active success)
|
||||
color10 #2bffb2
|
||||
# color11: Bright yellow (Urgent warning)
|
||||
color11 #ffd24d
|
||||
# color12: Bright blue (Active info)
|
||||
color12 #5af3ff
|
||||
# color13: Bright magenta (Elevated special)
|
||||
color13 #c84dff
|
||||
# color14: Bright cyan (Active tech signal)
|
||||
color14 #5af3ff
|
||||
# color15: Bright white (Extreme highlight)
|
||||
color15 #ffffff
|
||||
|
||||
14
dot_config/nvim/lua/plugins/nerdy.lua
Normal file
14
dot_config/nvim/lua/plugins/nerdy.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
---@type LazySpec
|
||||
return {
|
||||
"2kabhishek/nerdy.nvim",
|
||||
cmd = "Nerdy",
|
||||
dependencies = {
|
||||
"folke/snacks.nvim",
|
||||
},
|
||||
opts = {
|
||||
max_recents = 30,
|
||||
add_default_keybindings = true,
|
||||
copy_to_clipboard = false,
|
||||
copy_register = "+",
|
||||
},
|
||||
}
|
||||
@@ -1,28 +1,60 @@
|
||||
# Owlry Configuration
|
||||
# Copy to ~/.config/owlry/config.toml
|
||||
# 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 │
|
||||
# └─────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════
|
||||
# GENERAL
|
||||
# ═══════════════════════════════════════════════════════════════════════
|
||||
|
||||
[general]
|
||||
show_icons = true
|
||||
max_results = 10
|
||||
terminal_command = "kitty" # Auto-detected if not set
|
||||
max_results = 100
|
||||
|
||||
# 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 for SSH, scripts, etc.
|
||||
# Auto-detection order: $TERMINAL → xdg-terminal-exec → DE-native → Wayland → X11 → xterm
|
||||
# Uncomment to override:
|
||||
# terminal_command = "kitty"
|
||||
|
||||
# Launch wrapper for app execution (auto-detected for uwsm/Hyprland)
|
||||
# Examples: "uwsm app --", "hyprctl dispatch exec --", ""
|
||||
# launch_wrapper = "uwsm app --"
|
||||
|
||||
# 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
|
||||
width = 850
|
||||
height = 650
|
||||
font_size = 14
|
||||
border_radius = 12
|
||||
|
||||
# Theme: "owl" for built-in dark theme, or leave unset for GTK default
|
||||
# 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 = "apex-neon"
|
||||
|
||||
# Individual color overrides (CSS color values)
|
||||
# Color overrides (applied on top of theme)
|
||||
# [appearance.colors]
|
||||
# background = "#1a1b26"
|
||||
# background_secondary = "#24283b"
|
||||
@@ -31,47 +63,58 @@ theme = "apex-neon"
|
||||
# text_secondary = "#565f89"
|
||||
# accent = "#7aa2f7"
|
||||
# accent_bright = "#89b4fa"
|
||||
# badge_app = "#9ece6a"
|
||||
# badge_calc = "#e0af68"
|
||||
# badge_cmd = "#7aa2f7"
|
||||
# badge_dmenu = "#bb9af7"
|
||||
# badge_uuctl = "#f7768e"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════
|
||||
# PLUGINS
|
||||
# ═══════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# All installed plugins are loaded by default. Use 'disabled' to blacklist.
|
||||
# Plugin IDs: calculator, system, ssh, clipboard, emoji, scripts, bookmarks,
|
||||
# websearch, filesearch, systemd, weather, media, pomodoro
|
||||
|
||||
[plugins]
|
||||
# Plugins to disable (by ID)
|
||||
disabled = []
|
||||
|
||||
# Examples:
|
||||
# disabled = ["emoji", "pomodoro"] # Disable specific plugins
|
||||
# disabled = ["weather", "media"] # Disable widget plugins
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────
|
||||
# Per-plugin configuration via [plugins.<name>] sections
|
||||
# ─────────────────────────────────────────────────────────────────────────
|
||||
|
||||
# Weather widget plugin
|
||||
[plugins.weather]
|
||||
provider = "open-meteo" # wttr.in (default), openweathermap, open-meteo
|
||||
location = "" # City name, "lat,lon", or empty for auto-detect
|
||||
# api_key = "" # Required for OpenWeatherMap
|
||||
|
||||
# Pomodoro timer plugin
|
||||
[plugins.pomodoro]
|
||||
work_mins = 25 # Work session duration
|
||||
break_mins = 5 # Break duration
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════
|
||||
# CORE PROVIDERS
|
||||
# ═══════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# These are built into the core binary, not plugins.
|
||||
|
||||
[providers]
|
||||
applications = true
|
||||
commands = true
|
||||
uuctl = true
|
||||
# Core providers (always available)
|
||||
applications = true # .desktop applications from XDG dirs
|
||||
commands = true # Executables from $PATH
|
||||
|
||||
# Calculator provider (type "= 5+3" or "calc 5+3")
|
||||
calculator = true
|
||||
|
||||
# Frecency: boost frequently/recently used items in search results
|
||||
# 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
|
||||
|
||||
# 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}"
|
||||
# Web Search settings
|
||||
search_engine = "duckduckgo"
|
||||
# Options: google, duckduckgo, bing, startpage, searxng, brave, ecosia
|
||||
|
||||
# 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
|
||||
# File Search settings
|
||||
file_search_max_results = 50
|
||||
# file_search_paths = ["/home", "/etc"] # Custom paths (default: $HOME)
|
||||
|
||||
@@ -1,39 +1,96 @@
|
||||
/*
|
||||
* Owlry - Apex Neon Theme
|
||||
* High-contrast void with razor red and electric cyan accents.
|
||||
* "State over Decoration."
|
||||
*
|
||||
* A high-contrast dark theme built for focus and clinical clarity.
|
||||
* Color exists to signal STATE, not to decorate space.
|
||||
*
|
||||
* Author: S0wlz (Owlibou)
|
||||
*
|
||||
* ─────────────────────────────────────────────────────────────────
|
||||
* APEX DNA - Semantic Color Roles:
|
||||
*
|
||||
* RED is the Predator: Active intent, cursor, current location, critical errors
|
||||
* CYAN is Informational: Technical data, links, neutral highlights
|
||||
* PURPLE is Sacred: Root access, special modes, exceptional states
|
||||
* GREEN is Success: Completion, OK states, positive feedback
|
||||
* YELLOW is Warning: Caution, load states, attention needed
|
||||
*
|
||||
* Rule: If a UI element is not important, it does not glow.
|
||||
* ─────────────────────────────────────────────────────────────────
|
||||
*
|
||||
* Core Palette:
|
||||
* - Void Black: #050505 (absolute background)
|
||||
* - Dark Surface: #141414 (inputs, inactive elements)
|
||||
* - Light Surface: #262626 (separators, borders)
|
||||
* - Stark White: #ededed (primary text)
|
||||
* - Muted: #737373 (secondary text)
|
||||
* - Razor Red: #ff0044 (THE accent - focus, cursor, selection)
|
||||
* - Electric Cyan: #00eaff (info, links, technical)
|
||||
* - Sacred Purple: #9d00ff (special, root, elevated)
|
||||
* - Neon Green: #00ff99 (success, OK)
|
||||
* - Warning Yellow: #ffb700 (warning, caution)
|
||||
*
|
||||
* Bright Escalations:
|
||||
* - Alert Red: #ff8899 (distinguishable from cursor)
|
||||
* - Active Cyan: #5af3ff (active info)
|
||||
* - Active Green: #2bffb2 (active success)
|
||||
* - Urgent Yellow: #ffd24d (urgent warning)
|
||||
* - Elevated Purple:#c84dff (elevated special)
|
||||
*
|
||||
* Usage: Set theme = "apex-neon" in config.toml
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Core surfaces */
|
||||
--owlry-bg: #050505;
|
||||
--owlry-bg-secondary: #141414;
|
||||
--owlry-border: #262626;
|
||||
--owlry-text: #ededed;
|
||||
--owlry-text-secondary: #737373;
|
||||
|
||||
/* The Predator - primary accent */
|
||||
--owlry-accent: #ff0044;
|
||||
--owlry-accent-bright: #00eaff;
|
||||
--owlry-badge-app: #00eaff;
|
||||
--owlry-badge-cmd: #9d00ff;
|
||||
--owlry-badge-dmenu: #00ff99;
|
||||
--owlry-badge-uuctl: #ffb700;
|
||||
--owlry-accent-bright: #ff8899;
|
||||
|
||||
/* Provider badges - mapped to Apex semantics */
|
||||
--owlry-badge-app: #00eaff; /* Cyan: apps are informational */
|
||||
--owlry-badge-bookmark: #ffb700; /* Yellow: bookmarks need attention */
|
||||
--owlry-badge-calc: #ffd24d; /* Bright Yellow: calculator results */
|
||||
--owlry-badge-clip: #9d00ff; /* Purple: clipboard is special */
|
||||
--owlry-badge-cmd: #9d00ff; /* Purple: commands are elevated */
|
||||
--owlry-badge-dmenu: #00ff99; /* Green: dmenu is success/pipe */
|
||||
--owlry-badge-emoji: #c84dff; /* Bright Purple: emoji is special */
|
||||
--owlry-badge-file: #5af3ff; /* Bright Cyan: file search is active info */
|
||||
--owlry-badge-script: #2bffb2; /* Bright Green: scripts execute successfully */
|
||||
--owlry-badge-ssh: #00eaff; /* Cyan: SSH is technical/info */
|
||||
--owlry-badge-sys: #ff0044; /* Red: system actions are critical */
|
||||
--owlry-badge-uuctl: #ffb700; /* Yellow: uuctl requires attention */
|
||||
--owlry-badge-web: #00eaff; /* Cyan: web is informational */
|
||||
|
||||
/* Widget badges */
|
||||
--owlry-badge-media: #c84dff; /* Bright Purple: media is special */
|
||||
--owlry-badge-weather: #5af3ff; /* Bright Cyan: weather is active info */
|
||||
--owlry-badge-pomo: #ff8899; /* Alert Red: pomodoro demands attention */
|
||||
}
|
||||
|
||||
.owlry-main {
|
||||
background-color: rgba(5, 5, 5, 0.98);
|
||||
border: 1px solid rgba(38, 38, 38, 0.8);
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.85),
|
||||
0 0 0 1px rgba(255, 0, 68, 0.25);
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8),
|
||||
0 0 0 1px rgba(255, 0, 68, 0.1);
|
||||
}
|
||||
|
||||
.owlry-search {
|
||||
background-color: rgba(20, 20, 20, 0.95);
|
||||
border: 2px solid rgba(255, 0, 68, 0.7);
|
||||
background-color: rgba(20, 20, 20, 0.9);
|
||||
border: 2px solid rgba(38, 38, 38, 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(255, 0, 68, 0.2);
|
||||
box-shadow: 0 0 0 2px rgba(255, 0, 68, 0.3);
|
||||
}
|
||||
|
||||
.owlry-result-row:hover {
|
||||
@@ -41,70 +98,247 @@
|
||||
}
|
||||
|
||||
.owlry-result-row:selected {
|
||||
background-color: rgba(0, 234, 255, 0.2);
|
||||
border-left: 3px solid var(--owlry-accent-bright);
|
||||
background-color: rgba(255, 0, 68, 0.15);
|
||||
border-left: 3px solid var(--owlry-accent);
|
||||
}
|
||||
|
||||
.owlry-result-row:selected .owlry-result-name {
|
||||
color: var(--owlry-text);
|
||||
color: var(--owlry-accent-bright);
|
||||
}
|
||||
|
||||
.owlry-result-row:selected .owlry-result-icon {
|
||||
color: var(--owlry-text);
|
||||
color: var(--owlry-accent);
|
||||
}
|
||||
|
||||
/* Provider badges - styled per Apex semantics */
|
||||
.owlry-badge-app {
|
||||
background-color: rgba(0, 234, 255, 0.2);
|
||||
background-color: rgba(0, 234, 255, 0.15);
|
||||
color: var(--owlry-badge-app);
|
||||
}
|
||||
|
||||
.owlry-badge-bookmark {
|
||||
background-color: rgba(255, 183, 0, 0.15);
|
||||
color: var(--owlry-badge-bookmark);
|
||||
}
|
||||
|
||||
.owlry-badge-calc {
|
||||
background-color: rgba(255, 210, 77, 0.15);
|
||||
color: var(--owlry-badge-calc);
|
||||
}
|
||||
|
||||
.owlry-badge-clip {
|
||||
background-color: rgba(157, 0, 255, 0.15);
|
||||
color: var(--owlry-badge-clip);
|
||||
}
|
||||
|
||||
.owlry-badge-cmd {
|
||||
background-color: rgba(157, 0, 255, 0.2);
|
||||
background-color: rgba(157, 0, 255, 0.15);
|
||||
color: var(--owlry-badge-cmd);
|
||||
}
|
||||
|
||||
.owlry-badge-dmenu {
|
||||
background-color: rgba(0, 255, 153, 0.2);
|
||||
background-color: rgba(0, 255, 153, 0.15);
|
||||
color: var(--owlry-badge-dmenu);
|
||||
}
|
||||
|
||||
.owlry-badge-emoji {
|
||||
background-color: rgba(200, 77, 255, 0.15);
|
||||
color: var(--owlry-badge-emoji);
|
||||
}
|
||||
|
||||
.owlry-badge-file {
|
||||
background-color: rgba(90, 243, 255, 0.15);
|
||||
color: var(--owlry-badge-file);
|
||||
}
|
||||
|
||||
.owlry-badge-script {
|
||||
background-color: rgba(43, 255, 178, 0.15);
|
||||
color: var(--owlry-badge-script);
|
||||
}
|
||||
|
||||
.owlry-badge-ssh {
|
||||
background-color: rgba(0, 234, 255, 0.15);
|
||||
color: var(--owlry-badge-ssh);
|
||||
}
|
||||
|
||||
.owlry-badge-sys {
|
||||
background-color: rgba(255, 0, 68, 0.15);
|
||||
color: var(--owlry-badge-sys);
|
||||
}
|
||||
|
||||
.owlry-badge-uuctl {
|
||||
background-color: rgba(255, 183, 0, 0.2);
|
||||
background-color: rgba(255, 183, 0, 0.15);
|
||||
color: var(--owlry-badge-uuctl);
|
||||
}
|
||||
|
||||
.owlry-badge-web {
|
||||
background-color: rgba(0, 234, 255, 0.15);
|
||||
color: var(--owlry-badge-web);
|
||||
}
|
||||
|
||||
/* Widget badges */
|
||||
.owlry-badge-media {
|
||||
background-color: rgba(200, 77, 255, 0.15);
|
||||
color: var(--owlry-badge-media);
|
||||
}
|
||||
|
||||
.owlry-badge-weather {
|
||||
background-color: rgba(90, 243, 255, 0.15);
|
||||
color: var(--owlry-badge-weather);
|
||||
}
|
||||
|
||||
.owlry-badge-pomo {
|
||||
background-color: rgba(255, 136, 153, 0.15);
|
||||
color: var(--owlry-badge-pomo);
|
||||
}
|
||||
|
||||
/* Filter button - default uses The Predator */
|
||||
.owlry-filter-button:checked {
|
||||
background-color: rgba(255, 0, 68, 0.2);
|
||||
color: var(--owlry-accent);
|
||||
border-color: rgba(255, 0, 68, 0.4);
|
||||
border-color: rgba(255, 0, 68, 0.5);
|
||||
}
|
||||
|
||||
/* Provider-specific filter buttons - follow Apex semantics */
|
||||
.owlry-filter-app:checked {
|
||||
background-color: rgba(0, 234, 255, 0.2);
|
||||
background-color: rgba(0, 234, 255, 0.15);
|
||||
color: var(--owlry-badge-app);
|
||||
border-color: rgba(0, 234, 255, 0.4);
|
||||
border-color: rgba(0, 234, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-bookmark:checked {
|
||||
background-color: rgba(255, 183, 0, 0.15);
|
||||
color: var(--owlry-badge-bookmark);
|
||||
border-color: rgba(255, 183, 0, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-calc:checked {
|
||||
background-color: rgba(255, 210, 77, 0.15);
|
||||
color: var(--owlry-badge-calc);
|
||||
border-color: rgba(255, 210, 77, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-clip:checked {
|
||||
background-color: rgba(157, 0, 255, 0.15);
|
||||
color: var(--owlry-badge-clip);
|
||||
border-color: rgba(157, 0, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-cmd:checked {
|
||||
background-color: rgba(157, 0, 255, 0.2);
|
||||
background-color: rgba(157, 0, 255, 0.15);
|
||||
color: var(--owlry-badge-cmd);
|
||||
border-color: rgba(157, 0, 255, 0.4);
|
||||
border-color: rgba(157, 0, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-dmenu:checked {
|
||||
background-color: rgba(0, 255, 153, 0.15);
|
||||
color: var(--owlry-badge-dmenu);
|
||||
border-color: rgba(0, 255, 153, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-emoji:checked {
|
||||
background-color: rgba(200, 77, 255, 0.15);
|
||||
color: var(--owlry-badge-emoji);
|
||||
border-color: rgba(200, 77, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-file:checked {
|
||||
background-color: rgba(90, 243, 255, 0.15);
|
||||
color: var(--owlry-badge-file);
|
||||
border-color: rgba(90, 243, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-script:checked {
|
||||
background-color: rgba(43, 255, 178, 0.15);
|
||||
color: var(--owlry-badge-script);
|
||||
border-color: rgba(43, 255, 178, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-ssh:checked {
|
||||
background-color: rgba(0, 234, 255, 0.15);
|
||||
color: var(--owlry-badge-ssh);
|
||||
border-color: rgba(0, 234, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-sys:checked {
|
||||
background-color: rgba(255, 0, 68, 0.15);
|
||||
color: var(--owlry-badge-sys);
|
||||
border-color: rgba(255, 0, 68, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-uuctl:checked {
|
||||
background-color: rgba(255, 183, 0, 0.2);
|
||||
background-color: rgba(255, 183, 0, 0.15);
|
||||
color: var(--owlry-badge-uuctl);
|
||||
border-color: rgba(255, 183, 0, 0.4);
|
||||
border-color: rgba(255, 183, 0, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-web:checked {
|
||||
background-color: rgba(0, 234, 255, 0.15);
|
||||
color: var(--owlry-badge-web);
|
||||
border-color: rgba(0, 234, 255, 0.5);
|
||||
}
|
||||
|
||||
/* Widget filter buttons */
|
||||
.owlry-filter-media:checked {
|
||||
background-color: rgba(200, 77, 255, 0.15);
|
||||
color: var(--owlry-badge-media);
|
||||
border-color: rgba(200, 77, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-weather:checked {
|
||||
background-color: rgba(90, 243, 255, 0.15);
|
||||
color: var(--owlry-badge-weather);
|
||||
border-color: rgba(90, 243, 255, 0.5);
|
||||
}
|
||||
|
||||
.owlry-filter-pomodoro:checked {
|
||||
background-color: rgba(255, 136, 153, 0.15);
|
||||
color: var(--owlry-badge-pomo);
|
||||
border-color: rgba(255, 136, 153, 0.5);
|
||||
}
|
||||
|
||||
/* Scrollbar - subtle in Void, The Predator on active */
|
||||
scrollbar slider {
|
||||
background-color: rgba(38, 38, 38, 0.6);
|
||||
background-color: rgba(38, 38, 38, 0.8);
|
||||
}
|
||||
|
||||
scrollbar slider:hover {
|
||||
background-color: rgba(115, 115, 115, 0.6);
|
||||
background-color: rgba(64, 64, 64, 0.9);
|
||||
}
|
||||
|
||||
scrollbar slider:active {
|
||||
background-color: var(--owlry-accent);
|
||||
}
|
||||
|
||||
/* Text selection - Apex Hard Rule: black text on red (target locked) */
|
||||
selection {
|
||||
background-color: var(--owlry-accent);
|
||||
color: #050505;
|
||||
}
|
||||
|
||||
/* Mode indicator - The Predator marks current mode */
|
||||
.owlry-mode-indicator {
|
||||
background-color: rgba(255, 0, 68, 0.2);
|
||||
color: var(--owlry-accent);
|
||||
border: 1px solid rgba(255, 0, 68, 0.3);
|
||||
}
|
||||
|
||||
/* Hints bar */
|
||||
.owlry-hints {
|
||||
border-top: 1px solid rgba(38, 38, 38, 0.8);
|
||||
}
|
||||
|
||||
.owlry-hints-label {
|
||||
color: var(--owlry-text-secondary);
|
||||
}
|
||||
|
||||
/* Tag badges in results */
|
||||
.owlry-tag-badge {
|
||||
background-color: rgba(38, 38, 38, 0.6);
|
||||
color: var(--owlry-text-secondary);
|
||||
}
|
||||
|
||||
.owlry-result-row:selected .owlry-tag-badge {
|
||||
background-color: rgba(255, 136, 153, 0.25);
|
||||
color: var(--owlry-accent-bright);
|
||||
}
|
||||
|
||||
@@ -1,93 +1,50 @@
|
||||
{
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"positionX": "right",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"control-center-margin-top": 10,
|
||||
"control-center-margin-bottom": 10,
|
||||
"control-center-margin-right": 10,
|
||||
"control-center-margin-left": 10,
|
||||
"notification-icon-size": 64,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 200,
|
||||
"timeout": 3,
|
||||
"timeout-low": 2,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": false,
|
||||
"control-center-width": 500,
|
||||
"control-center-height": 1025,
|
||||
"notification-window-width": 440,
|
||||
"keyboard-shortcuts": true,
|
||||
"image-visibility": "when-available",
|
||||
"transition-time": 200,
|
||||
"hide-on-clear": true,
|
||||
"hide-on-action": true,
|
||||
"script-fail-notify": true,
|
||||
"widgets": [
|
||||
"title",
|
||||
"dnd",
|
||||
"notifications",
|
||||
"mpris",
|
||||
"volume",
|
||||
"buttons-grid"
|
||||
],
|
||||
"widget-config": {
|
||||
"title": {
|
||||
"text": "Notification Center",
|
||||
"clear-all-button": true,
|
||||
"button-text": " Clear All"
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Do Not Disturb"
|
||||
},
|
||||
"label": {
|
||||
"max-lines": 1,
|
||||
"text": "Notification Center"
|
||||
},
|
||||
"mpris": {
|
||||
"image-size": 96,
|
||||
"image-radius": 7
|
||||
},
|
||||
"volume": {
|
||||
"label": "",
|
||||
"show-per-app": true
|
||||
},
|
||||
"buttons-grid": {
|
||||
"actions": [
|
||||
{
|
||||
"label": "",
|
||||
"command": "systemctl poweroff"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "systemctl reboot"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "loginctl lock-session"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "uwsm stop"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "systemctl suspend"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "swayosd-client --output-volume mute-toggle"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "swayosd-client --input-volume mute-toggle"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "obs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
|
||||
"ignore-gtk-theme": true,
|
||||
"cssPriority": "user",
|
||||
|
||||
"positionX": "right",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"layer-shell": true,
|
||||
|
||||
"control-center-width": 480,
|
||||
"control-center-height": -1,
|
||||
"control-center-margin-top": 14,
|
||||
"control-center-margin-right": 14,
|
||||
"control-center-margin-bottom": 14,
|
||||
"control-center-margin-left": 14,
|
||||
"control-center-exclusive-zone": true,
|
||||
"fit-to-screen": true,
|
||||
|
||||
"notification-window-width": 440,
|
||||
"notification-window-height": -1,
|
||||
|
||||
"notification-grouping": true,
|
||||
"relative-timestamps": true,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
|
||||
"widgets": [
|
||||
"title#ApexTitle",
|
||||
"dnd#ApexDnd",
|
||||
"notifications#ApexNoti"
|
||||
],
|
||||
|
||||
"widget-config": {
|
||||
"title#ApexTitle": {
|
||||
"text": "Notification Center",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Clear All"
|
||||
},
|
||||
|
||||
"dnd#ApexDnd": {
|
||||
"text": "Do Not Disturb"
|
||||
},
|
||||
|
||||
"notifications#ApexNoti": {
|
||||
"vexpand": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,252 +1,201 @@
|
||||
@define-color rp-base #050505;
|
||||
@define-color rp-surface #141414;
|
||||
@define-color rp-overlay #262626;
|
||||
@define-color rp-hl-low #141414;
|
||||
@define-color rp-hl-med #262626;
|
||||
@define-color rp-hl-high #404040;
|
||||
/* Apex Neon for SwayNotificationCenter
|
||||
State over decoration. If it isn't important, it doesn't glow. */
|
||||
|
||||
@define-color rp-muted #404040;
|
||||
@define-color rp-subtle #404040;
|
||||
@define-color rp-text #ededed;
|
||||
@define-color base #050505; /* Void */
|
||||
@define-color surface #141414; /* Panel */
|
||||
@define-color overlay #262626; /* Border */
|
||||
@define-color text #ededed; /* Foreground */
|
||||
@define-color muted #737373; /* Subtext */
|
||||
|
||||
@define-color rp-love #ff0044;
|
||||
@define-color rp-gold #ffb700;
|
||||
@define-color rp-rose #ff80bf;
|
||||
@define-color rp-pine #00ff99;
|
||||
@define-color rp-foam #00eaff;
|
||||
@define-color rp-iris #9d00ff;
|
||||
|
||||
/* Apex Neon palette */
|
||||
|
||||
@define-color cc-bg @rp-surface;
|
||||
@define-color noti-border-color @rp-hl-high;
|
||||
@define-color noti-bg @rp-overlay;
|
||||
@define-color noti-bg-darker @rp-hl-low;
|
||||
@define-color noti-bg-hover @rp-hl-med;
|
||||
@define-color noti-bg-focus alpha(@rp-hl-high, 0.6);
|
||||
@define-color text-color @rp-text;
|
||||
@define-color text-color-disabled @rp-subtle;
|
||||
@define-color bg-selected @rp-foam;
|
||||
@define-color red #ff0044; /* Active intent / destructive */
|
||||
@define-color cyan #00eaff; /* Info / hover */
|
||||
@define-color green #00ff99; /* Enabled / OK */
|
||||
@define-color purple #9d00ff; /* Special mode */
|
||||
@define-color alert #ff8899; /* Critical (distinct from "you are here" red) */
|
||||
|
||||
* {
|
||||
font-family: JetBrainsMono NFP;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
all: unset;
|
||||
font-family: "JetBrainsMono Nerd Font", "Inter", sans-serif;
|
||||
font-size: 12px;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
.control-center .notification-row:focus,
|
||||
.control-center .notification-row:hover {
|
||||
opacity: 1;
|
||||
background: @noti-bg-darker;
|
||||
}
|
||||
|
||||
.notification-row {
|
||||
outline: none;
|
||||
margin: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.notification {
|
||||
background: transparent;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.notification-content {
|
||||
background: @cc-bg;
|
||||
padding: 7px;
|
||||
border-radius: 0px;
|
||||
border: 2px solid @noti-border-color;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
background: @rp-gold;
|
||||
color: @cc-bg;
|
||||
text-shadow: none;
|
||||
padding: 0;
|
||||
border-radius: 0px;
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.close-button:hover {
|
||||
box-shadow: none;
|
||||
background: @rp-rose;
|
||||
color: @cc-bg;
|
||||
transition: all .15s ease-in-out;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.notification-action {
|
||||
color: @text-color;
|
||||
border: 2px solid @noti-border-color;
|
||||
border-top: none;
|
||||
border-radius: 0px;
|
||||
background: @rp-base;
|
||||
}
|
||||
|
||||
.notification-default-action:hover,
|
||||
.notification-action:hover {
|
||||
color: @text-color;
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.summary {
|
||||
padding-top: 7px;
|
||||
font-size: 13px;
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 11px;
|
||||
color: @rp-gold;
|
||||
margin-right: 24px;
|
||||
}
|
||||
|
||||
.body {
|
||||
font-size: 12px;
|
||||
color: @text-color;
|
||||
/* ===== Windows ===== */
|
||||
.control-center,
|
||||
.notification-window {
|
||||
background-color: rgba(5, 5, 5, 0.92);
|
||||
}
|
||||
|
||||
.control-center {
|
||||
background: @cc-bg;
|
||||
border: 2px solid @noti-border-color;
|
||||
border-radius: 0px;
|
||||
border: 2px solid @overlay;
|
||||
border-radius: 12px;
|
||||
padding: 10px;
|
||||
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.70);
|
||||
}
|
||||
|
||||
.control-center-list {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.control-center-list-placeholder {
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.floating-notifications {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.blank-window {
|
||||
background: alpha(@rp-base, 0.1);
|
||||
.notification-window {
|
||||
border: 2px solid @overlay;
|
||||
border-radius: 12px;
|
||||
padding: 8px;
|
||||
box-shadow: 0 14px 34px rgba(0, 0, 0, 0.70);
|
||||
}
|
||||
|
||||
/* ===== Title row ===== */
|
||||
.widget-title {
|
||||
color: @text-color;
|
||||
background: @noti-bg-darker;
|
||||
padding: 5px 10px;
|
||||
margin: 10px 10px 5px 10px;
|
||||
font-size: 1.5rem;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.widget-title > button {
|
||||
font-size: 1rem;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
background: @noti-bg;
|
||||
box-shadow: none;
|
||||
border-radius: 5px;
|
||||
.widget-title label {
|
||||
font-size: 15px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.widget-title > button:hover {
|
||||
background: @rp-gold;
|
||||
color: @cc-bg;
|
||||
.widget-title button {
|
||||
background-color: @surface;
|
||||
border: 1px solid @overlay;
|
||||
border-radius: 10px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.widget-title button:hover {
|
||||
border-color: @red;
|
||||
}
|
||||
|
||||
.widget-title button:active {
|
||||
background-color: @red;
|
||||
color: @base; /* text turns black on red, non-negotiable */
|
||||
}
|
||||
|
||||
/* ===== DND ===== */
|
||||
.widget-dnd {
|
||||
background: @noti-bg-darker;
|
||||
padding: 5px 10px;
|
||||
margin: 5px 10px 10px 10px;
|
||||
border-radius: 5px;
|
||||
font-size: large;
|
||||
color: @text-color;
|
||||
background-color: @surface;
|
||||
border: 1px solid @overlay;
|
||||
border-radius: 10px;
|
||||
padding: 8px 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch {
|
||||
border-radius: 4px;
|
||||
background: @rp-muted;
|
||||
.widget-dnd label {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked {
|
||||
background: @rp-gold;
|
||||
border: 1px solid @rp-gold;
|
||||
.widget-dnd switch {
|
||||
background-color: @overlay;
|
||||
border-radius: 999px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
background: @cc-bg;
|
||||
border-radius: 5px;
|
||||
.widget-dnd switch slider {
|
||||
background-color: @text;
|
||||
border-radius: 999px;
|
||||
min-width: 18px;
|
||||
min-height: 18px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked slider {
|
||||
background: @cc-bg;
|
||||
border-radius: 5px;
|
||||
.widget-dnd switch:checked {
|
||||
background-color: @purple;
|
||||
}
|
||||
|
||||
.widget-label {
|
||||
margin: 10px 10px 5px 10px;
|
||||
.widget-dnd switch:checked slider {
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
.widget-label > label {
|
||||
font-size: 1rem;
|
||||
color: @text-color;
|
||||
/* ===== Notifications list: remove "giant grey slab" ===== */
|
||||
.widget-notifications {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.widget-mpris {
|
||||
color: @text-color;
|
||||
background: @noti-bg-darker;
|
||||
padding: 5px 10px 0px 0px;
|
||||
margin: 5px 10px 5px 10px;
|
||||
border-radius: 0px;
|
||||
.notification-group,
|
||||
.notification-group-headers,
|
||||
.notification-group-icon {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.widget-mpris > box > button {
|
||||
border-radius: 5px;
|
||||
/* ===== Notification card ===== */
|
||||
.notification-row {
|
||||
background-color: transparent;
|
||||
margin: 0 0 8px 0;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
padding: 5px 10px;
|
||||
margin: 10px;
|
||||
.notification {
|
||||
background-color: @surface;
|
||||
border: 1px solid @overlay;
|
||||
border-radius: 12px;
|
||||
padding: 10px;
|
||||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.60);
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
font-weight: 700;
|
||||
font-size: 1.25rem;
|
||||
.notification-row:hover .notification {
|
||||
border-color: @cyan;
|
||||
}
|
||||
|
||||
.widget-mpris-subtitle {
|
||||
font-size: 1.1rem;
|
||||
color: @text-color-disabled;
|
||||
.notification-row:focus .notification {
|
||||
border-color: @red;
|
||||
}
|
||||
|
||||
.widget-buttons-grid {
|
||||
font-size: x-large;
|
||||
padding: 5px;
|
||||
margin: 5px 10px 10px 10px;
|
||||
border-radius: 5px;
|
||||
background: @noti-bg-darker;
|
||||
/* Urgency */
|
||||
.notification.critical {
|
||||
border-color: @alert;
|
||||
box-shadow: 0 0 0 1px @alert;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button {
|
||||
margin: 3px;
|
||||
background: @cc-bg;
|
||||
border-radius: 5px;
|
||||
color: @text-color;
|
||||
border: 1px solid @noti-border-color;
|
||||
.image {
|
||||
border-radius: 10px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.widget-buttons-grid > flowbox > flowboxchild > button:hover {
|
||||
background: @rp-gold;
|
||||
color: @cc-bg;
|
||||
.summary {
|
||||
font-weight: 800;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.widget-menubar > box > .menu-button-bar > button {
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
.body {
|
||||
color: @muted;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.topbar-buttons > button {
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
.time {
|
||||
color: @cyan;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* Notification actions */
|
||||
.notification-action {
|
||||
background-color: @overlay;
|
||||
border-radius: 10px;
|
||||
padding: 5px 8px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.notification-action:hover {
|
||||
box-shadow: inset 0 0 0 1px @cyan;
|
||||
}
|
||||
|
||||
.notification-action:active {
|
||||
background-color: @cyan;
|
||||
color: @base;
|
||||
}
|
||||
|
||||
/* Close button */
|
||||
.close-button {
|
||||
background-color: @overlay;
|
||||
border-radius: 8px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.close-button:hover {
|
||||
background-color: @red;
|
||||
color: @base;
|
||||
}
|
||||
|
||||
.close-button:active {
|
||||
background-color: @red;
|
||||
color: @base;
|
||||
}
|
||||
|
||||
/* ===== Popup notifications container (safe even if class names differ) ===== */
|
||||
.floating-notifications.background {
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"layer": "top",
|
||||
"position": "left",
|
||||
"output": "{{ $primary_output }}",
|
||||
"width": 90,
|
||||
"width": 54,
|
||||
"spacing": 4,
|
||||
"margin-top": 0,
|
||||
"margin-bottom": 0,
|
||||
@@ -19,7 +19,6 @@
|
||||
{{- if eq .chezmoi.hostname "owlenpc00" }}
|
||||
"custom/alhp",
|
||||
{{- end }}
|
||||
"hyprland/window",
|
||||
"hyprland/workspaces"
|
||||
],
|
||||
|
||||
@@ -47,14 +46,6 @@
|
||||
{{- end }}
|
||||
],
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "{title}",
|
||||
"max-length": 18,
|
||||
"icon": true,
|
||||
"icon-size": 18,
|
||||
"separate-outputs": false
|
||||
},
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"format": "{icon} {id}",
|
||||
"all-outputs": true,
|
||||
@@ -72,18 +63,31 @@
|
||||
|
||||
"cpu": {
|
||||
"interval": 2,
|
||||
"format": "{usage}%"
|
||||
"format": "{usage}%",
|
||||
"states": {
|
||||
"warning": 75,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": "{used:0.1f}G/{total:0.1f}G\n{swapUsed:0.1f}G/{swapTotal:0.1f}G"
|
||||
"format": " {percentage}%\n {swapPercentage}%",
|
||||
"tooltip-format": "RAM: {used:0.1f}G/{total:0.1f}G\nSWAP: {swapUsed:0.1f}G/{swapTotal:0.1f}G",
|
||||
"states": {
|
||||
"warning": 75,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"disk#root": {
|
||||
"interval": 30,
|
||||
"format": "/ {percentage_used}%",
|
||||
"path": "/"
|
||||
"path": "/",
|
||||
"states": {
|
||||
"warning": 80,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"network": {
|
||||
@@ -92,7 +96,8 @@
|
||||
"format-ethernet": "",
|
||||
"tooltip-format-wifi": "{signalStrength}\n {bandwidthUpBytes}\n {bandwidthDownBytes}",
|
||||
"tooltip-format-ethernet": " {bandwidthUpBytes}\n {bandwidthDownBytes}",
|
||||
"format-disconnected": ""
|
||||
"format-disconnected": "",
|
||||
"tooltip-format-disconnected": "Disconnected"
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
@@ -225,6 +230,7 @@
|
||||
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon",
|
||||
"input-filename": "temp1_input",
|
||||
"interval": 5,
|
||||
"warning-threshold": 80,
|
||||
"critical-threshold": 85,
|
||||
"format": " {temperatureC}°C",
|
||||
"format-critical": " {temperatureC}°C ",
|
||||
@@ -235,6 +241,7 @@
|
||||
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
|
||||
"input-filename": "temp1_input",
|
||||
"interval": 5,
|
||||
"warning-threshold": 90,
|
||||
"critical-threshold": 100,
|
||||
"format": "GPU {temperatureC}°C",
|
||||
"format-critical": "GPU {temperatureC}°C ",
|
||||
@@ -245,6 +252,7 @@
|
||||
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
|
||||
"input-filename": "temp2_input",
|
||||
"interval": 5,
|
||||
"warning-threshold": 100,
|
||||
"critical-threshold": 110,
|
||||
"format": " {temperatureC}°C",
|
||||
"format-critical": " {temperatureC}°C ",
|
||||
@@ -255,6 +263,7 @@
|
||||
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
|
||||
"input-filename": "temp3_input",
|
||||
"interval": 5,
|
||||
"warning-threshold": 90,
|
||||
"critical-threshold": 100,
|
||||
"format": " {temperatureC}°C",
|
||||
"format-critical": " {temperatureC}°C ",
|
||||
@@ -265,6 +274,7 @@
|
||||
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:02.2/0000:23:00.0/nvme/nvme0/hwmon",
|
||||
"input-filename": "temp1_input",
|
||||
"interval": 10,
|
||||
"warning-threshold": 75,
|
||||
"critical-threshold": 85,
|
||||
"format": " {temperatureC}°C",
|
||||
"format-critical": " {temperatureC}°C ",
|
||||
@@ -272,10 +282,11 @@
|
||||
},
|
||||
|
||||
"custom/swaync": {
|
||||
"format": " {}",
|
||||
"exec-if": "which swaync-client >/dev/null 2>&1 && pgrep -x swaync >/dev/null 2>&1",
|
||||
"exec": "swaync-client -c",
|
||||
"exec": "$HOME/.config/waybar/scripts/swaync-count.sh",
|
||||
"return-type": "json",
|
||||
"interval": 2,
|
||||
"format": "{text}",
|
||||
"on-click": "swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d",
|
||||
"on-click-middle": "swaync-client -C"
|
||||
|
||||
@@ -2,51 +2,50 @@
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# defaults
|
||||
text=""
|
||||
tooltip='All good'
|
||||
class='good'
|
||||
tooltip="All good"
|
||||
class="good"
|
||||
|
||||
# Check if alhp.utils command exists, if not consider it as down
|
||||
if ! command -v alhp.utils &> /dev/null; then
|
||||
tooltip="Service unavailable"
|
||||
text=""
|
||||
class="down"
|
||||
if ! command -v alhp.utils >/dev/null 2>&1; then
|
||||
class="down"
|
||||
tooltip="Service unavailable"
|
||||
else
|
||||
ALHP_OUTPUT=$(alhp.utils -j)
|
||||
mirror_stale=$(jq -r '.mirror_out_of_date' <<<"$ALHP_OUTPUT")
|
||||
if ! ALHP_OUTPUT=$(alhp.utils -j 2>/dev/null); then
|
||||
class="down"
|
||||
tooltip="Service error"
|
||||
else
|
||||
total=$(jq -r '.total // 0' <<<"$ALHP_OUTPUT" 2>/dev/null || echo 0)
|
||||
mirror_stale=$(jq -r '.mirror_out_of_date // false' <<<"$ALHP_OUTPUT" 2>/dev/null || echo false)
|
||||
|
||||
total=$(jq -r '.total' <<<"$ALHP_OUTPUT")
|
||||
mirror_stale=$(jq -r '.mirror_out_of_date' <<<"$ALHP_OUTPUT")
|
||||
readarray -t packages < <(jq -r '.packages // [] | .[]' <<<"$ALHP_OUTPUT" 2>/dev/null || true)
|
||||
|
||||
# safe array even if packages is null
|
||||
readarray -t packages < <(
|
||||
jq -r '.packages // [] | .[]' <<<"$ALHP_OUTPUT"
|
||||
)
|
||||
|
||||
# 1) Mirror stale? highest priority
|
||||
if [[ "$mirror_stale" == "true" ]]; then
|
||||
class="stale"
|
||||
tooltip="Mirror is out of date"
|
||||
# 2) Any pending PKGBUILDs?
|
||||
class="stale"
|
||||
tooltip="Mirror is out of date"
|
||||
elif (( total > 0 )); then
|
||||
class="bad"
|
||||
text="$total"
|
||||
class="bad"
|
||||
text="$total"
|
||||
if (( ${#packages[@]} > 0 )); then
|
||||
tooltip=$(printf "%s\n" "${packages[@]}")
|
||||
else
|
||||
tooltip="Pending: $total"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$class" in
|
||||
good) icon=" ";;
|
||||
stale) icon=" ";;
|
||||
bad) icon=" ";;
|
||||
down) icon="x ";;
|
||||
good) icon="" ;;
|
||||
stale) icon="" ;;
|
||||
bad) icon="" ;;
|
||||
down) icon="" ;;
|
||||
esac
|
||||
|
||||
# Emit compact JSON for Statusbar
|
||||
jq -nc \
|
||||
--arg text "<span color=\"#4F84CC\">$icon</span> <span color=\"#CAD3E8\">$text</span>" \
|
||||
--arg class "$class" \
|
||||
--arg tooltip "$tooltip" \
|
||||
'{text: $text, class: $class, tooltip: $tooltip}'
|
||||
out="$icon"
|
||||
[[ -n "$text" ]] && out+=" $text"
|
||||
|
||||
jq -nc \
|
||||
--arg text "$out" \
|
||||
--arg class "$class" \
|
||||
--arg tooltip "$tooltip" \
|
||||
'{text:$text, class:$class, tooltip:$tooltip}'
|
||||
|
||||
26
dot_config/waybar/scripts/executable_swaync-count.sh
Normal file
26
dot_config/waybar/scripts/executable_swaync-count.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
count_raw=$(swaync-client -c 2>/dev/null || echo "")
|
||||
if [[ "$count_raw" =~ ^[0-9]+$ ]]; then
|
||||
count=$count_raw
|
||||
else
|
||||
count=0
|
||||
fi
|
||||
|
||||
class="clear"
|
||||
text=""
|
||||
tooltip="No notifications"
|
||||
|
||||
if (( count > 0 )); then
|
||||
class="unread"
|
||||
text=" $count"
|
||||
tooltip="Unread: $count"
|
||||
fi
|
||||
|
||||
jq -nc \
|
||||
--arg text "$text" \
|
||||
--arg class "$class" \
|
||||
--arg tooltip "$tooltip" \
|
||||
'{text:$text, class:$class, tooltip:$tooltip}'
|
||||
@@ -3,6 +3,14 @@ set -euo pipefail
|
||||
|
||||
cycle_seconds=3
|
||||
|
||||
# Critical thresholds (deg C) to match module semantics
|
||||
cpu_warn=80
|
||||
cpu_crit=85
|
||||
gpu_warn=100
|
||||
gpu_crit=110
|
||||
nvme_warn=75
|
||||
nvme_crit=85
|
||||
|
||||
resolve_hwmon_file() {
|
||||
local base="$1" file="$2" sub
|
||||
if [[ -r "$base/$file" ]]; then
|
||||
@@ -55,35 +63,61 @@ gpu_path="/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12
|
||||
nvme_path="/sys/devices/pci0000:00/0000:00:02.2/0000:23:00.0/nvme/nvme0/hwmon"
|
||||
|
||||
labels=()
|
||||
keys=()
|
||||
icons=()
|
||||
values=()
|
||||
warn=()
|
||||
crit=()
|
||||
|
||||
if temp=$(read_temp "$cpu_path" "temp1_input" "k10temp"); then
|
||||
labels+=("CPU")
|
||||
keys+=("cpu")
|
||||
icons+=("")
|
||||
values+=("$temp")
|
||||
warn+=("$cpu_warn")
|
||||
crit+=("$cpu_crit")
|
||||
fi
|
||||
|
||||
if temp=$(read_temp "$gpu_path" "temp2_input" "amdgpu"); then
|
||||
labels+=("GPU")
|
||||
keys+=("gpu_hotspot")
|
||||
icons+=("")
|
||||
values+=("$temp")
|
||||
warn+=("$gpu_warn")
|
||||
crit+=("$gpu_crit")
|
||||
fi
|
||||
|
||||
if temp=$(read_temp "$nvme_path" "temp1_input" "nvme"); then
|
||||
labels+=("NVMe")
|
||||
keys+=("nvme")
|
||||
icons+=("")
|
||||
values+=("$temp")
|
||||
warn+=("$nvme_warn")
|
||||
crit+=("$nvme_crit")
|
||||
fi
|
||||
|
||||
count=${#values[@]}
|
||||
if (( count == 0 )); then
|
||||
printf '{"text":" --","tooltip":"No temp sensors found"}\n'
|
||||
jq -nc --arg text " --" --arg tooltip "No temp sensors found" \
|
||||
'{text:$text, tooltip:$tooltip, class:["down"]}'
|
||||
exit 0
|
||||
fi
|
||||
|
||||
idx=$(( ($(date +%s) / cycle_seconds) % count ))
|
||||
text="${icons[idx]} ${values[idx]}°C"
|
||||
val=${values[idx]}
|
||||
key=${keys[idx]}
|
||||
warn_threshold=${warn[idx]}
|
||||
critical_threshold=${crit[idx]}
|
||||
|
||||
is_warning=false
|
||||
is_critical=false
|
||||
if (( val >= critical_threshold )); then
|
||||
is_critical=true
|
||||
elif (( val >= warn_threshold )); then
|
||||
is_warning=true
|
||||
fi
|
||||
|
||||
text="${icons[idx]} ${val}°C"
|
||||
|
||||
tooltip=""
|
||||
for i in "${!values[@]}"; do
|
||||
@@ -93,4 +127,10 @@ for i in "${!values[@]}"; do
|
||||
tooltip+="${labels[i]}: ${values[i]}°C"
|
||||
done
|
||||
|
||||
printf '{"text":"%s","tooltip":"%s"}\n' "$text" "$tooltip"
|
||||
jq -nc \
|
||||
--arg text "$text" \
|
||||
--arg tooltip "$tooltip" \
|
||||
--arg key "$key" \
|
||||
--argjson is_warning "$is_warning" \
|
||||
--argjson is_critical "$is_critical" \
|
||||
'{text:$text, tooltip:$tooltip, class: ([$key] + (if $is_critical then ["critical"] elif $is_warning then ["warning"] else [] end)) }'
|
||||
|
||||
@@ -9,30 +9,32 @@
|
||||
@define-color pine #00ff99; /* Toxic Green */
|
||||
@define-color gold #ffb700; /* Warning Gold */
|
||||
@define-color iris #9d00ff; /* Void Purple */
|
||||
@define-color stealth #404040; /* GEMINI: Stealth */
|
||||
@define-color alert #ff8899; /* Apex Neon: BrRed = Alerts */
|
||||
|
||||
@define-color hl_low #141414;
|
||||
@define-color hl_med #262626;
|
||||
@define-color hl_high #262626; /* keep borders “light surface”, not random gray */
|
||||
|
||||
@define-color bar_alpha rgba(5, 5, 5, 0.65);
|
||||
@define-color surface_alpha rgba(20, 20, 20, 0.82);
|
||||
@define-color overlay_alpha rgba(38, 38, 38, 0.92);
|
||||
@define-color bar_alpha rgba(5, 5, 5, 0.85);
|
||||
@define-color surface_alpha rgba(5, 5, 5, 0.9);
|
||||
@define-color overlay_alpha rgba(20, 20, 20, 0.9);
|
||||
|
||||
/* Bar */
|
||||
window#waybar {
|
||||
background: @bar_alpha;
|
||||
color: @text;
|
||||
border: 0;
|
||||
border-bottom: 1px solid @overlay;
|
||||
}
|
||||
|
||||
/* Extra breathing room for the first/last pill in each section */
|
||||
#left > :first-child,
|
||||
#center > :first-child,
|
||||
#right > :first-child { margin-top: 8px; }
|
||||
#right > :first-child { margin-top: 6px; }
|
||||
|
||||
#left > :last-child,
|
||||
#center > :last-child,
|
||||
#right > :last-child { margin-bottom: 8px; }
|
||||
#right > :last-child { margin-bottom: 6px; }
|
||||
|
||||
/* Typography */
|
||||
* {
|
||||
@@ -42,8 +44,8 @@ window#waybar {
|
||||
|
||||
/* Workspaces */
|
||||
#workspaces {
|
||||
margin: 1px;
|
||||
padding: 2px 4px;
|
||||
margin: 0;
|
||||
padding: 2px 3px;
|
||||
background: transparent;
|
||||
font-size: 10px;
|
||||
}
|
||||
@@ -53,15 +55,15 @@ window#waybar {
|
||||
background: @surface_alpha;
|
||||
color: @muted; /* inactive should look “off” */
|
||||
border: 1px solid @overlay; /* light surface border */
|
||||
border-radius: 6px;
|
||||
margin: 2px;
|
||||
padding: 3px 6px;
|
||||
border-radius: 5px;
|
||||
margin: 1px;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
/* Hover = cyan tech highlight */
|
||||
/* Hover = red target lock */
|
||||
#workspaces button:hover {
|
||||
background: @overlay_alpha;
|
||||
border-color: @foam;
|
||||
border-color: @love;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
@@ -72,15 +74,15 @@ window#waybar {
|
||||
border-color: @love;
|
||||
}
|
||||
|
||||
/* Urgent = still red, but let it glow harder */
|
||||
/* Urgent = alert red, not focus red */
|
||||
#workspaces button.urgent {
|
||||
background: @love;
|
||||
background: @alert;
|
||||
color: @base;
|
||||
box-shadow: 0 0 6px rgba(255, 0, 68, 0.55);
|
||||
border-color: @alert;
|
||||
box-shadow: 0 0 6px rgba(255, 136, 153, 0.55);
|
||||
}
|
||||
|
||||
/* Shared pill look for ALL modules */
|
||||
#window,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
@@ -102,13 +104,12 @@ window#waybar {
|
||||
background: @surface_alpha;
|
||||
color: @text;
|
||||
border: 1px solid @overlay;
|
||||
border-radius: 8px;
|
||||
padding: 3px 6px;
|
||||
margin: 2px 3px;
|
||||
border-radius: 6px;
|
||||
padding: 2px 6px;
|
||||
margin: 2px 2px;
|
||||
}
|
||||
|
||||
/* Universal hover = cyan border "scanline" effect */
|
||||
#window:hover,
|
||||
/* Universal hover = red selection cue */
|
||||
#cpu:hover,
|
||||
#memory:hover,
|
||||
#disk:hover,
|
||||
@@ -128,80 +129,53 @@ window#waybar {
|
||||
#custom-hyprsunset:hover,
|
||||
#custom-alhp:hover {
|
||||
background: @overlay_alpha;
|
||||
border-color: @foam;
|
||||
}
|
||||
|
||||
/* Focus/primary module accents (Apex-Neon logic) */
|
||||
#window { border-left: 3px solid @love; } /* focus = Razor Red */
|
||||
|
||||
/* Metrics: make them "dashboard semantics" */
|
||||
#cpu { border-left: 3px solid @pine; } /* success/ok */
|
||||
#memory { border-left: 3px solid @iris; } /* special */
|
||||
#disk { border-left: 3px solid @foam; } /* info/tech */
|
||||
#network{ border-left: 3px solid @foam; } /* network = cyan (tech accent) */
|
||||
|
||||
/* Temperature modules */
|
||||
#temperature.cpu { border-left: 3px solid @pine; }
|
||||
#temperature.gpu_hotspot { border-left: 3px solid @love; } /* hot = red, not pink */
|
||||
#temperature.nvme { border-left: 3px solid @gold; }
|
||||
|
||||
#temperature.critical {
|
||||
background: @love;
|
||||
color: @base; /* black on red */
|
||||
border-left-color: @love;
|
||||
border-color: @love;
|
||||
}
|
||||
|
||||
/* WirePlumber / audio */
|
||||
#wireplumber { border-left: 3px solid @gold; }
|
||||
/* State-driven styling: low urgency = border, high urgency = full pill */
|
||||
#cpu.warning,
|
||||
#memory.warning,
|
||||
#disk.warning,
|
||||
#battery.warning,
|
||||
#temperature.warning,
|
||||
#custom-temps-cycle.warning {
|
||||
border-color: @gold;
|
||||
}
|
||||
|
||||
#custom-alhp.stale,
|
||||
#wireplumber.muted {
|
||||
color: @muted;
|
||||
border-left-color: @overlay;
|
||||
border-color: @gold;
|
||||
}
|
||||
|
||||
/* Privacy states */
|
||||
#privacy.screencast { border-left: 3px solid @foam; } /* "active tech" */
|
||||
#privacy.microphone { border-left: 3px solid @gold; }
|
||||
#privacy.camera { border-left: 3px solid @iris; }
|
||||
|
||||
/* Idle inhibitor */
|
||||
#idle_inhibitor.activated { border-left: 3px solid @foam; }
|
||||
#idle_inhibitor.deactivated { border-left: 3px solid @overlay; color: @muted; }
|
||||
|
||||
/* Gamemode */
|
||||
#gamemode { border-left: 3px solid @gold; }
|
||||
|
||||
/* Clock */
|
||||
#clock { border-left: 3px solid @foam; }
|
||||
|
||||
/* Battery */
|
||||
#battery { border-left: 3px solid @foam; }
|
||||
#battery.warning { border-left-color: @gold; }
|
||||
#battery.critical { border-left-color: @love; color: @love; }
|
||||
|
||||
/* Power profiles */
|
||||
#power-profiles-daemon { border-left: 3px solid @gold; }
|
||||
#power-profiles-daemon.performance { border-left-color: @love; }
|
||||
#power-profiles-daemon.balanced { border-left-color: @foam; }
|
||||
#power-profiles-daemon.power-saver { border-left-color: @pine; }
|
||||
|
||||
/* Bluetooth */
|
||||
#bluetooth { border-left: 3px solid @iris; }
|
||||
#bluetooth.off,
|
||||
#bluetooth.disabled {
|
||||
color: @muted;
|
||||
border-left-color: @overlay;
|
||||
#custom-swaync.unread {
|
||||
border-color: @foam;
|
||||
}
|
||||
|
||||
/* Notifications */
|
||||
#custom-swaync { border-left: 3px solid @iris; }
|
||||
#custom-swaync.dnd { border-left-color: @gold; }
|
||||
#idle_inhibitor.activated { border-color: @foam; }
|
||||
|
||||
/* Night shift */
|
||||
#custom-hyprsunset { border-left: 3px solid @foam; } /* tech accent instead of rose */
|
||||
#privacy { border-color: @iris; }
|
||||
#privacy-item,
|
||||
#privacy-item.screenshare,
|
||||
#privacy-item.audio-in,
|
||||
#privacy-item.audio-out { color: @iris; }
|
||||
|
||||
/* ALHP custom module */
|
||||
#custom-alhp { border-left: 3px solid @pine; }
|
||||
#cpu.critical,
|
||||
#memory.critical,
|
||||
#disk.critical,
|
||||
#battery.critical,
|
||||
#network.disconnected,
|
||||
#network.disabled,
|
||||
#temperature.critical,
|
||||
#custom-temps-cycle.critical,
|
||||
#custom-alhp.bad,
|
||||
#custom-alhp.down {
|
||||
background: @alert;
|
||||
color: @base;
|
||||
border-color: @alert;
|
||||
}
|
||||
|
||||
#wireplumber.muted { color: @muted; }
|
||||
#idle_inhibitor.deactivated { color: @muted; }
|
||||
|
||||
/* Group wrappers */
|
||||
#group-temps,
|
||||
@@ -212,36 +186,34 @@ window#waybar {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#custom-temps-cycle { border-left: 3px solid @foam; }
|
||||
#custom-temps-cycle.down { color: @muted; }
|
||||
|
||||
#group-temps #temperature { margin: 2px 0; }
|
||||
#group-temps #temperature:hover { background: @overlay_alpha; border-color: @foam; }
|
||||
|
||||
/* Preserve semantics within group */
|
||||
#group-temps #temperature.cpu { border-left: 3px solid @pine; }
|
||||
#group-temps #temperature.gpu_edge { border-left: 3px solid @iris; }
|
||||
#group-temps #temperature.gpu_hotspot { border-left: 3px solid @love; }
|
||||
#group-temps #temperature.nvme { border-left: 3px solid @gold; }
|
||||
#group-temps #temperature { margin: 1px 0; }
|
||||
#group-temps #temperature:hover { background: @overlay_alpha; border-color: @love; }
|
||||
|
||||
#group-temps #temperature.critical {
|
||||
background: @love;
|
||||
background: @alert;
|
||||
color: @base;
|
||||
border-color: @alert;
|
||||
}
|
||||
|
||||
#group-temps #temperature.warning { border-color: @gold; }
|
||||
|
||||
/* Tray */
|
||||
#tray { border-left: 3px solid @iris; }
|
||||
#tray > .passive { opacity: 0.7; }
|
||||
#tray > .needs-attention {
|
||||
border-left: 3px solid @love;
|
||||
box-shadow: 0 0 6px rgba(255, 0, 68, 0.55);
|
||||
background: @alert;
|
||||
color: @base;
|
||||
border: 1px solid @alert;
|
||||
box-shadow: 0 0 6px rgba(255, 136, 153, 0.4);
|
||||
}
|
||||
|
||||
/* Volume group sizing */
|
||||
#group-volume #wireplumber {
|
||||
margin: 1px 0;
|
||||
padding: 2px 4px;
|
||||
padding: 2px 3px;
|
||||
}
|
||||
#group-volume #wireplumber:hover { background: @overlay_alpha; border-color: @foam; }
|
||||
#group-volume #wireplumber:hover { background: @overlay_alpha; border-color: @love; }
|
||||
|
||||
/* Tooltips */
|
||||
tooltip,
|
||||
@@ -276,7 +248,7 @@ menuitem,
|
||||
menuitem:hover,
|
||||
.menuitem:hover {
|
||||
background: @overlay_alpha;
|
||||
border: 1px solid @foam;
|
||||
border: 1px solid @love;
|
||||
}
|
||||
|
||||
menuitem:disabled,
|
||||
@@ -288,4 +260,3 @@ menu separator,
|
||||
min-height: 1px;
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
|
||||
27
dot_config/zed/private_settings.json
Normal file
27
dot_config/zed/private_settings.json
Normal file
@@ -0,0 +1,27 @@
|
||||
// Zed settings
|
||||
//
|
||||
// For information on how to configure Zed, see the Zed
|
||||
// documentation: https://zed.dev/docs/configuring-zed
|
||||
//
|
||||
// To see all of Zed's default settings without changing your
|
||||
// custom settings, run `zed: open default settings` from the
|
||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||
{
|
||||
"ui_font_weight": 400.0,
|
||||
"ui_font_family": "InconsolataGo Nerd Font Mono",
|
||||
"buffer_font_family": "InconsolataGo Nerd Font Mono",
|
||||
"icon_theme": {
|
||||
"mode": "system",
|
||||
"light": "Zed (Default)",
|
||||
"dark": "Zed (Default)"
|
||||
},
|
||||
"vim_mode": true,
|
||||
"base_keymap": "JetBrains",
|
||||
"ui_font_size": 16.0,
|
||||
"buffer_font_size": 12.0,
|
||||
"theme": {
|
||||
"mode": "system",
|
||||
"light": "Apex Aeon",
|
||||
"dark": "Apex Neon"
|
||||
}
|
||||
}
|
||||
629
dot_config/zed/themes/apex.json
Normal file
629
dot_config/zed/themes/apex.json
Normal file
@@ -0,0 +1,629 @@
|
||||
{
|
||||
"$schema": "https://zed.dev/schema/themes/v0.2.0.json",
|
||||
"name": "Apex",
|
||||
"author": "S0wlz (Owlibou)",
|
||||
"themes": [
|
||||
{
|
||||
"name": "Apex Neon",
|
||||
"appearance": "dark",
|
||||
"style": {
|
||||
"background": "#050505",
|
||||
"background.appearance": "opaque",
|
||||
"surface.background": "#141414",
|
||||
"elevated_surface.background": "#141414",
|
||||
"panel.background": "#141414",
|
||||
"panel.focused_border": "#ff0044",
|
||||
"panel.indent_guide": "#26262666",
|
||||
"panel.indent_guide_active": "#737373aa",
|
||||
"panel.indent_guide_hover": "#737373cc",
|
||||
"tab_bar.background": "#141414",
|
||||
"tab.inactive_background": "#141414",
|
||||
"tab.active_background": "#050505",
|
||||
"title_bar.background": "#050505",
|
||||
"title_bar.inactive_background": "#141414",
|
||||
"toolbar.background": "#141414",
|
||||
"status_bar.background": "#141414",
|
||||
"border": "#262626",
|
||||
"border.variant": "#141414",
|
||||
"border.focused": "#ff0044",
|
||||
"border.selected": "#ff0044",
|
||||
"border.disabled": "#141414",
|
||||
"border.transparent": "transparent",
|
||||
"text": "#ededed",
|
||||
"text.muted": "#737373",
|
||||
"text.placeholder": "#737373",
|
||||
"text.disabled": "#737373",
|
||||
"text.accent": "#00eaff",
|
||||
"icon": "#ededed",
|
||||
"icon.muted": "#737373",
|
||||
"icon.placeholder": "#737373",
|
||||
"icon.disabled": "#737373",
|
||||
"icon.accent": "#00eaff",
|
||||
"accents": [
|
||||
"#ff0044",
|
||||
"#00eaff",
|
||||
"#9d00ff",
|
||||
"#00ff99",
|
||||
"#ffb700"
|
||||
],
|
||||
"element.background": "#141414",
|
||||
"element.hover": "#262626",
|
||||
"element.active": "#262626",
|
||||
"element.selected": "#262626",
|
||||
"element.disabled": "#141414",
|
||||
"ghost_element.background": null,
|
||||
"ghost_element.hover": "#26262666",
|
||||
"ghost_element.active": "#26262688",
|
||||
"ghost_element.selected": "#26262666",
|
||||
"ghost_element.disabled": null,
|
||||
"drop_target.background": "#00eaff22",
|
||||
"editor.background": "#050505",
|
||||
"editor.foreground": "#ededed",
|
||||
"editor.gutter.background": "#050505",
|
||||
"editor.subheader.background": "#141414",
|
||||
"editor.active_line.background": "#141414",
|
||||
"editor.highlighted_line.background": "#141414",
|
||||
"editor.line_number": "#737373",
|
||||
"editor.active_line_number": "#ff0044",
|
||||
"editor.wrap_guide": "#262626",
|
||||
"editor.active_wrap_guide": "#737373",
|
||||
"editor.indent_guide": "#26262666",
|
||||
"editor.indent_guide_active": "#737373aa",
|
||||
"editor.invisible": "#26262688",
|
||||
"editor.document_highlight.read_background": "#00eaff22",
|
||||
"editor.document_highlight.write_background": "#ff004422",
|
||||
"editor.document_highlight.bracket_background": "#26262666",
|
||||
"search.match_background": "#00eaff33",
|
||||
"scrollbar.track.background": "#050505",
|
||||
"scrollbar.track.border": "#050505",
|
||||
"scrollbar.thumb.background": "#262626aa",
|
||||
"scrollbar.thumb.hover_background": "#404040",
|
||||
"scrollbar.thumb.border": "transparent",
|
||||
"pane.focused_border": "#ff0044",
|
||||
"pane_group.border": "#262626",
|
||||
"link_text.hover": "#5af3ff",
|
||||
"success": "#00ff99",
|
||||
"success.background": "#00ff991a",
|
||||
"success.border": "#00ff99",
|
||||
"warning": "#ffb700",
|
||||
"warning.background": "#ffb7001a",
|
||||
"warning.border": "#ffb700",
|
||||
"error": "#ff8899",
|
||||
"error.background": "#ff88991a",
|
||||
"error.border": "#ff8899",
|
||||
"info": "#00eaff",
|
||||
"info.background": "#00eaff1a",
|
||||
"info.border": "#00eaff",
|
||||
"hint": "#0088cc",
|
||||
"hint.background": "#0088cc1a",
|
||||
"hint.border": "#0088cc",
|
||||
"predictive": "#0088cc",
|
||||
"predictive.background": "#0088cc1a",
|
||||
"predictive.border": "#0088cc",
|
||||
"unreachable": "#9d00ff",
|
||||
"unreachable.background": "#9d00ff1a",
|
||||
"unreachable.border": "#9d00ff",
|
||||
"created": "#00ff99",
|
||||
"created.background": "#00ff991a",
|
||||
"created.border": "#00ff99",
|
||||
"modified": "#ffb700",
|
||||
"modified.background": "#ffb7001a",
|
||||
"modified.border": "#ffb700",
|
||||
"deleted": "#ff8899",
|
||||
"deleted.background": "#ff88991a",
|
||||
"deleted.border": "#ff8899",
|
||||
"renamed": "#00eaff",
|
||||
"renamed.background": "#00eaff1a",
|
||||
"renamed.border": "#00eaff",
|
||||
"conflict": "#ff8899",
|
||||
"conflict.background": "#ff88991a",
|
||||
"conflict.border": "#ff8899",
|
||||
"ignored": "#737373",
|
||||
"ignored.background": "#7373731a",
|
||||
"ignored.border": "#262626",
|
||||
"hidden": "#737373",
|
||||
"hidden.background": "#7373731a",
|
||||
"hidden.border": "#262626",
|
||||
"terminal.background": "#050505",
|
||||
"terminal.foreground": "#ededed",
|
||||
"terminal.bright_foreground": "#ffffff",
|
||||
"terminal.dim_foreground": "#737373",
|
||||
"terminal.ansi.background": "#050505",
|
||||
"terminal.ansi.black": "#050505",
|
||||
"terminal.ansi.red": "#ff0044",
|
||||
"terminal.ansi.green": "#00ff99",
|
||||
"terminal.ansi.yellow": "#ffb700",
|
||||
"terminal.ansi.blue": "#00eaff",
|
||||
"terminal.ansi.magenta": "#9d00ff",
|
||||
"terminal.ansi.cyan": "#00eaff",
|
||||
"terminal.ansi.white": "#ededed",
|
||||
"terminal.ansi.bright_black": "#262626",
|
||||
"terminal.ansi.bright_red": "#ff8899",
|
||||
"terminal.ansi.bright_green": "#2bffb2",
|
||||
"terminal.ansi.bright_yellow": "#ffd24d",
|
||||
"terminal.ansi.bright_blue": "#5af3ff",
|
||||
"terminal.ansi.bright_magenta": "#c84dff",
|
||||
"terminal.ansi.bright_cyan": "#5af3ff",
|
||||
"terminal.ansi.bright_white": "#ffffff",
|
||||
"terminal.ansi.dim_black": "#050505",
|
||||
"terminal.ansi.dim_red": "#ff0044",
|
||||
"terminal.ansi.dim_green": "#00ff99",
|
||||
"terminal.ansi.dim_yellow": "#ffb700",
|
||||
"terminal.ansi.dim_blue": "#00eaff",
|
||||
"terminal.ansi.dim_magenta": "#9d00ff",
|
||||
"terminal.ansi.dim_cyan": "#00eaff",
|
||||
"terminal.ansi.dim_white": "#ededed",
|
||||
"players": [
|
||||
{
|
||||
"cursor": "#ff0044",
|
||||
"background": "#ff0044",
|
||||
"selection": "#ff004433"
|
||||
},
|
||||
{
|
||||
"cursor": "#00eaff",
|
||||
"background": "#00eaff",
|
||||
"selection": "#00eaff33"
|
||||
},
|
||||
{
|
||||
"cursor": "#9d00ff",
|
||||
"background": "#9d00ff",
|
||||
"selection": "#9d00ff33"
|
||||
},
|
||||
{
|
||||
"cursor": "#00ff99",
|
||||
"background": "#00ff99",
|
||||
"selection": "#00ff9933"
|
||||
},
|
||||
{
|
||||
"cursor": "#ffb700",
|
||||
"background": "#ffb700",
|
||||
"selection": "#ffb70033"
|
||||
}
|
||||
],
|
||||
"version_control.added": "#00ff99",
|
||||
"version_control.modified": "#ffb700",
|
||||
"version_control.deleted": "#ff8899",
|
||||
"version_control.conflict": "#ff8899",
|
||||
"version_control.renamed": "#00eaff",
|
||||
"version_control.ignored": "#737373",
|
||||
"syntax": {
|
||||
"comment": {
|
||||
"color": "#737373",
|
||||
"font_style": "italic"
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "#737373",
|
||||
"font_style": "italic"
|
||||
},
|
||||
"keyword": {
|
||||
"color": "#00eaff"
|
||||
},
|
||||
"keyword.import": {
|
||||
"color": "#00eaff"
|
||||
},
|
||||
"keyword.storage": {
|
||||
"color": "#00eaff"
|
||||
},
|
||||
"function": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"function.method": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"function.special.definition": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"type": {
|
||||
"color": "#9d00ff"
|
||||
},
|
||||
"type.builtin": {
|
||||
"color": "#9d00ff"
|
||||
},
|
||||
"string": {
|
||||
"color": "#00ff99"
|
||||
},
|
||||
"string.escape": {
|
||||
"color": "#2bffb2"
|
||||
},
|
||||
"string.regex": {
|
||||
"color": "#ffb700"
|
||||
},
|
||||
"number": {
|
||||
"color": "#ffb700"
|
||||
},
|
||||
"boolean": {
|
||||
"color": "#ffb700"
|
||||
},
|
||||
"constant": {
|
||||
"color": "#ededed"
|
||||
},
|
||||
"constant.builtin": {
|
||||
"color": "#9d00ff"
|
||||
},
|
||||
"variable": {
|
||||
"color": "#ededed"
|
||||
},
|
||||
"variable.special": {
|
||||
"color": "#9d00ff"
|
||||
},
|
||||
"property": {
|
||||
"color": "#ededed"
|
||||
},
|
||||
"attribute": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"tag": {
|
||||
"color": "#00eaff"
|
||||
},
|
||||
"label": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"operator": {
|
||||
"color": "#ededed"
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "#737373"
|
||||
},
|
||||
"punctuation.bracket": {
|
||||
"color": "#737373"
|
||||
},
|
||||
"punctuation.delimiter": {
|
||||
"color": "#737373"
|
||||
},
|
||||
"punctuation.list_marker": {
|
||||
"color": "#737373",
|
||||
"font_weight": 700
|
||||
},
|
||||
"link_text": {
|
||||
"color": "#00eaff"
|
||||
},
|
||||
"link_uri": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"emphasis": {
|
||||
"font_style": "italic"
|
||||
},
|
||||
"emphasis.strong": {
|
||||
"font_weight": 700
|
||||
},
|
||||
"title": {
|
||||
"color": "#ededed",
|
||||
"font_weight": 700
|
||||
},
|
||||
"text.literal": {
|
||||
"color": "#00ff99"
|
||||
},
|
||||
"preproc": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"constructor": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"enum": {
|
||||
"color": "#9d00ff"
|
||||
},
|
||||
"variant": {
|
||||
"color": "#9d00ff"
|
||||
},
|
||||
"hint": {
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"predictive": {
|
||||
"color": "#737373"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Apex Aeon",
|
||||
"appearance": "light",
|
||||
"style": {
|
||||
"background": "#f5f5f5",
|
||||
"background.appearance": "opaque",
|
||||
"surface.background": "#e8e8e8",
|
||||
"elevated_surface.background": "#ffffff",
|
||||
"panel.background": "#e8e8e8",
|
||||
"panel.focused_border": "#ff0044",
|
||||
"panel.indent_guide": "#a0a0a066",
|
||||
"panel.indent_guide_active": "#737373aa",
|
||||
"panel.indent_guide_hover": "#737373cc",
|
||||
"tab_bar.background": "#e8e8e8",
|
||||
"tab.inactive_background": "#e8e8e8",
|
||||
"tab.active_background": "#f5f5f5",
|
||||
"title_bar.background": "#f5f5f5",
|
||||
"title_bar.inactive_background": "#e8e8e8",
|
||||
"toolbar.background": "#e8e8e8",
|
||||
"status_bar.background": "#e8e8e8",
|
||||
"border": "#737373",
|
||||
"border.variant": "#a0a0a0",
|
||||
"border.focused": "#ff0044",
|
||||
"border.selected": "#ff0044",
|
||||
"border.disabled": "#a0a0a0",
|
||||
"border.transparent": "transparent",
|
||||
"text": "#0a0a0a",
|
||||
"text.muted": "#737373",
|
||||
"text.placeholder": "#737373",
|
||||
"text.disabled": "#a0a0a0",
|
||||
"text.accent": "#007a88",
|
||||
"icon": "#0a0a0a",
|
||||
"icon.muted": "#737373",
|
||||
"icon.placeholder": "#737373",
|
||||
"icon.disabled": "#a0a0a0",
|
||||
"icon.accent": "#007a88",
|
||||
"accents": [
|
||||
"#ff0044",
|
||||
"#007a88",
|
||||
"#7a3cff",
|
||||
"#00b377",
|
||||
"#d18f00"
|
||||
],
|
||||
"element.background": "#ffffff",
|
||||
"element.hover": "#e8e8e8",
|
||||
"element.active": "#e8e8e8",
|
||||
"element.selected": "#e8e8e8",
|
||||
"element.disabled": "#e8e8e8",
|
||||
"ghost_element.background": null,
|
||||
"ghost_element.hover": "#a0a0a033",
|
||||
"ghost_element.active": "#a0a0a044",
|
||||
"ghost_element.selected": "#a0a0a033",
|
||||
"ghost_element.disabled": null,
|
||||
"drop_target.background": "#33bccc22",
|
||||
"editor.background": "#f5f5f5",
|
||||
"editor.foreground": "#0a0a0a",
|
||||
"editor.gutter.background": "#f5f5f5",
|
||||
"editor.subheader.background": "#e8e8e8",
|
||||
"editor.active_line.background": "#e8e8e8",
|
||||
"editor.highlighted_line.background": "#e8e8e8",
|
||||
"editor.line_number": "#737373",
|
||||
"editor.active_line_number": "#ff0044",
|
||||
"editor.wrap_guide": "#e8e8e8",
|
||||
"editor.active_wrap_guide": "#a0a0a0",
|
||||
"editor.indent_guide": "#a0a0a066",
|
||||
"editor.indent_guide_active": "#737373aa",
|
||||
"editor.invisible": "#a0a0a088",
|
||||
"editor.document_highlight.read_background": "#007a881a",
|
||||
"editor.document_highlight.write_background": "#ff00441a",
|
||||
"editor.document_highlight.bracket_background": "#a0a0a033",
|
||||
"search.match_background": "#33bccc44",
|
||||
"scrollbar.track.background": "#f5f5f5",
|
||||
"scrollbar.track.border": "#f5f5f5",
|
||||
"scrollbar.thumb.background": "#a0a0a0aa",
|
||||
"scrollbar.thumb.hover_background": "#737373",
|
||||
"scrollbar.thumb.border": "transparent",
|
||||
"pane.focused_border": "#ff0044",
|
||||
"pane_group.border": "#a0a0a0",
|
||||
"link_text.hover": "#33bccc",
|
||||
"success": "#00b377",
|
||||
"success.background": "#00b3771a",
|
||||
"success.border": "#00b377",
|
||||
"warning": "#d18f00",
|
||||
"warning.background": "#d18f001a",
|
||||
"warning.border": "#d18f00",
|
||||
"error": "#ff4d6d",
|
||||
"error.background": "#ff4d6d1a",
|
||||
"error.border": "#ff4d6d",
|
||||
"info": "#007a88",
|
||||
"info.background": "#007a881a",
|
||||
"info.border": "#007a88",
|
||||
"hint": "#005577",
|
||||
"hint.background": "#0055771a",
|
||||
"hint.border": "#005577",
|
||||
"predictive": "#005577",
|
||||
"predictive.background": "#0055771a",
|
||||
"predictive.border": "#005577",
|
||||
"unreachable": "#7a3cff",
|
||||
"unreachable.background": "#7a3cff1a",
|
||||
"unreachable.border": "#7a3cff",
|
||||
"created": "#00b377",
|
||||
"created.background": "#00b3771a",
|
||||
"created.border": "#00b377",
|
||||
"modified": "#d18f00",
|
||||
"modified.background": "#d18f001a",
|
||||
"modified.border": "#d18f00",
|
||||
"deleted": "#ff4d6d",
|
||||
"deleted.background": "#ff4d6d1a",
|
||||
"deleted.border": "#ff4d6d",
|
||||
"renamed": "#007a88",
|
||||
"renamed.background": "#007a881a",
|
||||
"renamed.border": "#007a88",
|
||||
"conflict": "#ff4d6d",
|
||||
"conflict.background": "#ff4d6d1a",
|
||||
"conflict.border": "#ff4d6d",
|
||||
"ignored": "#737373",
|
||||
"ignored.background": "#7373731a",
|
||||
"ignored.border": "#a0a0a0",
|
||||
"hidden": "#737373",
|
||||
"hidden.background": "#7373731a",
|
||||
"hidden.border": "#a0a0a0",
|
||||
"terminal.background": "#f5f5f5",
|
||||
"terminal.foreground": "#0a0a0a",
|
||||
"terminal.bright_foreground": "#0a0a0a",
|
||||
"terminal.dim_foreground": "#737373",
|
||||
"terminal.ansi.background": "#f5f5f5",
|
||||
"terminal.ansi.black": "#0a0a0a",
|
||||
"terminal.ansi.red": "#ff0044",
|
||||
"terminal.ansi.green": "#00b377",
|
||||
"terminal.ansi.yellow": "#d18f00",
|
||||
"terminal.ansi.blue": "#007a88",
|
||||
"terminal.ansi.magenta": "#7a3cff",
|
||||
"terminal.ansi.cyan": "#007a88",
|
||||
"terminal.ansi.white": "#f5f5f5",
|
||||
"terminal.ansi.bright_black": "#737373",
|
||||
"terminal.ansi.bright_red": "#ff4d6d",
|
||||
"terminal.ansi.bright_green": "#33d6a6",
|
||||
"terminal.ansi.bright_yellow": "#ffbf40",
|
||||
"terminal.ansi.bright_blue": "#33bccc",
|
||||
"terminal.ansi.bright_magenta": "#a680ff",
|
||||
"terminal.ansi.bright_cyan": "#33bccc",
|
||||
"terminal.ansi.bright_white": "#ffffff",
|
||||
"terminal.ansi.dim_black": "#0a0a0a",
|
||||
"terminal.ansi.dim_red": "#ff0044",
|
||||
"terminal.ansi.dim_green": "#00b377",
|
||||
"terminal.ansi.dim_yellow": "#d18f00",
|
||||
"terminal.ansi.dim_blue": "#007a88",
|
||||
"terminal.ansi.dim_magenta": "#7a3cff",
|
||||
"terminal.ansi.dim_cyan": "#007a88",
|
||||
"terminal.ansi.dim_white": "#f5f5f5",
|
||||
"players": [
|
||||
{
|
||||
"cursor": "#ff0044",
|
||||
"background": "#ff0044",
|
||||
"selection": "#ff004433"
|
||||
},
|
||||
{
|
||||
"cursor": "#007a88",
|
||||
"background": "#007a88",
|
||||
"selection": "#007a8833"
|
||||
},
|
||||
{
|
||||
"cursor": "#7a3cff",
|
||||
"background": "#7a3cff",
|
||||
"selection": "#7a3cff33"
|
||||
},
|
||||
{
|
||||
"cursor": "#00b377",
|
||||
"background": "#00b377",
|
||||
"selection": "#00b37733"
|
||||
},
|
||||
{
|
||||
"cursor": "#d18f00",
|
||||
"background": "#d18f00",
|
||||
"selection": "#d18f0033"
|
||||
}
|
||||
],
|
||||
"version_control.added": "#00b377",
|
||||
"version_control.modified": "#d18f00",
|
||||
"version_control.deleted": "#ff4d6d",
|
||||
"version_control.conflict": "#ff4d6d",
|
||||
"version_control.renamed": "#007a88",
|
||||
"version_control.ignored": "#737373",
|
||||
"syntax": {
|
||||
"comment": {
|
||||
"color": "#737373",
|
||||
"font_style": "italic"
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "#737373",
|
||||
"font_style": "italic"
|
||||
},
|
||||
"keyword": {
|
||||
"color": "#007a88"
|
||||
},
|
||||
"keyword.import": {
|
||||
"color": "#007a88"
|
||||
},
|
||||
"keyword.storage": {
|
||||
"color": "#007a88"
|
||||
},
|
||||
"function": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"function.method": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"function.special.definition": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"type": {
|
||||
"color": "#7a3cff"
|
||||
},
|
||||
"type.builtin": {
|
||||
"color": "#7a3cff"
|
||||
},
|
||||
"string": {
|
||||
"color": "#00b377"
|
||||
},
|
||||
"string.escape": {
|
||||
"color": "#33d6a6"
|
||||
},
|
||||
"string.regex": {
|
||||
"color": "#d18f00"
|
||||
},
|
||||
"number": {
|
||||
"color": "#d18f00"
|
||||
},
|
||||
"boolean": {
|
||||
"color": "#d18f00"
|
||||
},
|
||||
"constant": {
|
||||
"color": "#0a0a0a"
|
||||
},
|
||||
"constant.builtin": {
|
||||
"color": "#7a3cff"
|
||||
},
|
||||
"variable": {
|
||||
"color": "#0a0a0a"
|
||||
},
|
||||
"variable.special": {
|
||||
"color": "#7a3cff"
|
||||
},
|
||||
"property": {
|
||||
"color": "#0a0a0a"
|
||||
},
|
||||
"attribute": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"tag": {
|
||||
"color": "#007a88"
|
||||
},
|
||||
"label": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"operator": {
|
||||
"color": "#0a0a0a"
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "#737373"
|
||||
},
|
||||
"punctuation.bracket": {
|
||||
"color": "#737373"
|
||||
},
|
||||
"punctuation.delimiter": {
|
||||
"color": "#737373"
|
||||
},
|
||||
"punctuation.list_marker": {
|
||||
"color": "#737373",
|
||||
"font_weight": 700
|
||||
},
|
||||
"link_text": {
|
||||
"color": "#007a88"
|
||||
},
|
||||
"link_uri": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"emphasis": {
|
||||
"font_style": "italic"
|
||||
},
|
||||
"emphasis.strong": {
|
||||
"font_weight": 700
|
||||
},
|
||||
"title": {
|
||||
"color": "#0a0a0a",
|
||||
"font_weight": 700
|
||||
},
|
||||
"text.literal": {
|
||||
"color": "#00b377"
|
||||
},
|
||||
"preproc": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"constructor": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"enum": {
|
||||
"color": "#7a3cff"
|
||||
},
|
||||
"variant": {
|
||||
"color": "#7a3cff"
|
||||
},
|
||||
"hint": {
|
||||
"color": "#005577"
|
||||
},
|
||||
"predictive": {
|
||||
"color": "#737373"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
10
dot_gemini/settings.json
Normal file
10
dot_gemini/settings.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"security": {
|
||||
"auth": {
|
||||
"selectedType": "oauth-personal"
|
||||
}
|
||||
},
|
||||
"ui": {
|
||||
"theme": "/home/mpuchstein/Dev/Themes/apex/dist/gemini/apex-neon.json"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user