Sweep every machine for config worth tracking
Reactive capture missed wallust entirely, so this is a systematic pass over ~/.config on all four machines: every entry that is not already a symlink, judged on whether it is hand-authored config or app-generated state. Shared and identical everywhere -> common/: lazygit, ncmpcpp, neofetch, matplotlib. Everything else differs per machine and goes in hosts/<host>/config/: gtk-2.0/3.0/4.0, mimeapps.list, user-dirs.dirs, mpv, swaync, swayimg, bob, pavucontrol.ini, zoom; plus beets, bottom, glow and mpd on system76; fastfetch, gh, uv, traggo, tiling-assistant and xdg-desktop-portal on the work laptop; inbox-tidy and llmfit on mainframe. Deliberately excluded, all verified to hold live credentials: the work laptop's Claude OAuth tokens (~/.config/anthropic/credentials), the NAS restic repo password and hetzner.env, subsonic passwords in subtui, stmp and termsonic, mopidy, supersonic, the Proton bridge env and the LiteLLM virtual keys. The ignore list now names those shapes directly — a bare `password` file would not have been caught before. Also excluded as generated state or too large to be meaningful: GIMP, kicad, BambuStudio, OrcaSlicer, calibre, LightBurn, obs-studio, feishin, libreoffice, VirtualBox, FortiClient; and mainframe's dead X11-era leftovers (i3, openbox, lxpanel, lxsession, pcmanfm).
This commit is contained in:
@@ -0,0 +1,201 @@
|
||||
@import "colors.css";
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Notification popup */
|
||||
.notification-row {
|
||||
outline: none;
|
||||
margin: 10px 30px;
|
||||
}
|
||||
|
||||
.notification-row:focus,
|
||||
.notification-row:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.notification {
|
||||
background: @background;
|
||||
border: 1px solid @color4;
|
||||
border-radius: 12px;
|
||||
padding: 0;
|
||||
margin: 5px;
|
||||
min-width: 500px;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
/* Urgency variants */
|
||||
.notification.critical {
|
||||
border-color: @color1;
|
||||
}
|
||||
|
||||
.notification.low {
|
||||
border-color: @color3;
|
||||
}
|
||||
|
||||
/* Header bar (app name + timestamp + close button) */
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
|
||||
color: @color7;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.notification-default-action {
|
||||
padding: 0;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.notification-default-action:hover {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* Content area */
|
||||
.notification-content {
|
||||
padding: 10px 40px;
|
||||
}
|
||||
|
||||
.notification-icon {
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
opacity: 0;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.notification-summary {
|
||||
font-weight: 500;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
.notification-body {
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
|
||||
/* Notification body */
|
||||
font-weight: normal;
|
||||
background: transparent;
|
||||
text-shadow: none;
|
||||
padding: 5px 20px;
|
||||
}
|
||||
|
||||
/* Action buttons (e.g. "Reply", "Mark as read") */
|
||||
.notification-action {
|
||||
background: rgba(26, 110, 207, 0.2);
|
||||
border: 1px solid rgba(26, 110, 207, 0.4);
|
||||
border-radius: 6px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
padding: 5px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.notification-action:hover {
|
||||
background: rgba(26, 110, 207, 0.4);
|
||||
}
|
||||
|
||||
/* ── Control center panel ── */
|
||||
|
||||
.control-center {
|
||||
background: rgba(10, 14, 22, 0.95);
|
||||
border-left: 1px solid rgba(26, 110, 207, 0.3);
|
||||
border-radius: 0 0 0 12px;
|
||||
min-width: 500px;
|
||||
}
|
||||
|
||||
/* Title widget */
|
||||
.widget-title {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
padding: 16px 16px 8px;
|
||||
}
|
||||
|
||||
.widget-title > button {
|
||||
background: rgba(26, 110, 207, 0.2);
|
||||
border: 1px solid rgba(26, 110, 207, 0.4);
|
||||
border-radius: 6px;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
font-size: 11px;
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
.widget-title > button:hover {
|
||||
background: rgba(26, 110, 207, 0.4);
|
||||
}
|
||||
|
||||
/* DND toggle */
|
||||
.widget-dnd {
|
||||
padding: 8px 16px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 12px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked {
|
||||
background: rgba(26, 110, 207, 0.7);
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
background: white;
|
||||
border-radius: 50%;
|
||||
min-width: 18px;
|
||||
min-height: 18px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
/* MPRIS widget */
|
||||
.widget-mpris {
|
||||
padding: 12px 16px;
|
||||
background: rgba(26, 110, 207, 0.08);
|
||||
border-radius: 10px;
|
||||
margin: 0 8px 8px;
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.widget-mpris-subtitle {
|
||||
font-size: 11px;
|
||||
color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
/* Notification list inside control center */
|
||||
.control-center-list {
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.control-center-list-placeholder {
|
||||
color: rgba(255, 255, 255, 0.25);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Close buttons */
|
||||
.close-button {
|
||||
background: transparent;
|
||||
color: rgba(255, 255, 255, 0.4);
|
||||
border-radius: 50%;
|
||||
padding: 2px;
|
||||
min-width: 18px;
|
||||
min-height: 18px;
|
||||
}
|
||||
|
||||
.close-button:hover {
|
||||
background: rgba(255, 74, 110, 0.3);
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
Reference in New Issue
Block a user