{...}: { #  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; # } # ''; }; }