From 60b3a2cc88ae9ceabae4728166d9963b033fd54e Mon Sep 17 00:00:00 2001 From: Nikolai Papin Date: Wed, 17 Sep 2025 18:05:36 +0300 Subject: [PATCH] feat: nice stuff --- bspwm/checkupdates.sh | 19 ++++++++++ fastfetch/brawl.jsonc | 10 +++-- hypr/hyprland.conf | 9 ++++- hypr/hyprpaper.conf | 4 +- swaync/config.json | 85 +++++++++++++++++++++++++++++++++++-------- swaync/style.css | 71 ++++++++++++++++++++++++++---------- waybar/config.jsonc | 6 +-- 7 files changed, 157 insertions(+), 47 deletions(-) create mode 100755 bspwm/checkupdates.sh diff --git a/bspwm/checkupdates.sh b/bspwm/checkupdates.sh new file mode 100755 index 0000000..db3d9e0 --- /dev/null +++ b/bspwm/checkupdates.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +upd() { + checkupdates | wc -l > /tmp/checkupdates +} + +if [[ ! -f /tmp/checkupdates ]]; then + upd +fi + +count=$(cat /tmp/checkupdates) +status="$count updates" +if [[ $count -eq 0 ]]; then + status="Up to date" +fi + +echo "$status" + +upd & disown diff --git a/fastfetch/brawl.jsonc b/fastfetch/brawl.jsonc index 3a67864..23c7811 100644 --- a/fastfetch/brawl.jsonc +++ b/fastfetch/brawl.jsonc @@ -21,10 +21,6 @@ "type": "os", "keyIcon": "" }, - { - "type": "kernel", - "keyIcon": "" - }, { "type": "host", "keyIcon": "" @@ -34,6 +30,12 @@ "type": "memory", "keyIcon": "󱤓" }, + { + "type": "command", + "text": "~/.config/bspwm/checkupdates.sh", + "keyIcon": "󰮯", + "key": "󰮯" + }, { "type": "colors", "key": "", diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 515fc8f..3f7c01c 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -31,6 +31,7 @@ $passwordManager = keepassxc # Le essential hyprland crap exec-once = hyprpaper exec-once = waybar & hypridle & hyprsunset & +exec-once = mullvad-vpn & exec-once = swaync exec-once = ~/.config/hypr/scripts/random_wallpaper.sh exec-once = ~/.config/hypr/scripts/autofreezer.sh @@ -569,14 +570,18 @@ windowrule = suppressevent maximize, class:.* # Fix some dragging issues with XWayland windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +# Animation for rofi layerrule = blur, rofi layerrule = animation slideIn left, rofi +# Animation fpr swaync layerrule = blur, swaync-control-center - -layerrule = blur, waybar layerrule = animation slideIn right, swaync-control-center +# Waybar blur +layerrule = blur, waybar + +# Adjustments for certain workspaces workspace = special:magic, gapsin:20, gapsout:50, shadow:false workspace = 9, gapsin:15, gapsout:40 diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf index ba0b7f9..f39f533 100644 --- a/hypr/hyprpaper.conf +++ b/hypr/hyprpaper.conf @@ -1,4 +1,4 @@ -wallpaper = eDP-1,/home/greg/Desktop/Pictures/Wallpapers/Wallpapers/vaporwave-wallpaper-2005241418558.jpg -wallpaper = HDMI-A-1,/home/greg/Desktop/Pictures/Wallpapers/Wallpapers/vaporwave-wallpaper-2005241418558.jpg +wallpaper = eDP-1,/home/greg/Pictures/Wallpapers/current/lemon_spray_black_166821_1920x1080.jpg +wallpaper = HDMI-A-1,/home/greg/Pictures/Wallpapers/current/lemon_spray_black_166821_1920x1080.jpg ipc = on diff --git a/swaync/config.json b/swaync/config.json index 0b93eee..36383e4 100644 --- a/swaync/config.json +++ b/swaync/config.json @@ -12,8 +12,8 @@ "control-center-margin-bottom": 5, "control-center-margin-right": 5, "control-center-margin-left": 0, - "notification-2fa-action": true, - "notification-inline-replies": true, + "notification-2fa-action": false, + "notification-inline-replies": false, "notification-body-image-height": 100, "notification-body-image-width": 200, "timeout": 10, @@ -25,12 +25,12 @@ "control-center-height": 600, "notification-window-width": 500, "keyboard-shortcuts": true, - "notification-grouping": true, + "notification-grouping": false, "image-visibility": "when-available", "transition-time": 200, "hide-on-clear": false, "hide-on-action": true, - "text-empty": "No Annoyances", + "text-empty": "No nothing", "script-fail-notify": true, "scripts": { "example-script": { @@ -51,13 +51,14 @@ } }, "widgets": [ - "title", + "menubar", "buttons-grid", "volume", "slider", "inhibitors", - "dnd", + "title", "notifications", + "dnd", "mpris" ], "widget-config": { @@ -67,9 +68,9 @@ "clear-all-button": true }, "title": { - "text": "Kolinux v1.0", + "text": "Notifications", "clear-all-button": true, - "button-text": "Purge notifications" + "button-text": "Purge" }, "volume": { "label": "󰕾 ", @@ -100,34 +101,88 @@ "loop-carousel": false }, "buttons-grid": { - "buttons-per-row": 3, + "buttons-per-row": 4, "actions": [ { - "label": "󰘊", + "label": "󰑫", "type": "toggle", "active": true, "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'", "update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'" }, { - "label": "󰂯", + "label": "", "type": "toggle", "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && bluetoothctl power on || bluetoothctl power off'", "update-command": "sh -c \'bluetoothctl show | awk \\\"/Powered/ {print \\$2}\\\" | grep -q yes && echo true || echo false\'" }, { - "label": "", + "label": "󰦝", "type": "toggle", "command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && mullvad connect || mullvad disconnect'", "update-command": "sh -c '[[ $(mullvad status | grep -e Connected ) == \"Connected\" ]] && echo true || echo false'" }, { - "label": "", + "label": "", "type": "toggle", - "command": "echo not implemented", - "update-command": "echo not implemented" + "command": "sh -c 'nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 & disown'", + "update-command": "sh -c 'pgrep sslocal > /dev/null && echo true || echo false'" + }, + { + "label": "󰍰", + "type": "toggle", + "command": "sh -c 'pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo toggle'", + "update-command": "sh -c '[[ $(pactl get-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo) == \\\"Mute: no\\\" ]] && echo true || echo false'" + }, + { + "label": "󰐨", + "type": "toggle", + "command": "[[ $SWAYNC_TOGGLE_STATE == true ]] && ( systemd-inhibit --why='User request via swaync' --what=sleep:handle-lid-switch sh -c 'echo \"$$\" > \"$XDG_RUNTIME_DIR/swaync-idle.pid\"; while true; do sleep 3600; done' ) || kill $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\")", + "update-command": "kill -0 $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\") && echo true || echo false" } ] + }, + "menubar": { + "menu#power-buttons": { + "label": "", + "position": "left", + "actions": [ + { + "label": " Reboot", + "command": "systemctl reboot" + }, + { + "label": " Lock", + "command": "swaylock.sh" + }, + { + "label": " Logout", + "command": "loginctl terminate-session ${XDG_SESSION_ID-}" + }, + { + "label": " Shut down", + "command": "systemctl poweroff" + } + ] + }, + "menu#powermode-buttons": { + "label": "󰓅", + "position": "right", + "actions": [ + { + "label": "Razgonnnn", + "command": "powerprofilesctl set performance" + }, + { + "label": "Balanced", + "command": "powerprofilesctl set balanced" + }, + { + "label": "Survival", + "command": "powerprofilesctl set power-saver" + } + ] + } } } } diff --git a/swaync/style.css b/swaync/style.css index 18ce92f..50a0043 100644 --- a/swaync/style.css +++ b/swaync/style.css @@ -6,12 +6,13 @@ --noti-bg-alpha: 0.85; --noti-bg-darker: rgb(38, 38, 38); --noti-bg-hover: rgb(56, 56, 56); - --noti-bg-focus: #9e2238dd; + --noti-bg-focus: transparent; + --noti-bg-selection: #9e2238dd; --noti-close-bg: rgb(78, 78, 78); --noti-close-bg-hover: rgb(94, 94, 94); --text-color: #FFe8EE; --text-color-disabled: rgb(150, 150, 150); - --bg-selected: #d14781; + --bg-selected: #b12761; --notification-icon-size: 64px; --notification-app-icon-size: calc(var(--notification-icon-size) / 3); --notification-group-icon-size: 32px; @@ -22,6 +23,14 @@ font-size: 16px; } +button { + background: var(--noti-border-color); +} + +button:hover { + background: var(--noti-bg-selection) +} + .close-button { /* The notification Close Button */ background: var(--noti-close-bg); @@ -49,10 +58,6 @@ outline: none; } -.notification-row:focus { - background: var(--noti-bg-focus); -} - .notification-row .notification-background { padding: 6px 12px; } @@ -90,6 +95,9 @@ border-radius: 12px; } +.notification-row:focus .notification-background .notification .notification-default-action { + background-color: red; +} .notification-row .notification-background .notification .notification-default-action:hover { -gtk-icon-filter: none; background: var(--noti-bg-hover); @@ -224,8 +232,8 @@ /* The groups close button */ } -.notification-group:focus { - background: var(--noti-bg-focus); +.notification-group:focus .notification-row .notification-background .notification { + background-color: var(--noti-bg-selection); } .notification-group.low { @@ -339,13 +347,14 @@ /*** Widgets ***/ /* Title widget */ + .widget-title > label { - margin: 8px; - font-size: 1.5rem; + margin: 0 0px; + font-size: 16px; } .widget-title > button { - margin: 8px; + margin: 0px; border-radius: 12px; } @@ -362,7 +371,7 @@ } .widget-dnd switch:checked { - background: var(--noti-bg-focus); + background: var(--noti-bg-selection); } @@ -456,12 +465,13 @@ } .widget-buttons-grid flowboxchild > button.toggle > * { - font-size: 36px; + font-size: 45px; + font-family: "Iosevka Nerd Font Mono"; } .widget-buttons-grid flowboxchild > button.toggle:checked { /* style given to the active toggle button */ - background-color: var(--noti-bg-focus); + background-color: var(--noti-bg-selection); } .widget-buttons-grid flowboxchild > button.toggle:hover { @@ -496,20 +506,32 @@ } .widget-menubar > .menu-button-bar > .start { - margin-left: 8px; + margin-left: 0px; } .widget-menubar > .menu-button-bar > .end { - margin-right: 8px; + margin-right: 0px; } .widget-menubar > .menu-button-bar > .widget-menubar-container button { border-radius: 12px; margin: 0 4px; + background-color: var(--noti-bg-selection); +} + +.widget-menubar > .menu-button-bar > .widget-menubar-container button:hover { + background-color: var(--bg-selected); +} + +.widget-menubar > .menu-button-bar > .widget-menubar-container button > * { + font-size: 24px; + font-family: "Iosevka Nerd Font Mono"; } .widget-menubar > revealer { - margin-top: 8px; + margin-top: 0px; + display: flex; + flex-direction: right; } .widget-menubar > revealer button { @@ -518,6 +540,10 @@ margin-top: 0; } +.widget-menubar > revealer button:hover { + background: var(--bg-selected); +} + /* Volume widget */ :root { --widget-volume-row-icon-size: 24px; @@ -529,12 +555,12 @@ border-radius: 12px; } -.widget-volume label { +.widget-volume label:first-child { font-size: 28px; } .widget-volume trough highlight { - background: var(--noti-bg-focus); + background: var(--noti-bg-selection); } /* Each row app icon */ @@ -557,7 +583,7 @@ } .widget-slider trough highlight { - background: var(--noti-bg-focus); + background: var(--noti-bg-selection); } .widget-slider label { @@ -581,3 +607,8 @@ margin: 8px; border-radius: 12px; } + +.notification-row:parent { + background: none +} + diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 67d1332..4101cdd 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -9,8 +9,6 @@ // Choose the order of the modules "modules-left": [ "hyprland/workspaces", - "idle_inhibitor", - "power-profiles-daemon", "pulseaudio" ], "modules-center": [ @@ -214,8 +212,8 @@ "format-bluetooth": "{volume}% {icon} {format_source}", "format-bluetooth-muted": " {icon} {format_source}", "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", + "format-source": "", + "format-source-muted": " ", "format-icons": { "headphone": "", //"hands-free": "",