vicinae: init

This commit is contained in:
Nico 2025-12-15 17:54:34 +11:00
parent decbb0713b
commit 19e10e2d61
Signed by: nico
SSH key fingerprint: SHA256:XuacYOrGqRxC3jVFjfLROn1CSvLz85Dec6N7O9Gwu/0
5 changed files with 167 additions and 3 deletions

View file

@ -19,7 +19,7 @@
wl-clipboard wl-clipboard
brightnessctl brightnessctl
helvum helvum
fuzzel vicinae
playerctl playerctl
swaynotificationcenter swaynotificationcenter
hyprshot hyprshot

View file

@ -16,6 +16,7 @@ monitor=eDP-1,1920x1080@60,auto,1
exec-once = uwsm app -- swww-daemon exec-once = uwsm app -- swww-daemon
exec-once = uwsm app -- waybar exec-once = uwsm app -- waybar
exec-once = uwsm app -- swaync exec-once = uwsm app -- swaync
exec-once = uwsm app -- vicinae server
exec-once = hyprshade auto exec-once = hyprshade auto
exec-once = uwsm app -- opensnitch-ui exec-once = uwsm app -- opensnitch-ui
@ -145,7 +146,7 @@ input {
# https://wiki.hyprland.org/Configuring/Variables/#gestures # https://wiki.hyprland.org/Configuring/Variables/#gestures
gesture = 3, horizontal, workspace gesture = 3, horizontal, workspace
gesture = 4, pinch, dispatcher, exec, fuzzel gesture = 4, pinch, dispatcher, exec, vicinae toggle
gesture = 4, left, dispatcher, exec, swaync-client -op gesture = 4, left, dispatcher, exec, swaync-client -op
gesture = 4, right, dispatcher, exec, swaync-client -cp gesture = 4, right, dispatcher, exec, swaync-client -cp
@ -167,7 +168,7 @@ $mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, uwsm app -- ghostty bind = $mainMod, Q, exec, uwsm app -- ghostty
bind = $mainMod, B, exec, uwsm app -- firefox bind = $mainMod, B, exec, uwsm app -- firefox
bind = $mainMod, D, exec, fuzzel bind = $mainMod, D, exec, vicinae toggle
bind = $mainMod shift, D, exec, uwsm app -- 1password --quick-access bind = $mainMod shift, D, exec, uwsm app -- 1password --quick-access
bind = $mainMod, S, exec, uwsm app -- hyprshot -z --clipboard-only -m region bind = $mainMod, S, exec, uwsm app -- hyprshot -z --clipboard-only -m region
bind = $mainMod shift, S, exec, uwsm app -- hyprshot -z --clipboard-only -m window bind = $mainMod shift, S, exec, uwsm app -- hyprshot -z --clipboard-only -m window
@ -303,5 +304,11 @@ windowrulev2 = persistentsize, initialClass:(^1Password$),floating:1
windowrulev2 = dimaround, initialClass:(^1Password$),floating:1 windowrulev2 = dimaround, initialClass:(^1Password$),floating:1
windowrulev2 = animation popin, initialClass:(^1Password$),floating:1 windowrulev2 = animation popin, initialClass:(^1Password$),floating:1
# disable fade animation for vicinae only
layerrule = noanim, vicinae
# layer rules # layer rules
layerrule = animation slide right, waybar layerrule = animation slide right, waybar
layerrule = blur,vicinae
layerrule = ignorealpha 0, vicinae

View file

@ -80,3 +80,8 @@ output_path = '~/.config/fuzzel/colors.ini'
[templates.ghostty] [templates.ghostty]
input_path = './templates/ghostty' input_path = './templates/ghostty'
output_path = '~/.config/ghostty/matugen' output_path = '~/.config/ghostty/matugen'
[templates.vicinae]
input_path = './templates/vicinae.toml'
output_path = '~/.local/share/vicinae/themes/matugen.toml'
post_hook = 'vicinae theme set matugen'

View file

@ -0,0 +1,127 @@
# Vicinae Matugen Theme Template
# Used LLM for initial generation, then modified to a satisfactory level
[meta]
name = "Matugen"
description = "Material You theme generated by Matugen - {{mode}} variant"
variant = "{{mode}}"
# ============================================================================
# Core Colors
# ============================================================================
[colors.core]
accent = "{{colors.primary.default.hex}}"
accent_foreground = "{{colors.on_primary.default.hex}}"
background = "{{colors.surface.default.hex}}"
foreground = "{{colors.on_surface.default.hex}}"
secondary_background = "{{colors.surface_container.default.hex}}"
border = "{{colors.outline_variant.default.hex}}"
# ============================================================================
# Window Borders
# ============================================================================
[colors.main_window]
border = "{{colors.outline_variant.default.hex}}"
[colors.settings_window]
border = "{{colors.outline.default.hex}}"
# ============================================================================
# Accent Palette
# ============================================================================
[colors.accents]
blue = "{{colors.primary.default.hex}}"
green = "{{colors.tertiary.default.hex}}"
magenta = "{{colors.secondary.default.hex}}"
orange = { name = "{{colors.error.default.hex}}", lighter = 40 }
red = "{{colors.error.default.hex}}"
yellow = { name = "{{colors.tertiary.default.hex}}", lighter = 80 }
cyan = { name = "{{colors.primary.default.hex}}", lighter = 50 }
purple = "{{colors.secondary.default.hex}}"
# ============================================================================
# Text System
# ============================================================================
[colors.text]
default = "{{colors.on_surface.default.hex}}"
muted = "{{colors.on_surface_variant.default.hex}}"
danger = "{{colors.error.default.hex}}"
success = "{{colors.tertiary.default.hex}}"
placeholder = { name = "{{colors.on_surface_variant.default.hex}}", opacity = 0.6 }
[colors.text.selection]
background = "{{colors.primary.default.hex}}"
foreground = "{{colors.on_primary.default.hex}}"
[colors.text.links]
default = "{{colors.primary.default.hex}}"
visited = { name = "{{colors.tertiary.default.hex}}", darker = 20 }
# ============================================================================
# Input Fields
# ============================================================================
[colors.input]
border = "{{colors.outline.default.hex}}"
border_focus = "{{colors.primary.default.hex}}"
border_error = "{{colors.error.default.hex}}"
# ============================================================================
# Buttons
# ============================================================================
[colors.button.primary]
background = "{{colors.surface_container_high.default.hex}}"
foreground = "{{colors.on_surface.default.hex}}"
[colors.button.primary.hover]
background = "{{colors.surface_container_highest.default.hex}}"
[colors.button.primary.focus]
outline = "{{colors.primary.default.hex}}"
# ============================================================================
# Lists
# ============================================================================
[colors.list.item.hover]
background = { name = "{{colors.primary_container.default.hex}}", opacity = 0.25 }
foreground = "{{colors.on_surface.default.hex}}"
[colors.list.item.selection]
background = { name = "{{colors.primary_container.default.hex}}", opacity = 0.50 }
foreground = "{{colors.on_primary_container.default.hex}}"
secondary_background = "{{colors.primary_container.default.hex}}"
secondary_foreground = "{{colors.on_primary_container.default.hex}}"
# ============================================================================
# Grid Items
# ============================================================================
[colors.grid.item]
background = "{{colors.surface_container.default.hex}}"
[colors.grid.item.hover]
outline = { name = "{{colors.secondary.default.hex}}", opacity = 0.8 }
[colors.grid.item.selection]
outline = { name = "{{colors.primary.default.hex}}" }
# ============================================================================
# Scrollbars
# ============================================================================
[colors.scrollbars]
background = { name = "{{colors.primary.default.hex}}", opacity = 0.2 }
# ============================================================================
# Loading States
# ============================================================================
[colors.loading]
bar = "{{colors.primary.default.hex}}"
spinner = "{{colors.primary.default.hex}}"

View file

@ -0,0 +1,25 @@
{
"closeOnFocusLoss": false,
"considerPreedit": false,
"faviconService": "twenty",
"font": {
"normal": "ComicShannsMono Nerd Font",
"size": 10.5
},
"keybinding": "emacs",
"keybinds": {
},
"popToRootOnClose": true,
"rootSearch": {
"searchFiles": false
},
"theme": {
"iconTheme": "Default",
"name": "matugen"
},
"window": {
"csd": true,
"opacity": 0.98,
"rounding": 10
}
}