260 lines
8.6 KiB
CSS
260 lines
8.6 KiB
CSS
/* regreet.css — hyprlua's plain CyberQueer login theme for ReGreet (greetd,
|
|
* Wayland-native): flat @bg-filled cards with a @violet border, no
|
|
* hologram/glow treatment. Mirrors the rest of hyprlua's "plain" theme set
|
|
* (mnotifd-theme, mnotifhist-theme, audio-panel-theme, astal-menu) — solid
|
|
* fills instead of translucent glass, no box-shadow glow, no scanline/gradient
|
|
* overlays, no hardcoded "Cosmonaut" magenta/cyan — just the five shared
|
|
* palette colours, @accent on hover/focus/active.
|
|
*
|
|
* Deployed to /etc/greetd/regreet.css by
|
|
* setup/modules/optional-Modules/apps/greetd-regreet.sh, which picks THIS
|
|
* file (vs. desktopenvs/hyprdrive/greetd-regreet/regreet.css's "Cosmonaut
|
|
* Shell" skin) based on which desktop environment is active on the machine —
|
|
* see that script and sysupdate.sh's _deploy_greetd() for the resolution
|
|
* logic.
|
|
*
|
|
* Loaded by ReGreet via `regreet -s` at STYLE_PROVIDER_PRIORITY_APPLICATION
|
|
* (600) — i.e. ON TOP of the base GTK theme (priority 200). So this file owns
|
|
* the login-screen look outright; the base theme (regreet.toml `theme_name`)
|
|
* only supplies sane widget defaults. We deliberately do NOT reuse the
|
|
* desktop `cyberqueer` GTK theme here: its `* { all: unset }` reset is meant
|
|
* for waybar/eww/Thunar and would strip a login card's layout. This is the
|
|
* greeter's own, self-contained skin.
|
|
*
|
|
* The five PALETTE hexes below (bg/text/accent/violet/danger) are the ones
|
|
* apply-theme.sh rewrites in lock-step with colors.conf — keep them as bare
|
|
* 6-digit hex so its case-insensitive sed keeps matching.
|
|
*
|
|
* ReGreet widget map (relm4 `#[name]` sets Rust fields, NOT CSS ids — so only
|
|
* css classes + node types are selectable):
|
|
* frame.background → login card AND clock card
|
|
* frame.background > grid → the login card's contents
|
|
* frame.background > label→ the clock label (clock card's only child)
|
|
* entry / entry.password → username / session / secret fields
|
|
* combobox → user + session pickers
|
|
* button.suggested-action → Login
|
|
* button.destructive-action → Reboot / Power Off
|
|
* button.toggle → manual user/session entry toggles
|
|
* infobar → PAM notification bar
|
|
*/
|
|
|
|
@define-color cq_bg #1A1A1A; /* near-black base surface (apply-theme) */
|
|
@define-color cq_text #D6ABAB; /* warm quasi-white foreground (apply-theme)*/
|
|
@define-color cq_accent #E40046; /* hot-pink accent (apply-theme) */
|
|
@define-color cq_violet #5018DD; /* electric violet (apply-theme) */
|
|
@define-color cq_danger #F50505; /* hi-vis danger red (fixed) */
|
|
|
|
/* Re-tint the base (Adwaita) theme's semantic named colours. Adwaita paints
|
|
* .suggested-action / selections from these, so overriding them here is what
|
|
* actually recolours those widgets. Kept in bare hex so apply-theme.sh rewrites
|
|
* the palette ones too. */
|
|
@define-color accent_color #E40046;
|
|
@define-color accent_bg_color #E40046;
|
|
@define-color accent_fg_color #1A1A1A;
|
|
@define-color theme_selected_bg_color #E40046;
|
|
@define-color theme_selected_fg_color #1A1A1A;
|
|
@define-color destructive_color #F50505;
|
|
@define-color destructive_bg_color #F50505;
|
|
@define-color destructive_fg_color #1A1A1A;
|
|
|
|
/* ── Backdrop ─────────────────────────────────────────────────────────────
|
|
* Solid near-black behind the wallpaper Picture, so the greeter never flashes
|
|
* white and stays legible if no wallpaper has been synced yet. Monospace
|
|
* everywhere, matching the shell. */
|
|
window,
|
|
overlay {
|
|
background-color: @cq_bg;
|
|
color: @cq_text;
|
|
font-family: "Agave Nerd Font Mono", "JetBrains Mono", monospace;
|
|
}
|
|
|
|
/* ── Cards: the login frame and the clock frame both carry `.background` ────
|
|
* Flat fill, no glass/glow — a solid card with a 2px violet border, same
|
|
* idiom as astal-menu's .quad-settings / mnotifd's .mnotifd-card. */
|
|
frame.background {
|
|
background-color: @cq_bg;
|
|
color: @cq_text;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 16px;
|
|
padding: 12px 18px;
|
|
}
|
|
|
|
/* The clock card sits flush on the top edge (ReGreet flattens its top corners
|
|
* via inline_css at priority 800, which wins over this). Plain HUD readout,
|
|
* no text-shadow glow. */
|
|
frame.background > label {
|
|
font-family: "Agave Nerd Font Mono", "JetBrains Mono", monospace;
|
|
font-size: 30pt;
|
|
font-weight: 700;
|
|
letter-spacing: 5px;
|
|
padding: 4px 28px;
|
|
color: @cq_text;
|
|
}
|
|
|
|
/* ── Text & labels inside the login card ─────────────────────────────────── */
|
|
frame.background > grid > label {
|
|
color: @cq_text;
|
|
margin: 0 6px;
|
|
}
|
|
|
|
/* ── Entries: username / session / password ──────────────────────────────── */
|
|
entry,
|
|
entry.password {
|
|
background-color: @cq_bg;
|
|
color: @cq_text;
|
|
caret-color: @cq_accent;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 11px;
|
|
padding: 8px 12px;
|
|
min-height: 34px;
|
|
}
|
|
|
|
entry image,
|
|
entry.password image { /* the peek-password / clear icons */
|
|
color: @cq_text;
|
|
}
|
|
|
|
entry:focus-within,
|
|
entry.password:focus-within {
|
|
border-color: @cq_accent;
|
|
}
|
|
|
|
entry selection {
|
|
background-color: @cq_accent;
|
|
color: @cq_bg;
|
|
}
|
|
|
|
/* ── Combo boxes: user + session pickers render as `combobox > button` ───── */
|
|
combobox > button.combo {
|
|
background-color: @cq_bg;
|
|
color: @cq_text;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 11px;
|
|
padding: 6px 12px;
|
|
min-height: 34px;
|
|
}
|
|
|
|
combobox > button.combo:hover {
|
|
border-color: @cq_accent;
|
|
color: @cq_accent;
|
|
}
|
|
|
|
combobox arrow {
|
|
color: @cq_text;
|
|
min-height: 16px;
|
|
min-width: 16px;
|
|
}
|
|
|
|
combobox popover contents {
|
|
background-color: @cq_bg;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 11px;
|
|
}
|
|
|
|
combobox popover contents :selected {
|
|
background-color: @cq_accent;
|
|
color: @cq_bg;
|
|
}
|
|
|
|
/* ── Buttons ─────────────────────────────────────────────────────────────── */
|
|
button {
|
|
color: @cq_text;
|
|
background-color: @cq_bg;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 11px;
|
|
padding: 8px 18px;
|
|
min-height: 34px;
|
|
}
|
|
|
|
button:hover {
|
|
border-color: @cq_accent;
|
|
color: @cq_accent;
|
|
}
|
|
|
|
button:active {
|
|
background-color: @cq_violet;
|
|
color: @cq_bg;
|
|
}
|
|
|
|
/* Manual-entry toggles (pencil icons) — quieter, icon-only */
|
|
button.toggle {
|
|
background-color: transparent;
|
|
border-color: @cq_violet;
|
|
padding: 6px;
|
|
}
|
|
|
|
button.toggle:checked {
|
|
background-color: @cq_bg;
|
|
border-color: @cq_accent;
|
|
color: @cq_accent;
|
|
}
|
|
|
|
/* Primary action: Login. The `window` prefix (specificity 0,1,2) and
|
|
* `background-image: none` beat Adwaita's own accent styling. Solid accent
|
|
* fill — the same "pressed pill" idiom as astal-menu's
|
|
* .quad-action:active / mnotifd-toggle:checked, no glow. */
|
|
window button.suggested-action {
|
|
background-image: none;
|
|
background-color: @cq_accent;
|
|
color: @cq_bg;
|
|
border: 2px solid @cq_accent;
|
|
font-weight: 700;
|
|
}
|
|
|
|
window button.suggested-action:hover {
|
|
background-color: @cq_violet;
|
|
border-color: @cq_violet;
|
|
color: @cq_bg;
|
|
}
|
|
|
|
window button.suggested-action:active {
|
|
background-color: @cq_bg;
|
|
color: @cq_accent;
|
|
border-color: @cq_accent;
|
|
}
|
|
|
|
/* Destructive actions: Reboot / Power Off — quiet red outline, filled on hover */
|
|
window button.destructive-action {
|
|
background-image: none;
|
|
background-color: transparent;
|
|
color: @cq_text;
|
|
border: 2px solid @cq_danger;
|
|
}
|
|
|
|
window button.destructive-action:hover {
|
|
background-color: @cq_danger;
|
|
color: @cq_bg;
|
|
}
|
|
|
|
/* ── PAM notification bar ────────────────────────────────────────────────── */
|
|
infobar {
|
|
background: transparent;
|
|
border: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
infobar > revealer > box {
|
|
background-color: @cq_bg;
|
|
color: @cq_text;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 11px;
|
|
}
|
|
|
|
infobar.error > revealer > box {
|
|
border-color: @cq_danger;
|
|
}
|
|
|
|
infobar label {
|
|
color: @cq_text;
|
|
padding: 6px 12px;
|
|
}
|
|
|
|
/* ── Tooltips (hover hints on the toggle buttons) ────────────────────────── */
|
|
tooltip {
|
|
background-color: @cq_bg;
|
|
color: @cq_text;
|
|
border: 2px solid @cq_violet;
|
|
border-radius: 9px;
|
|
padding: 4px 8px;
|
|
}
|