feat: nice stuff

This commit is contained in:
2025-09-17 18:05:36 +03:00
parent e9e2ecba31
commit 5f61c6abd9
7 changed files with 157 additions and 47 deletions

19
bspwm/checkupdates.sh Executable file
View File

@@ -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

View File

@@ -21,10 +21,6 @@
"type": "os", "type": "os",
"keyIcon": "" "keyIcon": ""
}, },
{
"type": "kernel",
"keyIcon": ""
},
{ {
"type": "host", "type": "host",
"keyIcon": "" "keyIcon": ""
@@ -34,6 +30,12 @@
"type": "memory", "type": "memory",
"keyIcon": "󱤓" "keyIcon": "󱤓"
}, },
{
"type": "command",
"text": "~/.config/bspwm/checkupdates.sh",
"keyIcon": "󰮯",
"key": "󰮯"
},
{ {
"type": "colors", "type": "colors",
"key": "", "key": "",

View File

@@ -31,6 +31,7 @@ $passwordManager = keepassxc
# Le essential hyprland crap # Le essential hyprland crap
exec-once = hyprpaper exec-once = hyprpaper
exec-once = waybar & hypridle & hyprsunset & exec-once = waybar & hypridle & hyprsunset &
exec-once = mullvad-vpn &
exec-once = swaync exec-once = swaync
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
exec-once = ~/.config/hypr/scripts/autofreezer.sh exec-once = ~/.config/hypr/scripts/autofreezer.sh
@@ -569,14 +570,18 @@ windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Animation for rofi
layerrule = blur, rofi layerrule = blur, rofi
layerrule = animation slideIn left, rofi layerrule = animation slideIn left, rofi
# Animation fpr swaync
layerrule = blur, swaync-control-center layerrule = blur, swaync-control-center
layerrule = blur, waybar
layerrule = animation slideIn right, swaync-control-center 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 = special:magic, gapsin:20, gapsout:50, shadow:false
workspace = 9, gapsin:15, gapsout:40 workspace = 9, gapsin:15, gapsout:40

View File

@@ -1,4 +1,4 @@
wallpaper = eDP-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/Desktop/Pictures/Wallpapers/Wallpapers/vaporwave-wallpaper-2005241418558.jpg wallpaper = HDMI-A-1,/home/greg/Pictures/Wallpapers/current/lemon_spray_black_166821_1920x1080.jpg
ipc = on ipc = on

View File

@@ -12,8 +12,8 @@
"control-center-margin-bottom": 5, "control-center-margin-bottom": 5,
"control-center-margin-right": 5, "control-center-margin-right": 5,
"control-center-margin-left": 0, "control-center-margin-left": 0,
"notification-2fa-action": true, "notification-2fa-action": false,
"notification-inline-replies": true, "notification-inline-replies": false,
"notification-body-image-height": 100, "notification-body-image-height": 100,
"notification-body-image-width": 200, "notification-body-image-width": 200,
"timeout": 10, "timeout": 10,
@@ -25,12 +25,12 @@
"control-center-height": 600, "control-center-height": 600,
"notification-window-width": 500, "notification-window-width": 500,
"keyboard-shortcuts": true, "keyboard-shortcuts": true,
"notification-grouping": true, "notification-grouping": false,
"image-visibility": "when-available", "image-visibility": "when-available",
"transition-time": 200, "transition-time": 200,
"hide-on-clear": false, "hide-on-clear": false,
"hide-on-action": true, "hide-on-action": true,
"text-empty": "No Annoyances", "text-empty": "No nothing",
"script-fail-notify": true, "script-fail-notify": true,
"scripts": { "scripts": {
"example-script": { "example-script": {
@@ -51,13 +51,14 @@
} }
}, },
"widgets": [ "widgets": [
"title", "menubar",
"buttons-grid", "buttons-grid",
"volume", "volume",
"slider", "slider",
"inhibitors", "inhibitors",
"dnd", "title",
"notifications", "notifications",
"dnd",
"mpris" "mpris"
], ],
"widget-config": { "widget-config": {
@@ -67,9 +68,9 @@
"clear-all-button": true "clear-all-button": true
}, },
"title": { "title": {
"text": "Kolinux v1.0", "text": "Notifications",
"clear-all-button": true, "clear-all-button": true,
"button-text": "Purge notifications" "button-text": "Purge"
}, },
"volume": { "volume": {
"label": "󰕾 ", "label": "󰕾 ",
@@ -100,34 +101,88 @@
"loop-carousel": false "loop-carousel": false
}, },
"buttons-grid": { "buttons-grid": {
"buttons-per-row": 3, "buttons-per-row": 4,
"actions": [ "actions": [
{ {
"label": "󰘊", "label": "󰑫",
"type": "toggle", "type": "toggle",
"active": true, "active": true,
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'", "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'" "update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
}, },
{ {
"label": "󰂯", "label": "",
"type": "toggle", "type": "toggle",
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && bluetoothctl power on || bluetoothctl power off'", "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\'" "update-command": "sh -c \'bluetoothctl show | awk \\\"/Powered/ {print \\$2}\\\" | grep -q yes && echo true || echo false\'"
}, },
{ {
"label": "", "label": "󰦝",
"type": "toggle", "type": "toggle",
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && mullvad connect || mullvad disconnect'", "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'" "update-command": "sh -c '[[ $(mullvad status | grep -e Connected ) == \"Connected\" ]] && echo true || echo false'"
}, },
{ {
"label": "", "label": "",
"type": "toggle", "type": "toggle",
"command": "echo not implemented", "command": "sh -c 'nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 & disown'",
"update-command": "echo not implemented" "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"
}
]
}
} }
} }
} }

