{...}: { #  use later services.swaync = { enable = true; settings = { "$schema" = "/etc/xdg/swaync/configSchema.json"; positionX = "right"; positionY = "top"; cssPriority = "user"; control-center-margin-top = 22; control-center-margin-bottom = 2; control-center-margin-right = 1; control-center-margin-left = 0; notification-icon-size = 64; notification-body-image-height = 128; notification-body-image-width = 200; timeout = 6; timeout-low = 3; timeout-critical = 0; fit-to-screen = false; control-center-width = 400; control-center-height = 915; notification-window-width = 375; keyboard-shortcuts = true; image-visibility = "when-available"; transition-time = 200; hide-on-clear = false; hide-on-action = true; script-fail-notify = true; widgets = [ "title" "dnd" "menubar#desktop" "volume" "mpris" "notifications" ]; widget-config = { title = { text = " Quick settings"; clear-all-button = true; button-text = ""; }; "menubar#desktop" = { "menu#screenshot" = { label = "\t󰄀 Screenshot\t"; position = "left"; actions = [ { label = "Whole screen"; command = "sh -c 'swaync-client -cp; sleep 1; grimblast copysave output \"/tmp/screenshot.png\"; swappy -f \"/tmp/screenshot.png\"'"; } { label = "Whole window / Select region"; command = "sh -c 'swaync-client -cp; grimblast copysave area \"/tmp/screenshot.png\"; swappy -f \"/tmp/screenshot.png\"'"; } ]; }; "menu#power" = { label = "\t Power Menu\t "; position = "left"; actions = [ { label = " Logout"; command = "hyprctl dispatch exit 0"; } { label = " Shut down"; command = "systemctl poweroff"; } { label = "󰤄 Suspend"; command = "systemctl suspend"; } { label = " Reboot"; command = "systemctl reboot"; } ]; }; }; volume = { label = ""; expand-button-label = ""; collapse-button-label = ""; show-per-app = true; show-per-app-icon = true; show-per-app-label = true; }; dnd = { text = " Do Not Disturb"; }; mpris = { image-size = 96; image-radius = 4; }; label = { text = "Notifications"; clear-all-button = true; button-text = ""; }; }; scripts = { example-script = { exec = "echo 'Do something...'"; urgency = "Normal"; }; }; notification-visibility = { spotify = { state = "enabled"; urgency = "Low"; app-name = "Spotify"; }; }; }; style = '' @define-color shadow rgba(0, 0, 0, 0.25); /* * * Catppuccin Mocha palette * Maintainer: rubyowo * */ @define-color base #1E1D2E; @define-color mantle #181825; @define-color crust #11111b; @define-color text #cdd6f4; @define-color subtext0 #a6adc8; @define-color subtext1 #bac2de; @define-color surface0 #313244; @define-color surface1 #45475a; @define-color surface2 #585b70; @define-color overlay0 #6c7086; @define-color overlay1 #7f849c; @define-color overlay2 #9399b2; @define-color blue #89b4fa; @define-color lavender #b4befe; @define-color sapphire #74c7ec; @define-color sky #89dceb; @define-color teal #94e2d5; @define-color green #a6e3a1; @define-color yellow #f9e2af; @define-color peach #fab387; @define-color maroon #eba0ac; @define-color red #f38ba8; @define-color mauve #cba6f7; @define-color pink #f5c2e7; @define-color flamingo #f2cdcd; @define-color rosewater #f5e0dc; @define-color base_lighter #1e1e2e; @define-color mauve_lighter #caa6f7; * { font-family: "Product Sans"; background-clip: border-box; } /* #notifications_box { */ /* border: solid 4px red; */ /* } */ label { color: @text; } .notification { border: none; box-shadow: none; /* margin: 0px; */ /* margin: -15px -10px -15px -10px; */ border-radius: 4px; background: inherit; /* background: @theme_bg_color; */ /* background: shade(alpha(@borders, 2.55), 0.25); */ } .notification button { background: transparent; border-radius: 0px; border: none; margin: 0px; padding: 0px; } .notification button:hover { /* background: @surface0; */ background: @insensitive_bg_color; } .notification-content { min-height: 64px; margin: 10px; padding: 0px; border-radius: 0px; } .close-button { background: transparent; color: transparent; } .notification-default-action, .notification-action { background: transparent; border: none; } .notification-default-action { border-radius: 4px; } /* When alternative actions are visible */ .notification-default-action:not(:only-child) { border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; } .notification-action { border-radius: 0px; padding: 2px; color: @text; /* color: @theme_text_color; */ } /* add bottom border radius to eliminate clipping */ .notification-action:first-child { border-bottom-left-radius: 4px; } .notification-action:last-child { border-bottom-right-radius: 4px; } /*** Notification ***/ /* Notification header */ .summary { color: @text; /* color: @theme_text_color; */ font-size: 14px; padding: 0px; } .time { color: @subtext0; /* color: alpha(@theme_text_color, 0.9); */ font-size: 12px; text-shadow: none; margin: 0px 0px 0px 0px; padding: 2px 0px; } .body { font-size: 14px; font-weight: 500; color: @subtext1; /* color: alpha(@text, 0.9); */ /* color: alpha(@theme_text_color, 0.9); */ text-shadow: none; margin: 0px 0px 0px 0px; } .body-image { border-radius: 4px; } /* The "Notifications" and "Do Not Disturb" text widget */ .top-action-title { color: @text; /* color: @theme_text_color; */ text-shadow: none; } /* Control center */ .control-center { background: alpha(@crust, .80); border-radius: 15px; border: 0px solid @selected; box-shadow: 0 0 10px 0 rgba(0,0,0,.80); margin: 10px; padding: 4px; } /* .right.overlay-indicator { */ /* border: solid 5px red; */ /* } */ .control-center-list { /* background: @base; */ background: alpha(@crust, .80); min-height: 5px; /* border: 1px solid @surface1; */ border-top: none; border-radius: 0px 0px 4px 4px; } .control-center-list-placeholder, .notification-group-icon, .notification-group { /* opacity: 1.0; */ /* opacity: 0; */ color: alpha(@theme_text_color, 0.50); } .notification-group { /* unset the annoying focus thingie */ opacity: 0; box-shadow: none; /* selectable: no; */ } .notification-group > box { all: unset; background: transparent; /* background: alpha(currentColor, 0.072); */ padding: 4px; margin: 0px; /* margin: 0px -5px; */ border: none; border-radius: 4px; box-shadow: none; } .notification-row { outline: none; transition: all 1s ease; background: alpha(@mantle, .80); /* background: @theme_bg_color; */ border: 0px solid @crust; margin: 10px 5px 0px 5px; border-radius: 14px; /* box-shadow: 0px 0px 4px black; */ /* background: alpha(currentColor, 0.05); */ } .notification-row:focus, .notification-row:hover { box-shadow: none; } .control-center-list > row, .control-center-list > row:focus, .control-center-list > row:hover { background: transparent; border: none; margin: 0px; padding: 5px 10px 5px 10px; box-shadow: none; } .control-center-list > row:last-child { padding: 5px 10px 10px 10px; } /* Window behind control center and on all other monitors */ .blank-window { background: transparent; } /*** Widgets ***/ /* Title widget */ .widget-title { margin: 0px; background: transparent; /* background: @theme_bg_color; */ border-radius: 4px 4px 0px 0px; /* border: 1px solid @surface1; */ border-bottom: none; } .widget-title > label { margin: 18px 10px; font-size: 20px; font-weight: 500; } .widget-title > button { font-weight: 700; padding: 7px 3px; margin-right: 10px; background: transparent; color: @text; /* color: @theme_text_color; */ border: none; border-radius: 4px; } .widget-title > button:hover { background: @base; /* background: alpha(currentColor, 0.1); */ } /* Label widget */ .widget-label { margin: 0px; padding: 0px; min-height: 5px; background: alpha(@mantle, .80); /* background: @theme_bg_color; */ border-radius: 0px 0px 4px 4px; /* border: 1px solid @surface1; */ border-top: none; } .widget-label > label { font-size: 15px; font-weight: 400; } /* Menubar */ .widget-menubar { background: transparent; /* background: @theme_bg_color; */ /* border: 1px solid @surface1; */ border-top: none; border-bottom: none; } .widget-menubar > box > box { margin: 5px 10px 5px 10px; min-height: 40px; border-radius: 4px; background: transparent; } .widget-menubar > box > box > button { background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.05); */ min-width: 185px; min-height: 50px; margin-right: 10px; font-size: 14px; padding: 0px; } .widget-menubar > box > box > button:nth-child(2) { margin-right: 0px; } .widget-menubar button:focus { box-shadow: none; } .widget-menubar button:focus:hover { background: @base; /* background: alpha(currentColor,0.1); */ box-shadow: none; } .widget-menubar > box > revealer > box { margin: 5px 10px 5px 10px; background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.05); */ border-radius: 4px; } .widget-menubar > box > revealer > box > button { background: transparent; min-height: 50px; padding: 0px; margin: 5px; } /* Buttons grid */ .widget-buttons-grid { /* background-color: @theme_bg_color; */ background: transparent; /* border: 1px solid @surface1; */ border-top: none; border-bottom: none; font-size: 14px; font-weight: 500; margin: 0px; padding: 5px; border-radius: 0px; } .widget-buttons-grid > flowbox > flowboxchild { background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.05); */ border-radius: 4px; min-height: 50px; min-width: 85px; margin: 5px; padding: 0px; } .widget-buttons-grid > flowbox > flowboxchild > button { background: transparent; border-radius: 4px; margin: 0px; border: none; box-shadow: none; } .widget-buttons-grid > flowbox > flowboxchild > button:hover { background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.1); */ } /* Mpris widget */ .widget-mpris { padding: 8px; padding-bottom: 15px; margin-bottom: -33px; } .widget-mpris > box { padding: 0px; margin: -5px 0px -10px 0px; padding: 0px; border-radius: 4px; /* background: alpha(currentColor, 0.05); */ background: alpha(@mantle, .80); } .widget-mpris > box > button:nth-child(1), .widget-mpris > box > button:nth-child(3) { margin-bottom: 0px; } .widget-mpris > box > button:nth-child(1) { margin-left: -25px; margin-right: -25px; opacity: 0; } .widget-mpris > box > button:nth-child(3) { margin-left: -25px; margin-right: -25px; opacity: 0; } .widget-mpris-album-art { all: unset; } /* Player button box */ .widget-mpris > box > carousel > widget > box > box:nth-child(2) { margin: 5px 0px -5px 90px; } /* Player buttons */ .widget-mpris > box > carousel > widget > box > box:nth-child(2) > button { border-radius: 4px; } .widget-mpris > box > carousel > widget > box > box:nth-child(2) > button:hover { background: alpha(currentColor, 0.1); } carouselindicatordots { opacity: 0; } .widget-mpris-title { color: #eeeeee; font-weight: bold; font-size: 1.25rem; text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); } .widget-mpris-subtitle { color: #eeeeee; font-size: 1rem; text-shadow: 0px 0px 3px rgba(0, 0, 0, 1); } .widget-mpris-player { border-radius: 0px; margin: 0px; } .widget-mpris-player > box > image { margin: 0px 0px -48px 0px; } .notification-group > box.vertical { /* border: solid 5px red; */ margin-top: 3px } /* Backlight and volume widgets */ .widget-backlight, .widget-volume { background: transparent; /* background-color: @crust; */ /* background-color: @theme_bg_color; */ /* border: 1px solid @surface1; */ border-top: none; border-bottom: none; font-size: 13px; font-weight: 600; border-radius: 0px; margin: 0px; padding: 0px; } .widget-volume > box { background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.05); */ border-radius: 4px; margin: 5px 10px 5px 10px; min-height: 50px; } .widget-volume > box > label { min-width: 50px; padding: 0px; } .widget-volume > box > button { min-width: 50px; box-shadow: none; padding: 0px; } .widget-volume > box > button:hover { /* background: alpha(currentColor, 0.05); */ background: @surface0; } .widget-volume > revealer > list { background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.05); */ border-radius: 4px; margin-top: 5px; padding: 0px; } .widget-volume > revealer > list > row { padding-left: 10px; min-height: 40px; background: transparent; } .widget-volume > revealer > list > row:hover { background: transparent; box-shadow: none; border-radius: 4px; } .widget-backlight > scale { background: alpha(@mantle, .80); /* background: alpha(currentColor, 0.05); */ border-radius: 0px 4px 4px 0px; margin: 5px 10px 5px 0px; padding: 0px 10px 0px 0px; min-height: 50px; } .widget-backlight > label { background: @surface0; /* background: alpha(currentColor, 0.05); */ margin: 5px 0px 5px 10px; border-radius: 4px 0px 0px 4px; padding: 0px; min-height: 50px; min-width: 50px; } /* DND widget */ .widget-dnd { margin: 6px; font-size: 1.2rem; } .widget-dnd > switch { background: alpha(@mantle, .80); font-size: initial; border-radius: 8px; box-shadow: none; padding: 2px; } .widget-dnd > switch:hover { background: alpha(@mauve_lighter, .80); } .widget-dnd > switch:checked { background: @mauve; } .widget-dnd > switch:checked:hover { background: alpha(@mauve_lighter, .80); } .widget-dnd > switch slider { background: alpha(@mauve_lighter, .80); border-radius: 6px; } /* Toggles */ .toggle:checked { background: @surface1; /* background: @theme_selected_bg_color; */ } /*.toggle:not(:checked) { color: rgba(128, 128, 128, 0.5); }*/ .toggle:checked:hover { background: @surface2; /* background: alpha(@theme_selected_bg_color, 0.75); */ } /* Sliders */ scale { padding: 0px; margin: 0px 10px 0px 10px; } scale trough { border-radius: 4px; background: @surface0; /* background: alpha(currentColor, 0.1); */ } scale highlight { border-radius: 5px; min-height: 10px; margin-right: -5px; } scale slider { margin: -10px; min-width: 10px; min-height: 10px; background: transparent; box-shadow: none; padding: 0px; } scale slider:hover { } .right.overlay-indicator { all: unset; } ''; }; }