nix_files/commons/programs/swaync.nix

372 lines
12 KiB
Nix
Raw Normal View History

2025-02-13 23:49:07 +00:00
{ ... } : {
services.swaync = {
enable = true;
settings = {
positionX = "right";
positionY = "top";
control-center-positionX = "none";
control-center-positionY = "none";
control-center-margin-top = 20;
control-center-margin-bottom = 20;
control-center-margin-right = 10;
control-center-margin-left = 0;
control-center-width = 500;
control-center-height = 2;
fit-to-screen = true;
layer-shell = true;
layer = "overlay";
control-center-layer = "overlay";
cssPriority = "user";
notification-inline-replies = true;
notification-icon-size = 40;
notification-body-image-height = 100;
notification-body-image-width = 200;
timeout = 10;
timeout-low = 5;
timeout-critical = 0;
notification-window-width = 300;
keyboard-shortcuts = true;
image-visibility = "when-available";
transition-time = 100;
hide-on-clear = true;
hide-on-action = false;
widgets = [
"title"
"mpris"
"notifications"
"volume"
];
widget-config = {
title = {
text = "Notifications";
button-text = "󰎟 Clear";
clear-all-button = true;
};
mpris = {
image-size = 96;
image-radius = 12;
blur = true;
};
volume = {
label = " ";
show-per-app = true;
show-per-app-icon = true;
show-per-app-label = true;
};
};
};
style = ''
* {
font-size: 14px;
font-family: "Noto Sans";
transition: 100ms;
box-shadow: unset;
}
.control-center .notification-row {
background-color: unset;
}
.control-center .notification-row .notification-background .notification,
.control-center .notification-row .notification-background .notification .notification-content,
.floating-notifications .notification-row .notification-background .notification,
.floating-notifications.background .notification-background .notification .notification-content {
margin-bottom: unset;
}
.control-center .notification-row .notification-background .notification {
margin-top: 0.150rem;
}
.control-center .notification-row .notification-background .notification box,
.control-center .notification-row .notification-background .notification widget,
.control-center .notification-row .notification-background .notification .notification-content,
.floating-notifications .notification-row .notification-background .notification box,
.floating-notifications .notification-row .notification-background .notification widget,
.floating-notifications.background .notification-background .notification .notification-content {
border: unset;
border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem;
}
.floating-notifications.background .notification-background .notification .notification-content,
.control-center .notification-background .notification .notification-content {
/* border-top: 1px solid rgba(164, 162, 167, 0.15);
border-left: 1px solid rgba(164, 162, 167, 0.15);
border-right: 1px solid rgba(128, 127, 132, 0.15);
border-bottom: 1px solid rgba(128, 127, 132, 0.15);*/
background-color: #1D1D22;
padding: 0.818rem;
padding-right: unset;
margin-right: unset;
}
.control-center .notification-row .notification-background .notification.low .notification-content label,
.control-center .notification-row .notification-background .notification.normal .notification-content label,
.floating-notifications.background .notification-background .notification.low .notification-content label,
.floating-notifications.background .notification-background .notification.normal .notification-content label {
color: #c7c5d0;
}
.control-center .notification-row .notification-background .notification..notification-content image,
.control-center .notification-row .notification-background .notification.normal .notification-content image,
.floating-notifications.background .notification-background .notification.low .notification-content image,
.floating-notifications.background .notification-background .notification.normal .notification-content image {
background-color: unset;
color: #e2e0f9;
}
.control-center .notification-row .notification-background .notification.low .notification-content .body,
.control-center .notification-row .notification-background .notification.normal .notification-content .body,
.floating-notifications.background .notification-background .notification.low .notification-content .body,
.floating-notifications.background .notification-background .notification.normal .notification-content .body {
color: #92919a;
}
.control-center .notification-row .notification-background .notification.critical .notification-content,
.floating-notifications.background .notification-background .notification.critical .notification-content {
background-color: #ffb4a9;
}
.control-center .notification-row .notification-background .notification.critical .notification-content image,
.floating-notifications.background .notification-background .notification.critical .notification-content image{
background-color: unset;
color: #ffb4a9;
}
.control-center .notification-row .notification-background .notification.critical .notification-content label,
.floating-notifications.background .notification-background .notification.critical .notification-content label {
color: #680003;
}
.control-center .notification-row .notification-background .notification .notification-content .summary,
.floating-notifications.background .notification-background .notification .notification-content .summary {
font-family: 'Gabarito', 'Lexend', sans-serif;
font-size: 0.9909rem;
font-weight: 500;
}
.control-center .notification-row .notification-background .notification .notification-content .time,
.floating-notifications.background .notification-background .notification .notification-content .time {
font-family: 'Geist', 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', 'Ubuntu', sans-serif;
font-size: 0.8291rem;
font-weight: 500;
margin-right: 1rem;
padding-right: unset;
}
.control-center .notification-row .notification-background .notification .notification-content .body,
.floating-notifications.background .notification-background .notification .notification-content .body {
font-family: 'Noto Sans', sans-serif;
font-size: 0.8891rem;
font-weight: 400;
margin-top: 0.310rem;
padding-right: unset;
margin-right: unset;
}
.control-center .notification-row .close-button,
.floating-notifications.background .close-button {
background-color: unset;
border-radius: 100%;
border: none;
box-shadow: none;
margin-right: 13px;
margin-top: 6px;
margin-bottom: unset;
padding-bottom: unset;
min-height: 20px;
min-width: 20px;
text-shadow: none;
}
.control-center .notification-row .close-button:hover,
.floating-notifications.background .close-button:hover {
background-color: rgba(255, 255, 255, 0.15);
}
.control-center {
border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(164, 162, 167, 0.19);
border-left: 1px solid rgba(164, 162, 167, 0.19);
border-right: 1px solid rgba(128, 127, 132, 0.145);
border-bottom: 1px solid rgba(128, 127, 132, 0.145);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px;
background-color: #14141B;
padding: 1.023rem;
}
.control-center trough {
background-color: #45475a;
border-radius: 9999px;
-gtk-outline-radius: 9999px;
min-width: 0.545rem;
background-color: transparent;
}
.control-center slider {
border-radius: 9999px;
-gtk-outline-radius: 9999px;
min-width: 0.273rem;
min-height: 2.045rem;
background-color: rgba(199, 197, 208, 0.31);
}
.control-center slider:hover {
background-color: rgba(199, 197, 208, 0.448);
}
.control-center slider:active {
background-color: #77767e;
}
/* title widget */
.widget-title {
padding: 0.341rem;
margin: unset;
}
.widget-title label {
font-family: 'Gabarito', 'Lexend', sans-serif;
font-size: 1.364rem;
color: #e4e1e6;
margin-left: 0.941rem;
}
.widget-title button {
border: unset;
background-color: unset;
border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem;
padding: 0.141rem 0.141rem;
margin-right: 0.841rem;
}
.widget-title button label {
font-family: 'Gabarito', sans-serif;
font-size: 1.0409rem;
color: #e4e1e6;
margin-right: 0.841rem;
}
.widget-title button:hover {
background-color: rgba(128, 128, 128, 0.3);
}
.widget-title button:active {
background-color: rgba(128, 128, 128, 0.7);
}
/* Buttons widget */
.widget-buttons-grid {
border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem;
padding: 0.341rem;
background-color: rgba(28, 28, 34, 0.35);
padding: unset;
}
.widget-buttons-grid>flowbox {
padding: unset;
}
.widget-buttons-grid>flowbox>flowboxchild>button:first-child {
margin-left:unset ;
}
.widget-buttons-grid>flowbox>flowboxchild>button {
border:none;
background-color: unset;
border-radius: 9999px;
min-width: 5.522rem;
min-height: 2.927rem;
padding: unset;
margin: unset;
}
.widget-buttons-grid>flowbox>flowboxchild>button label {
font-family: "Materials Symbol Rounded";
font-size: 1.3027rem;
color: #e4e1e6;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background-color: rgba(128, 128, 128, 0.3);
}
.widget-buttons-grid>flowbox>flowboxchild>button:checked {
/* OnePlus McClaren edition Orange accent */
background-color: #ff9f34;
}
.widget-buttons-grid>flowbox>flowboxchild>button:checked label {
color: #14141B;
}
/* Volume widget */
.widget-volume {
background-color: rgba(28, 28, 34, 0.35);
padding: 8px;
margin: 8px;
-gtk-outline-radius: 1.159rem;
-gtk-outline-radius: 1.159rem;
}
.widget-volume trough {
/* OnePlus McClaren edition Orange accent */
border:unset;
background-color: rgba(128, 128, 128, 0.4);
}
.widget-volume trough slider {
/* OnePlus McClaren edition Orange accent */
color:unset;
background-color: #ff9f34;
border-radius: 100%;
min-height: 1.25rem;
}
/* Mpris widget */
.widget-mpris {
background-color: rgba(28, 28, 34, 0.35);
padding: 8px;
margin: 8px;
border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem;
}
.widget-mpris-player {
padding: 8px;
margin: 8px;
}
.widget-mpris-title {
font-weight: bold;
font-size: 1.25rem;
}
.widget-mpris-subtitle {
font-size: 1.1rem;
}
'';
};
}