Regenerated

This commit is contained in:
2026-04-02 21:27:46 +02:00
parent d670f0d60d
commit 97a85e02d5
3 changed files with 565 additions and 1040 deletions
+454 -534
View File
File diff suppressed because it is too large Load Diff
+101 -228
View File
@@ -2661,8 +2661,6 @@ These are config files for waybar
"layer": "top", "layer": "top",
"height": 34, "height": 34,
//"modules-left": ["hyprland/window"],
"modules-center": [ "modules-center": [
"custom/workspaces_content" "custom/workspaces_content"
], ],
@@ -2672,15 +2670,10 @@ These are config files for waybar
"pulseaudio", "pulseaudio",
"network", "network",
"custom/bluetooth", "custom/bluetooth",
/*
"cpu",
"memory",
"temperature",
*/
"battery", "battery",
"tray", "tray",
"clock", "clock"
], ],
"custom/workspaces_content": { "custom/workspaces_content": {
"exec": "~/.config/waybar/scripts/hyprscroll-overflow.sh", "exec": "~/.config/waybar/scripts/hyprscroll-overflow.sh",
@@ -2691,56 +2684,28 @@ These are config files for waybar
"tooltip": true "tooltip": true
}, },
/*
"custom/notifications": {
"tooltip": false,
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"format": "{icon}",
"format-icons": {
"notification": "",
"none": "",
"dnd-notification": "󰂠",
"dnd-none": "󰪓",
},
"on-click": "swaync-client -t",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -dn",
},
*/
"idle_inhibitor": { "idle_inhibitor": {
"tooltip": true, "tooltip": true,
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"activated": "  ", "activated": "  ",
"deactivated": " 󰒲 ", "deactivated": " 󰒲 "
}, }
"tooltip-format-activated": "Staying awake",
"tooltip-format-deactivated": "Might sleep....",
}, },
"pulseaudio": { "pulseaudio": {
"format": "{volume}% {icon}", "format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "", "format-muted": "",
"format-icons": { "format-icons": {
"headphones": "", "default": ["", ""]
"headset": "",
"phone": "",
"portable": "",
"default": ["", ""],
}, },
"on-click": "pavucontrol", "on-click": "pavucontrol"
}, },
"network": { "network": {
"format-wifi": " ({bandwidthDownBits})", "format-wifi": " ({bandwidthDownBits})",
"format-ethernet": " ({bandwidthDownBits})", "format-ethernet": " ({bandwidthDownBits})",
"format-disconnected": "Disconnected ⚠", "format-disconnected": "Disconnected ⚠",
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"on-click": "nm-connection-editor" "on-click": "nm-connection-editor"
}, },
@@ -2752,245 +2717,120 @@ These are config files for waybar
"format": "{}" "format": "{}"
}, },
"cpu": {
"format": "{usage}%  ",
"tooltip": false,
},
"memory": {
"format": "{percentage}%  ",
},
"temperature": {
"format": "{temperatureC}°C ",
"tooltip": false,
},
"tray": { "tray": {
"spacing": 10, "spacing": 10,
"icon-size": 14, "icon-size": 14
}, },
"clock": { "clock": {
"format": "{:%a, %d %b %Y - %H:%M}", "format": "{:%a, %d %b %Y - %H:%M}",
"tooltip": false, "tooltip": false
"on-click": "flatpak run eu.betterbird.Betterbird -calendar",
}, },
"battery": { "battery": {
"bat": "BAT0", "bat": "BAT0",
"states": {
"good": 95,
"warning": 30,
"critical": 15,
},
"format": "{capacity}% {icon}", "format": "{capacity}% {icon}",
"format-charging": "{capacity}% 󰂄", "format-charging": "{capacity}% 󰂄",
"format-plugged": "{capacity}%  ", "format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󱈏 "]
"format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󱈏 "], }
},
} }
#+END_SRC #+END_SRC
** =.config/waybar/style.css= ** =.config/waybar/style.css=
This file contains all css for waybar This file contains all css for waybar
#+BEGIN_SRC css :tangle generated/.config/waybar/config :noweb yes :mkdirp yes :eval never #+BEGIN_SRC css :tangle generated/.config/waybar/config :noweb yes :mkdirp yes :eval never
/* --- Hyprland palette (ported) --- */ /* --- Hyprland palette --- */
@define-color base rgba(30, 30, 46, 1.0); /* 1e1e2eff */ @define-color base rgba(30, 30, 46, 1.0);
@define-color inactive rgba(89, 89, 89, 0.667); /* 595959aa */ @define-color inactive rgba(89, 89, 89, 0.667);
@define-color blue rgba(51, 204, 255, 0.933); /* 33ccffee */ @define-color blue rgba(51, 204, 255, 0.933);
@define-color green rgba(0, 255, 153, 0.933); /* 00ff99ee */ @define-color green rgba(0, 255, 153, 0.933);
@define-color text rgba(255, 255, 255, 1.0);
@define-color surface1 rgba(255, 255, 255, 0.08);
@define-color subtext1 rgba(255, 255, 255, 0.35);
@define-color red rgba(255, 0, 0, 0.90);
@define-color overlay1 rgba(255, 255, 255, 0.35);
@define-color yellow rgba(255, 215, 0, 0.95);
/* extra colors you referenced but didnt define */ /* --- Base font --- */
@define-color text rgba(255, 255, 255, 1.0); * {
@define-color surface1 rgba(255, 255, 255, 0.08); font-family: Aporetic Sans Mono, Iosevka Nerd Font, Roboto, Helvetica, Arial, sans-serif;
@define-color subtext1 rgba(255, 255, 255, 0.35);
@define-color red rgba(255, 0, 0, 0.90);
@define-color overlay1 rgba(255, 255, 255, 0.35);
@define-color yellow rgba(255, 215, 0, 0.95);
* {
font-family:
Aporetic Sans Mono,
FiraCode Nerd Font,
Iosevka Nerd Font,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 13px; font-size: 13px;
} }
window#waybar { window#waybar {
background-color: transparent; background: transparent;
color: @text; color: @text;
transition-property: background-color; transition: background-color 0.5s;
border-bottom: 0px solid rgba(0, 0, 0, 0);
transition-duration: 0.5s;
} }
#custom-workspaces_content { /* --- Workspaces buttons --- */
padding: 0px 1px; #workspaces button {
padding: 0 1px;
min-width: 80px; min-width: 80px;
background-color: transparent; background: transparent;
color: @text; color: @text;
border: 2px solid @inactive; border: 2px solid @inactive;
border-radius: 10px; border-radius: 10px;
} }
#custom-workspaces_content.active { #workspaces button:hover {
padding: 0px 1px; background-color: @surface1;
min-width: 80px; }
color: @text;
border-radius: 10px; #workspaces button.active {
font-weight: bold; font-weight: bold;
border: 1px solid transparent; border: 1px solid transparent;
background: background:
linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15)) padding-box, linear-gradient(rgba(255,255,255,0.15), rgba(255,255,255,0.15)) padding-box,
linear-gradient(45deg, @blue, @green) border-box; linear-gradient(45deg, @blue, @green) border-box;
} }
#custom-notifications.empty { /* --- Custom Hyprscroll indicator --- */
color: @overlay1; #custom-workspaces_content {
} padding: 0 1px;
#custom-notifications.unread {
color: @yellow;
}
#workspaces button:hover {
background-color: @surface1;
color: @text;
}
#custom-bluetooth {
display: inline-block;
width: 4ch; /* width in character units */
text-align: center;
overflow: visible; /* width in character units */
white-space: nowrap;
}
#clock,
#idle_inhibitor,
#battery,
#cpu,
#memory,
#temperature,
#network,
#pulseaudio,
#tray {
margin: 0 5px;
padding: 0 2px;
}
#idle_inhibitor.activated {
background-color: @green;
}
#battery.charging {
color: @green;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#network.disconnected {
background-color: @red;
}
#temperature.critical {
background-color: @red;
}
/* =========================================================
* Notifications
* ========================================================= */
#custom-notifications {
margin: 0 4px;
padding: 0 4px;
min-width: 0;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
/* =========================================================
* Hyprscroll overflow indicator (custom/workspaces_content)
* States: .ok, .overflow, .error
* ========================================================= */
/* Default (no overflow): subtle pill, still hoverable for tooltip */
#custom-workspaces_content.ok {
padding: 0px 1px;
min-width: 80px; min-width: 80px;
color: @subtext1; background: transparent;
color: @text;
border: 2px solid @inactive;
border-radius: 10px; border-radius: 10px;
/* subtle outline so you know it's there */
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.03);
} }
/* Make it feel interactive (hover) */ /* Default (no overflow) */
#custom-workspaces_content.ok {
color: @subtext1;
border: 1px solid rgba(255,255,255,0.12);
background: rgba(255,255,255,0.03);
}
#custom-workspaces_content.ok:hover { #custom-workspaces_content.ok:hover {
color: @text; color: @text;
background-color: @surface1; background-color: @surface1;
border: 1px solid rgba(255, 255, 255, 0.18); border: 1px solid rgba(255,255,255,0.18);
} }
/* Overflow state: you already have this; keep it. /* Overflow state */
Optional: add hover tweak so it "pops" a bit. */ #custom-workspaces_content.overflow {
#custom-workspaces_content.overflow:hover { font-weight: bold;
border: 1px dashed transparent;
background: background:
linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)) linear-gradient(rgba(255,255,255,0.05), rgba(255,255,255,0.05)) padding-box,
padding-box,
linear-gradient(45deg, @blue, @green) border-box; linear-gradient(45deg, @blue, @green) border-box;
} }
/* Error state: clear but not screaming */ #custom-workspaces_content.overflow:hover {
#custom-workspaces_content.error { background:
padding: 0px 1px; linear-gradient(rgba(255,255,255,0.1), rgba(255,255,255,0.1)) padding-box,
min-width: 80px; linear-gradient(45deg, @blue, @green) border-box;
color: @text;
border-radius: 10px;
border: 1px solid rgba(255, 0, 0, 0.55);
background: rgba(255, 0, 0, 0.15);
font-weight: bold;
} }
/* Optional: if you keep .hidden in the script for any reason */ /* Error state */
#custom-workspaces_content.error {
font-weight: bold;
border: 1px solid rgba(255,0,0,0.55);
background: rgba(255,0,0,0.15);
}
/* Hidden state */
#custom-workspaces_content.hidden { #custom-workspaces_content.hidden {
padding: 0; padding: 0;
margin: 0; margin: 0;
@@ -3000,10 +2840,43 @@ window#waybar {
opacity: 0; opacity: 0;
} }
/* --- Right modules spacing --- */
#clock,
#idle_inhibitor,
#battery,
#network,
#pulseaudio,
#tray {
margin: 0 5px;
padding: 0 2px;
}
/* States */
#idle_inhibitor.activated {
background-color: @green;
}
#battery.charging {
color: @green;
}
#network.disconnected {
background-color: @red;
}
/* Blinking for low battery */
@keyframes blink {
to { background-color: #fff; color: black; }
}
#battery.warning:not(.charging) {
color: white;
animation: blink 0.5s linear infinite alternate;
}
/* Generic custom modules */
[id^="custom-"] { [id^="custom-"] {
padding: 0 4px; padding: 0 4px;
overflow: visible;
text-align: center; text-align: center;
} }
#+END_SRC #+END_SRC
+10 -278
View File
@@ -2,8 +2,6 @@
"layer": "top", "layer": "top",
"height": 34, "height": 34,
//"modules-left": ["hyprland/window"],
"modules-center": [ "modules-center": [
"custom/workspaces_content" "custom/workspaces_content"
], ],
@@ -13,15 +11,10 @@
"pulseaudio", "pulseaudio",
"network", "network",
"custom/bluetooth", "custom/bluetooth",
/*
"cpu",
"memory",
"temperature",
*/
"battery", "battery",
"tray", "tray",
"clock", "clock"
], ],
"custom/workspaces_content": { "custom/workspaces_content": {
"exec": "~/.config/waybar/scripts/hyprscroll-overflow.sh", "exec": "~/.config/waybar/scripts/hyprscroll-overflow.sh",
@@ -32,56 +25,28 @@
"tooltip": true "tooltip": true
}, },
/*
"custom/notifications": {
"tooltip": false,
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"format": "{icon}",
"format-icons": {
"notification": "",
"none": "",
"dnd-notification": "󰂠",
"dnd-none": "󰪓",
},
"on-click": "swaync-client -t",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -dn",
},
*/
"idle_inhibitor": { "idle_inhibitor": {
"tooltip": true, "tooltip": true,
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
"activated": "  ", "activated": "  ",
"deactivated": " 󰒲 ", "deactivated": " 󰒲 "
}, }
"tooltip-format-activated": "Staying awake",
"tooltip-format-deactivated": "Might sleep....",
}, },
"pulseaudio": { "pulseaudio": {
"format": "{volume}% {icon}", "format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "", "format-muted": "",
"format-icons": { "format-icons": {
"headphones": "", "default": ["", ""]
"headset": "",
"phone": "",
"portable": "",
"default": ["", ""],
}, },
"on-click": "pavucontrol", "on-click": "pavucontrol"
}, },
"network": { "network": {
"format-wifi": " ({bandwidthDownBits})", "format-wifi": " ({bandwidthDownBits})",
"format-ethernet": " ({bandwidthDownBits})", "format-ethernet": " ({bandwidthDownBits})",
"format-disconnected": "Disconnected ⚠", "format-disconnected": "Disconnected ⚠",
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"on-click": "nm-connection-editor" "on-click": "nm-connection-editor"
}, },
@@ -93,253 +58,20 @@
"format": "{}" "format": "{}"
}, },
"cpu": {
"format": "{usage}%  ",
"tooltip": false,
},
"memory": {
"format": "{percentage}%  ",
},
"temperature": {
"format": "{temperatureC}°C ",
"tooltip": false,
},
"tray": { "tray": {
"spacing": 10, "spacing": 10,
"icon-size": 14, "icon-size": 14
}, },
"clock": { "clock": {
"format": "{:%a, %d %b %Y - %H:%M}", "format": "{:%a, %d %b %Y - %H:%M}",
"tooltip": false, "tooltip": false
"on-click": "flatpak run eu.betterbird.Betterbird -calendar",
}, },
"battery": { "battery": {
"bat": "BAT0", "bat": "BAT0",
"states": {
"good": 95,
"warning": 30,
"critical": 15,
},
"format": "{capacity}% {icon}", "format": "{capacity}% {icon}",
"format-charging": "{capacity}% 󰂄", "format-charging": "{capacity}% 󰂄",
"format-plugged": "{capacity}%  ", "format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󱈏 "]
"format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󱈏 "], }
},
}
/* --- Hyprland palette (ported) --- */
@define-color base rgba(30, 30, 46, 1.0); /* 1e1e2eff */
@define-color inactive rgba(89, 89, 89, 0.667); /* 595959aa */
@define-color blue rgba(51, 204, 255, 0.933); /* 33ccffee */
@define-color green rgba(0, 255, 153, 0.933); /* 00ff99ee */
/* extra colors you referenced but didnt define */
@define-color text rgba(255, 255, 255, 1.0);
@define-color surface1 rgba(255, 255, 255, 0.08);
@define-color subtext1 rgba(255, 255, 255, 0.35);
@define-color red rgba(255, 0, 0, 0.90);
@define-color overlay1 rgba(255, 255, 255, 0.35);
@define-color yellow rgba(255, 215, 0, 0.95);
* {
font-family:
Aporetic Sans Mono,
FiraCode Nerd Font,
Iosevka Nerd Font,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 13px;
}
window#waybar {
background-color: transparent;
color: @text;
transition-property: background-color;
border-bottom: 0px solid rgba(0, 0, 0, 0);
transition-duration: 0.5s;
}
#custom-workspaces_content {
padding: 0px 1px;
min-width: 80px;
background-color: transparent;
color: @text;
border: 2px solid @inactive;
border-radius: 10px;
}
#custom-workspaces_content.active {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
font-weight: bold;
border: 1px solid transparent;
background:
linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15)) padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
#workspaces button:hover {
background-color: @surface1;
color: @text;
}
#custom-bluetooth {
display: inline-block;
width: 4ch; /* width in character units */
text-align: center;
overflow: visible; /* width in character units */
white-space: nowrap;
}
#clock,
#idle_inhibitor,
#battery,
#cpu,
#memory,
#temperature,
#network,
#pulseaudio,
#tray {
margin: 0 5px;
padding: 0 2px;
}
#idle_inhibitor.activated {
background-color: @green;
}
#battery.charging {
color: @green;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#network.disconnected {
background-color: @red;
}
#temperature.critical {
background-color: @red;
}
/* =========================================================
* Notifications
* ========================================================= */
#custom-notifications {
margin: 0 4px;
padding: 0 4px;
min-width: 0;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
/* =========================================================
* Hyprscroll overflow indicator (custom/workspaces_content)
* States: .ok, .overflow, .error
* ========================================================= */
/* Default (no overflow): subtle pill, still hoverable for tooltip */
#custom-workspaces_content.ok {
padding: 0px 1px;
min-width: 80px;
color: @subtext1;
border-radius: 10px;
/* subtle outline so you know it's there */
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.03);
}
/* Make it feel interactive (hover) */
#custom-workspaces_content.ok:hover {
color: @text;
background-color: @surface1;
border: 1px solid rgba(255, 255, 255, 0.18);
}
/* Overflow state: you already have this; keep it.
Optional: add hover tweak so it "pops" a bit. */
#custom-workspaces_content.overflow:hover {
background:
linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
/* Error state: clear but not screaming */
#custom-workspaces_content.error {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
border: 1px solid rgba(255, 0, 0, 0.55);
background: rgba(255, 0, 0, 0.15);
font-weight: bold;
}
/* Optional: if you keep .hidden in the script for any reason */
#custom-workspaces_content.hidden {
padding: 0;
margin: 0;
min-width: 0;
border: 0;
background: transparent;
opacity: 0;
}
[id^="custom-"] {
padding: 0 4px;
overflow: visible;
text-align: center;
} }