View File

@@ -6,12 +6,13 @@
--noti-bg-alpha: 0.85; --noti-bg-alpha: 0.85;
--noti-bg-darker: rgb(38, 38, 38); --noti-bg-darker: rgb(38, 38, 38);
--noti-bg-hover: rgb(56, 56, 56); --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: rgb(78, 78, 78);
--noti-close-bg-hover: rgb(94, 94, 94); --noti-close-bg-hover: rgb(94, 94, 94);
--text-color: #FFe8EE; --text-color: #FFe8EE;
--text-color-disabled: rgb(150, 150, 150); --text-color-disabled: rgb(150, 150, 150);
--bg-selected: #d14781; --bg-selected: #b12761;
--notification-icon-size: 64px; --notification-icon-size: 64px;
--notification-app-icon-size: calc(var(--notification-icon-size) / 3); --notification-app-icon-size: calc(var(--notification-icon-size) / 3);
--notification-group-icon-size: 32px; --notification-group-icon-size: 32px;
@@ -22,6 +23,14 @@
font-size: 16px; font-size: 16px;
} }
button {
background: var(--noti-border-color);
}
button:hover {
background: var(--noti-bg-selection)
}
.close-button { .close-button {
/* The notification Close Button */ /* The notification Close Button */
background: var(--noti-close-bg); background: var(--noti-close-bg);
@@ -49,10 +58,6 @@
outline: none; outline: none;
} }
.notification-row:focus {
background: var(--noti-bg-focus);
}
.notification-row .notification-background { .notification-row .notification-background {
padding: 6px 12px; padding: 6px 12px;
} }
@@ -90,6 +95,9 @@
border-radius: 12px; border-radius: 12px;
} }
.notification-row:focus .notification-background .notification .notification-default-action {
background-color: red;
}
.notification-row .notification-background .notification .notification-default-action:hover { .notification-row .notification-background .notification .notification-default-action:hover {
-gtk-icon-filter: none; -gtk-icon-filter: none;
background: var(--noti-bg-hover); background: var(--noti-bg-hover);
@@ -224,8 +232,8 @@
/* The groups close button */ /* The groups close button */
} }
.notification-group:focus { .notification-group:focus .notification-row .notification-background .notification {
background: var(--noti-bg-focus); background-color: var(--noti-bg-selection);
} }
.notification-group.low { .notification-group.low {
@@ -339,13 +347,14 @@
/*** Widgets ***/ /*** Widgets ***/
/* Title widget */ /* Title widget */
.widget-title > label { .widget-title > label {
margin: 8px; margin: 0 0px;
font-size: 1.5rem; font-size: 16px;
} }
.widget-title > button { .widget-title > button {
margin: 8px; margin: 0px;
border-radius: 12px; border-radius: 12px;
} }
@@ -362,7 +371,7 @@
} }
.widget-dnd switch:checked { .widget-dnd switch:checked {
background: var(--noti-bg-focus); background: var(--noti-bg-selection);
} }
@@ -456,12 +465,13 @@
} }
.widget-buttons-grid flowboxchild > button.toggle > * { .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 { .widget-buttons-grid flowboxchild > button.toggle:checked {
/* style given to the active toggle button */ /* 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 { .widget-buttons-grid flowboxchild > button.toggle:hover {
@@ -496,20 +506,32 @@
} }
.widget-menubar > .menu-button-bar > .start { .widget-menubar > .menu-button-bar > .start {
margin-left: 8px; margin-left: 0px;
} }
.widget-menubar > .menu-button-bar > .end { .widget-menubar > .menu-button-bar > .end {
margin-right: 8px; margin-right: 0px;
} }
.widget-menubar > .menu-button-bar > .widget-menubar-container button { .widget-menubar > .menu-button-bar > .widget-menubar-container button {
border-radius: 12px; border-radius: 12px;
margin: 0 4px; 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 { .widget-menubar > revealer {
margin-top: 8px; margin-top: 0px;
display: flex;
flex-direction: right;
} }
.widget-menubar > revealer button { .widget-menubar > revealer button {
@@ -518,6 +540,10 @@
margin-top: 0; margin-top: 0;
} }
.widget-menubar > revealer button:hover {
background: var(--bg-selected);
}
/* Volume widget */ /* Volume widget */
:root { :root {
--widget-volume-row-icon-size: 24px; --widget-volume-row-icon-size: 24px;
@@ -529,12 +555,12 @@
border-radius: 12px; border-radius: 12px;
} }
.widget-volume label { .widget-volume label:first-child {
font-size: 28px; font-size: 28px;
} }
.widget-volume trough highlight { .widget-volume trough highlight {
background: var(--noti-bg-focus); background: var(--noti-bg-selection);
} }
/* Each row app icon */ /* Each row app icon */
@@ -557,7 +583,7 @@
} }
.widget-slider trough highlight { .widget-slider trough highlight {
background: var(--noti-bg-focus); background: var(--noti-bg-selection);
} }
.widget-slider label { .widget-slider label {
@@ -581,3 +607,8 @@
margin: 8px; margin: 8px;
border-radius: 12px; border-radius: 12px;
} }
.notification-row:parent {
background: none
}

View File

@@ -9,8 +9,6 @@
// Choose the order of the modules // Choose the order of the modules
"modules-left": [ "modules-left": [
"hyprland/workspaces", "hyprland/workspaces",
"idle_inhibitor",
"power-profiles-daemon",
"pulseaudio" "pulseaudio"
], ],
"modules-center": [ "modules-center": [
@@ -214,8 +212,8 @@
"format-bluetooth": "{volume}% {icon} {format_source}", "format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}", "format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}", "format-muted": " {format_source}",
"format-source": "{volume}% ", "format-source": "",
"format-source-muted": "", "format-source-muted": " ",
"format-icons": { "format-icons": {
"headphone": "", "headphone": "",
//"hands-free": "", //"hands-free": "",