From 32c3e1127c8076c33f2e608a3ab877c40c677bb6 Mon Sep 17 00:00:00 2001 From: Andre Ramnitz Date: Sun, 15 Sep 2024 01:03:13 +0200 Subject: [PATCH] swaync: integrate base16 --- config/dot-config/swaync/config.json | 4 +- config/dot-config/swaync/style.css | 657 +++++++++++++-------------- 2 files changed, 328 insertions(+), 333 deletions(-) diff --git a/config/dot-config/swaync/config.json b/config/dot-config/swaync/config.json index ce9ddf17..178ce8ed 100644 --- a/config/dot-config/swaync/config.json +++ b/config/dot-config/swaync/config.json @@ -14,7 +14,7 @@ "timeout-critical": 0, "fit-to-screen": false, "control-center-width": 500, - "control-center-height": 1402, + "control-center-height": 1002, "notification-window-width": 500, "keyboard-shortcuts": true, "image-visibility": "when-available", @@ -28,7 +28,7 @@ "urgency": "Normal" } }, - "widgets": ["dnd", "mpris", "title", "notifications", "menubar#label"], + "widgets": ["menubar#label","dnd", "mpris", "title", "notifications"], "widget-config": { "title": { "text": "Notifications", diff --git a/config/dot-config/swaync/style.css b/config/dot-config/swaync/style.css index 08c95fbb..ad013362 100644 --- a/config/dot-config/swaync/style.css +++ b/config/dot-config/swaync/style.css @@ -1,293 +1,354 @@ -@import "../colors/colorscheme.css"; - -/* - * vim: ft=less - */ +@import "../waybar/colors.css"; +@define-color cc-bg rgba(46, 46, 46, 0.7); @define-color noti-border-color rgba(255, 255, 255, 0.15); -@define-color noti-bg #2E3440; -@define-color noti-bg-alt #383E4A; -@define-color noti-fg #E5E9F0; -@define-color noti-bg-hover #4c5f72; -@define-color noti-bg-focus #A3BE8C; -@define-color noti-close-bg rgba(255, 255, 255, 0.5); -@define-color noti-close-bg-hover rgba(255, 255, 255, 1.00); -@define-color noti-urgent #BF616A; - +@define-color noti-bg rgba(48, 48, 48, 0.8); +@define-color noti-bg-opaque rgb(48, 48, 48); +@define-color noti-bg-darker rgb(38, 38, 38); +@define-color noti-bg-hover rgb(56, 56, 56); +@define-color noti-bg-hover-opaque rgb(56, 56, 56); +@define-color noti-bg-focus rgba(68, 68, 68, 0.6); +@define-color noti-close-bg rgba(255, 255, 255, 0.1); +@define-color noti-close-bg-hover rgba(255, 255, 255, 0.15); +@define-color text-color rgb(255, 255, 255); +@define-color text-color-disabled rgb(150, 150, 150); @define-color bg-selected rgb(0, 128, 255); - -* { - color: @wt9; - font-family: Iosevka Nerd Font Propo; - font-size: 15px; - font-weight: 500; - transition: 100ms; - box-shadow: unset; -} - .notification-row { outline: none; } -.notification-row:focus, -.notification-row:hover { - background: @noti-bg-focus; -} - -.notification { - border-radius: 12px; - margin: 6px 12px; - padding: 0px; - background-color: @ral9005; - border: 2px solid @bt8; - box-shadow: unset; -} - -/* Uncomment to enable specific urgency colors */ -/* .low { - background: yellow; - padding: 6px; -} - -.normal { - background: green; - padding: 6px; -} -*/ - -.critical { - border-color: @noti-urgent; +.notification-row:focus, .notification-row:hover { + background: @base03; } -/* padding: 5px 10px 5px 10px; -*/ -.notification-content { - background: @ral9005; - padding: 6px; - border-radius: 12px; +.notification-row .notification-background { + padding: 6px 12px; } -/* close button per benachrichtigung */ -.close-button { - background: @wt2; - color: @transparent; +.notification-row .notification-background .close-button { + /* The notification Close Button */ + background: @base03; + color: @base05; text-shadow: none; padding: 0; border-radius: 100%; - margin-top: 10px; - margin-right: 16px; + margin-top: 5px; + margin-right: 5px; box-shadow: none; border: none; min-width: 24px; min-height: 24px; + border: 1px solid @base02; } -.close-button:hover { +.notification-row .notification-background .close-button:hover { box-shadow: none; - background: #f00; - color: @ws; - transition: all 0.15s ease-in-out; + background: @base0F; + transition: background 0.15s ease-in-out; border: none; } -.notification-default-action, -.notification-action { +.notification-row .notification-background .notification { + /* The actual notification */ + border-radius: 12px; + border: 1px solid @base02; + padding: 0; + transition: background 0.15s ease-in-out; + background: @base00; +} + +.notification-row .notification-background .notification.low { + /* Low Priority Notification */ +} + +.notification-row .notification-background .notification.normal { + /* Normal Priority Notification */ +} + +.notification-row .notification-background .notification.critical { + /* Critical Priority Notification */ + background-color: alpha(@base07,1.0); +} + +.notification-row .notification-background .notification .notification-action, .notification-row .notification-background .notification .notification-default-action { padding: 4px; margin: 0; box-shadow: none; - background: @noti-bg; - border: 1px solid @noti-border-color; - color: @ws; + background: transparent; + border: none; + color: @base05; + transition: background 0.15s ease-in-out; } -.notification-default-action:hover, -.notification-action:hover { +.notification-row .notification-background .notification .notification-action:hover, .notification-row .notification-background .notification .notification-default-action:hover { -gtk-icon-effect: none; - background: @noti-bg-hover; + background: @base03; } -.notification-default-action { +.notification-row .notification-background .notification .notification-default-action { + /* The large action that also displays the notification summary and body */ border-radius: 12px; } -/* When alternative actions are visible */ -.notification-default-action:not(:only-child) { +.notification-row .notification-background .notification .notification-default-action:not(:only-child) { + /* When alternative actions are visible */ border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; } -.notification-action { - border-radius: 0px; - border-top: none; - border-right: none; -} - -/* add bottom border radius to eliminate clipping */ -.notification-action:first-child { - border-bottom-left-radius: 10px; -} - -.notification-action:last-child { - border-bottom-right-radius: 10px; - border-right: 1px solid @noti-border-color; +.notification-row .notification-background .notification .notification-default-action .notification-content { + background: transparent; + border-radius: 12px; + padding: 4px; } -.image { +.notification-row .notification-background .notification .notification-default-action .notification-content .image { + /* Notification Primary Image */ + -gtk-icon-effect: none; + border-radius: 100px; + /* Size in px */ + margin: 4px; } -.body-image { - margin-top: 6px; - background-color: transparent; - border-radius: 12px; +.notification-row .notification-background .notification .notification-default-action .notification-content .app-icon { + /* Notification app icon (only visible when the primary image is set) */ + -gtk-icon-effect: none; + -gtk-icon-shadow: 0 1px 4px black; + margin: 6px; } -.summary { +.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary { + /* Notification summary/title */ font-size: 16px; font-weight: bold; background: transparent; - color: @yellow; + color: @base05; text-shadow: none; } -.time { +.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time { + /* Notification time-ago */ font-size: 16px; font-weight: bold; background: transparent; - color: @wt7; + color: @base05; text-shadow: none; - margin-right: 32px; + margin-right: 30px; } -.body { +.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body { + /* Notification body */ font-size: 15px; font-weight: normal; background: transparent; - color: @ws; + color: @base05; text-shadow: none; } -/* The "Notifications" and "Do Not Disturb" text widget */ -.top-action-title { - color: white; - text-shadow: none; - margin: 8px 0px 8px 0px; +.notification-row .notification-background .notification .notification-default-action .notification-content progressbar { + /* The optional notification progress bar */ + margin-top: 4px; } -.control-center { - background-color: @ral9017; - border: 1px solid @border; - border-radius: 2px; +.notification-row .notification-background .notification .notification-default-action .notification-content .body-image { + /* The "extra" optional bottom notification image */ + margin-top: 4px; + background-color: white; + border-radius: 12px; + -gtk-icon-effect: none; } -/* scheiss close all knopf */ -.control-center .widget-title button { - color: @ws; - background-color: @noti-bg; - border: 1px solid @border; - border-radius: 6px; - padding-left: 8px; - padding-right: 8px; - padding-top: 4px; - padding-bottom: 4px; +.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply { + /* The inline reply section */ + margin-top: 4px; } -/* der vollständigkeit halber mal aufgelistet: -.control-center .widget-title button:hover { - border: 1px solid @surface1@; - background-color: @surface2@; - color: @txt@; -}*/ +.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-entry { + background: @base00; + color: @base05; + caret-color: @base05; + border: 1px solid @base02; + border-radius: 12px; +} -.control-center .widget-title button:active { - border: 1px solid @border; - background-color: @red; - color: @ws; +.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button { + margin-left: 4px; + background: @base00; + border: 1px solid @base02; + border-radius: 12px; + color: @base05; } -/* kompletter hintergrund */ -.control-center > box { - padding: 0px; - margin: 4px 8px 4px 8px; +.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:disabled { + background: initial; + color: @base04; + border: 1px solid @base02; + border-color: transparent; } -.control-center-list { - background: transparent; +.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:hover { + background: @base03; } -.control-center slider:hover { - background-color: @noti-bg-hover; +.notification-row .notification-background .notification .notification-action { + /* The alternative actions below the default action */ + border-top: 1px solid @base02; + border-radius: 0px; + border-right: 1px solid @base02; } -.control-center slider:active { - background-color: #77767e; +.notification-row .notification-background .notification .notification-action:first-child { + /* add bottom border radius to eliminate clipping */ + border-bottom-left-radius: 12px; } -.floating-notifications { +.notification-row .notification-background .notification .notification-action:last-child { + border-bottom-right-radius: 12px; + border-right: none; +} + +.notification-group { + /* Styling only for Grouped Notifications */ +} + +.notification-group.low { + /* Low Priority Group */ +} + +.notification-group.normal { + /* Low Priority Group */ +} + +.notification-group.critical { + /* Low Priority Group */ +} + +.notification-group .notification-group-buttons, .notification-group .notification-group-headers { + margin: 0 16px; + color: @base05; +} + +.notification-group .notification-group-headers { + /* Notification Group Headers */ +} + +.notification-group .notification-group-headers .notification-group-icon { + color: @base05; +} + +.notification-group .notification-group-headers .notification-group-header { + color: @base05; +} + +.notification-group .notification-group-buttons { + /* Notification Group Buttons */ +} + +.notification-group.collapsed .notification-row .notification { + background-color: @base00; +} + +.notification-group.collapsed .notification-row:not(:last-child) { + /* Top notification in stack */ + /* Set lower stacked notifications opacity to 0 */ +} + +.notification-group.collapsed .notification-row:not(:last-child) .notification-action, +.notification-group.collapsed .notification-row:not(:last-child) .notification-default-action { + opacity: 0; +} + +.notification-group.collapsed:hover .notification-row:not(:only-child) .notification { + background-color: @base03; +} + +.control-center { + /* The Control Center which contains the old notifications + widgets */ + background: alpha(@base01,0.97); + color: @base05; + border-radius: 12px; + border: 1px solid @base0D; +} + +.control-center .control-center-list-placeholder { + /* The placeholder when there are no notifications */ + opacity: 0.5; +} + +.control-center .control-center-list { + /* List of notifications */ background: transparent; } -/* Window behind control center and on all other monitors */ +.control-center .control-center-list .notification { + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7), 0 2px 6px 2px rgba(0, 0, 0, 0.3); +} + +.control-center .control-center-list .notification .notification-default-action, +.control-center .control-center-list .notification .notification-action { + transition: opacity 400ms ease-in-out, background 0.15s ease-in-out; +} + +.control-center .control-center-list .notification .notification-default-action:hover, +.control-center .control-center-list .notification .notification-action:hover { + background-color: @base03; +} + .blank-window { + /* Window behind control center and on all other monitors */ background: transparent; } -/* Widget TITLE -────────────────────────────────────────────────────────────────────────────── -*/ +.floating-notifications { + background: transparent; +} + +.floating-notifications .notification { + box-shadow: none; +} + +/*** Widgets ***/ +/* Title widget */ .widget-title { + color: @base05; margin: 8px; - font-size: 1.5rem; } .widget-title > button { font-size: initial; - color: white; + color: @base05; text-shadow: none; - background: @ral9023; - border: 1px solid @noti-border-color; + background: @base00; + border: 1px solid @base02; box-shadow: none; - border-radius: 4px; + border-radius: 12px; } .widget-title > button:hover { - background: @noti-bg-hover; + background: @base03; } -/* Widget DND -────────────────────────────────────────────────────────────────────────────── -*/ +/* DND widget */ .widget-dnd { - box-shadow: - 0 0 0 1px rgba(0, 0, 0, 0.3), - 0 1px 3px 1px rgba(0, 0, 0, 0.7), - 0 2px 6px 2px rgba(0, 0, 0, 0.3); - margin: 4px 8px 4px 8px; + color: @base05; + margin: 8px; font-size: 1.1rem; - border: 1px solid @bt7; - background: @ral9005; - border-radius: 4px; } .widget-dnd > switch { font-size: initial; border-radius: 12px; - background: @noti-bg; - border: 1px solid @noti-border-color; + background: @base00; + border: 1px solid @base02; box-shadow: none; } .widget-dnd > switch:checked { - background: @noti-urgent; + background: @bg-selected; } .widget-dnd > switch slider { - background: @noti-bg-hover; - border-radius: 12px; -} - -/* pansen */ -.widget-dnd > switch:checked slider { - background: #f22; + background: @base03; border-radius: 12px; } @@ -300,213 +361,147 @@ font-size: 1.1rem; } -/* Widget MPRIS -────────────────────────────────────────────────────────────────────────────── -*/ +/* Mpris widget */ +@define-color mpris-album-art-overlay rgba(0, 0, 0, 0.55); +@define-color mpris-button-hover rgba(0, 0, 0, 0.50); .widget-mpris { - padding: 10px 0px 0px 0px; /* The parent to all players */ } -.widget-mpris-player { - margin: 0px 0px 0px 0px; +.widget-mpris .widget-mpris-player { + padding: 8px; + padding: 16px; + margin: 16px 20px; + background-color: @mpris-album-art-overlay; + border-radius: 12px; + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75); } -.widget-mpris button { - color: alpha(@ws, 0.6); +.widget-mpris .widget-mpris-player button:hover { + /* The media player buttons (play, pause, next, etc...) */ + background: @base03; } -.widget-mpris button:hover { - color: @ws; - background: alpha(@purple, 0.6); +.widget-mpris .widget-mpris-player .widget-mpris-album-art { + border-radius: 12px; + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75); } -.widget-mpris-title { +.widget-mpris .widget-mpris-player .widget-mpris-title { font-weight: bold; - font-size: 1.5rem; - font-family: Noto Sans; -} - -.widget-mpris-subtitle { font-size: 1.25rem; - font-family: Noto Sans; } -/* Widget VOLUME (not ready yet) -────────────────────────────────────────────────────────────────────────────── -*/ -.widget-volume { - background-color: transparent; - padding: 5px 40px 5px 40px; - margin: 0px 0px 0px 0px; - border-bottom-left-radius: 12px; - border-bottom-right-radius: 12px; - font-size: 3rem; +.widget-mpris .widget-mpris-player .widget-mpris-subtitle { + font-size: 1.1rem; } -.widget-backlight { - background-color: transparent; - padding: 5px 40px 5px 40px; - margin: 0px 8px 8px 8px; - border-bottom-left-radius: 12px; - border-bottom-right-radius: 12px; - font-size: 3rem; +.widget-mpris .widget-mpris-player > box > button { + /* Change player control buttons */ } -.KB { - background-color: transparent; - padding: 5px 40px 5px 40px; - margin: 0px 8px 8px 8px; - border-bottom-left-radius: 12px; - border-bottom-right-radius: 12px; - font-size: 3rem; +.widget-mpris .widget-mpris-player > box > button:hover { + background-color: @base03; } -/* Widget POWERMENU -────────────────────────────────────────────────────────────────────────────── -*/ -.power-buttons { - padding: 5px 40px 5px 40px; - margin: 5px; - border-radius: 8px; - font-size: 1.25rem; +.widget-mpris > box > button { + /* Change player side buttons */ } -.power-buttons button { - border: 1px solid @border; - box-shadow: none; - padding: 0px; - margin: 2px; +.widget-mpris > box > button:disabled { + /* Change player side buttons insensitive */ } -.power-buttons > button:hover { - background: @bt7; +/* Buttons widget */ +.widget-buttons-grid { + padding: 8px; + margin: 8px; + border-radius: 12px; + background-color: @base00; } -/* items of the drop-down menu */ -.power-buttons > button > label { - background-color: @yellow; - color: @bs; - font-size: 1.5rem; - opacity: 0.8; - transition: all 0.3s ease; - animation: colored-gradient 10s ease infinite; +.widget-buttons-grid > flowbox > flowboxchild > button { + background: @base00; + border-radius: 12px; } -/* Widget MENUBAR -────────────────────────────────────────────────────────────────────────────── -*/ -.widget-menubar > box > .menu-button-bar > button { - background: @noti-bg; - box-shadow: none; - border: 1px solid @border; - border-radius: 8px; - margin: 5px; - font-size: 1.5rem; +.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked { + /* style given to the active toggle button */ } -.widget-menubar > box > .menu-button-bar > button:hover { - background: @noti-bg-hover; +/* Menubar widget */ +.widget-menubar > box > .menu-button-bar > button { + border: none; + background: transparent; + font-size: 2rem; } -.topbar-buttons > button { - background: @noti-bg; - box-shadow: none; - border: 1px solid @border; - border-radius: 8px; - margin: 5px; - font-size: 1.5rem; +/* .AnyName { Name defined in config after # + background-color: @base00; + padding: 8px; + margin: 8px; + border-radius: 12px; } -.topbar-buttons > button:hover { - background: @noti-bg-hover; +.AnyName>button { + background: transparent; + border: none; } -.topbar-buttons > button > label { - font-size: 1.5rem; +.AnyName>button:hover { + background-color: @base03; +} */ +.topbar-buttons > button { + /* Name defined in config after # */ + border: none; + background: transparent; + font-size: 2rem; } -/* Widget BUTTONGRID (not ready yet) -────────────────────────────────────────────────────────────────────────────── -*/ -.widget-buttons-grid { +/* Volume widget */ +.widget-volume { + background-color: @base00; padding: 8px; margin: 8px; border-radius: 12px; - background-color: @ral9017; - font-size: 2rem; -} - -/*grid buttons*/ -.widget-buttons-grid > flowbox > flowboxchild > button { - background: none; - box-shadow: none; - border-radius: 8px; - border: 0px solid transparent; -} - -.widget-buttons-grid > flowbox > flowboxchild > button:hover { - background: @noti-bg-hover; } -/* Widget Powermode (UV/OC) -────────────────────────────────────────────────────────────────────────────── -*/ -.powermode-buttons { - padding: 5px 40px 5px 40px; - margin: 5px; - border-radius: 8px; - font-size: 1.25rem; +.widget-volume > box > button { + background: transparent; + border: none; } -.powermode-buttons > button { - border: 1px solid @border; - box-shadow: none; - padding: 0px; - margin: 2px; +.per-app-volume { + background-color: @noti-bg-alt; + padding: 4px 8px 8px 8px; + margin: 0px 8px 8px 8px; + border-radius: 12px; } -.powermode-buttons > button:hover { - background: @noti-bg-hover; +/* Backlight widget */ +.widget-backlight { + background-color: @base00; + padding: 8px; + margin: 8px; + border-radius: 12px; } -.powermode-buttons > button > label { - background-color: @yellow; - color: @bs; +/* Inhibitors widget */ +.widget-inhibitors { + margin: 8px; font-size: 1.5rem; - opacity: 0.8; - transition: all 0.3s ease; - animation: colored-gradient 10s ease infinite; } -/* NOTIFICATIONS Collapse/expand buttons -────────────────────────────────────────────────────────────────────────────── -*/ -.notification-group { - margin: 2px 8px 2px 8px; -} -.notification-group-headers { - font-weight: bold; - font-size: 2rem; - color: @ws; - letter-spacing: 2px; -} - -.notification-group-icon { - color: @ws; - font-size: 12px; -} - -.notification-group-collapse-button, -.notification-group-close-all-button { - background: transparent; - color: @bs; - margin: 4px; - padding: 4px; - border-radius: 6px; +.widget-inhibitors > button { + font-size: initial; + color: @base05; + text-shadow: none; + background: @base00; + border: 1px solid @base02; + box-shadow: none; + border-radius: 12px; } -.notification-group-collapse-button:hover, -.notification-group-close-all-button:hover { - background: @noti-bg-hover; +.widget-inhibitors > button:hover { + background: @base03; } -- 2.51.2