Files
dotfiles/common/swaync/style.css
T
connor a2dc43d665 Standardise across machines; add genuinely-customised app config
Two passes, both aimed at a consistent experience rather than a faithful
snapshot of each machine's accidents.

Standardisation. Audited every host-layer config present on more than one
machine and asked whether the difference was intent or drift:
  - mpv was byte-identical; swayimg differed only because system76 still
    had the shipped default and the work laptop had the real config; bob
    differed by one setting the work laptop was simply missing.
  - user-dirs.dirs disagreed with BOTH machines and with zshenv, which has
    said $HOME/downloads all along. Standardised on that.
  - mimeapps.list is now the union of both machines' associations.
  - swaync's config and style are shared; only wallust's generated
    colors.css stays per host, alongside hypr's and waybar's.
All of the above moved to common/.

Dropped as pure state rather than config: gtk-2.0 (file-chooser geometry),
pavucontrol.ini (window size), zoom.conf (a per-install random_key) and
zoomus.conf (panel widths). gtk-3.0 stays per host — its bookmarks encode
the two different home directories.

App config. GIMP, inkscape, FreeCAD, cura, OrcaSlicer, LightBurn and OBS
all hold real settings, so a curated subset of each is now tracked:
settings, keybindings and user content, but not session state, tool
options, device lists or window geometry. kicad is skipped — both library
tables hold a single entry, i.e. untouched defaults.

Content lives once in common/ even when only one machine has the app; the
host configs decide who gets the link. That is the distinction that lets
53% of link sources be shared while the NAS still does not get GIMP.

Two exclusions on credential grounds: obs-studio/plugin_config holds a
websocket server_password, and gh is dropped entirely because `gh auth
login` writes a token into hosts.yml — now also blocked by name.
2026-09-14 15:05:30 -04:00

202 lines
3.6 KiB
CSS

@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);
}