updated waybar + hypr rules

This commit is contained in:
2026-03-31 10:20:16 +02:00
parent 9dda38ceee
commit 1e811035a5
10 changed files with 162 additions and 325 deletions
+5
View File
@@ -104,3 +104,8 @@ ipc_socket = true
## Import additional configuration files.
import = ["~/.config/alacritty/colors.toml", "~/.config/alacritty/fonts.toml"]
[[keyboard.bindings]]
key = "Return"
mods = "Shift"
chars = "\u001B\r"
+19 -4
View File
@@ -1,13 +1,28 @@
include=~/.config/fuzzel/catppuccin-fuzzel/themes/catppuccin-mocha/red.ini
include=~/.config/fuzzel/catppuccin-fuzzel/themes/catppuccin-mocha/red.ini
[main]
font=FiraCode Nerd Font:size=14
terminal=alacritty
dpi-aware=no
prompt="> "
icon-theme=Papirus-Dark
show-actions=yes
width=45
lines=8
horizontal-pad=20
vertical-pad=20
inner-pad=10
prompt=" "
show-actions=no
layer=overlay
[border]
radius=4
radius=12
width=2
[colors]
background=1e1e2e80
# Matches the background so the counter becomes invisible for a cleaner look
counter=1e1e2eff
border=f38ba8ff
+2 -2
View File
@@ -1,5 +1,5 @@
wallpaper {
monitor =
path = ~/Pictures/mandelbrot.png
fit_mode = fill
path = ~/Pictures/reze/reze.png
fit_mode = cover
}
+1
View File
@@ -0,0 +1 @@
+3 -3
View File
@@ -13,7 +13,7 @@ general {
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
# col.active_border = rgba(cba6f7ee) rgba(f38ba8ee) 45deg
col.active_border = rgb($mauveAlpha) rgb($blueAlpha) 30deg
col.active_border = $red $blue 30deg
col.inactive_border = rgb($surface2Alpha)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
@@ -27,8 +27,8 @@ general {
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 4
rounding_power = 1
rounding = 12
rounding_power = 3
# Change transparency of focused and unfocused windows
active_opacity = 1.0
+12
View File
@@ -75,3 +75,15 @@ windowrule = no_blur 1, match:class $steam, match:title negative:^(Steam)$
# Allow tearing for games started with Gamescope
windowrule = immediate 1, match:class $gamescope
# Layer rules
# waybar blur
layerrule = blur on, match:namespace bottom
layerrule = blur on, match:namespace top
layerrule = ignore_alpha 0.5, match:namespace bottom
layerrule = ignore_alpha 0.5, match:namespace top
# launcher blur
layerrule = blur on, match:namespace launcher
layerrule = ignore_alpha 0.5, match:namespace launcher
+1
View File
@@ -17,6 +17,7 @@ x-scheme-handler/unknown=google-chrome.desktop
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop
x-scheme-handler/ror2mm=r2modman.desktop
image/webp=feh.desktop
x-scheme-handler/claude-cli=claude-code-url-handler.desktop
[Added Associations]
application/pdf=org.pwmt.zathura-pdf-poppler.desktop;
+29 -22
View File
@@ -45,7 +45,7 @@
"custom/gamemode": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs game",
"exec": "fluxo-rs game",
"on-click": "~/.config/hypr/scripts/gamemode.sh & disown",
"interval": 1
},
@@ -54,7 +54,7 @@
"custom/power_status": {
"format": "{} ",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs power",
"exec": "fluxo-rs power",
"on-click": "~/.config/hypr/scripts/powermenu.sh & disown",
"interval": 5
}
@@ -71,11 +71,18 @@
"modules-left": [
"custom/sys",
"custom/cpu",
"custom/mem",
"custom/network",
"group/hardware", // Replaced individual modules with a group
"custom/disk-root"
],
// Add the group definition anywhere in the bottom bar block:
"group/hardware": {
"orientation": "horizontal",
"modules": [
"custom/cpu",
"custom/mem",
"custom/network"
]
},
"modules-center": [
],
"modules-right": [
@@ -88,26 +95,26 @@
"custom/sys": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs sys",
"exec": "fluxo-rs sys",
"interval": 5
},
"custom/cpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs cpu",
"exec": "fluxo-rs cpu",
"on-click": "zenmonitor & disown",
"interval": 3
},
"custom/mem": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mem",
"exec": "fluxo-rs mem",
"interval": 3
},
"custom/network": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs net",
"exec": "fluxo-rs net",
"interval": 2
},
@@ -115,7 +122,7 @@
"custom/disk-root": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk /",
"exec": "fluxo-rs disk /",
"interval": 30
},
@@ -123,31 +130,31 @@
"custom/volume": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs vol",
"exec": "fluxo-rs vol",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-scroll-up": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+",
"on-scroll-down": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-",
"on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs vol --cycle",
"on-click-right": "fluxo-rs vol --cycle",
"on-click-middle": "pavucontrol",
"interval": 1
},
"custom/mic": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mic",
"exec": "fluxo-rs mic",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-",
"on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mic --cycle",
"on-click-right": "fluxo-rs mic --cycle",
"on-click-middle": "pavucontrol",
"interval": 1
},
"custom/bluetooth-audio": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt",
"on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt menu",
"on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt disconnect",
"exec": "fluxo-rs bt",
"on-click": "fluxo-rs bt menu",
"on-click-right": "fluxo-rs bt disconnect",
"interval": 3
}
@@ -156,22 +163,22 @@
"custom/gpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs gpu",
"exec": "fluxo-rs gpu",
"on-click": "lact gui & disown",
"interval": 3
},
"custom/btrfs": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs pool",
"exec": "fluxo-rs pool",
"interval": 30
},
"custom/pixelbuds_pro": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds",
"on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds connect & disown",
"on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds cycle_anc & disown",
"exec": "fluxo-rs buds",
"on-click": "fluxo-rs buds connect & disown",
"on-click-right": "fluxo-rs buds cycle_anc & disown",
"interval": 5
},
"custom/gpu-screen-recorder": {
-202
View File
@@ -1,202 +0,0 @@
// ~/.config/waybar/config.jsonc
{
"layer": "top",
"position": "top",
"height": 36,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [
],
"modules-right": [
// "custom/bluetooth-audio",
// "custom/pixelbuds_pro",
"custom/mem",
"custom/cpu",
"custom/gpu",
"custom/disk-root",
"custom/disk-gdrive",
"custom/disk-data",
"custom/disk-games",
// "network",
"custom/audio-output",
"wireplumber",
"tray",
"custom/gpu-screen-recorder",
"custom/gamemode",
"clock"
],
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate"
},
"hyprland/window": {
"format": "{}",
"max-length": 35
},
"clock": {
"format": "{:%a %d %b %H:%M}",
"format-alt": false,
"on-click-right": "xdg-open https://calendar.proton.me/u/0/month &> /dev/null & disown",
"tooltip": false,
},
"cpu": {
"format": "CPU: {usage}%",
"tooltip": true,
"interval": 1
},
"memory": {
"format": "MEM: {used}/{total}GB",
"interval": 3
},
"network": {
"format-wifi": "{essid} ({signalStrength}%): {ipaddr}",
"format-ethernet": "{ifname}: {ipaddr}",
"format-disconnected": "Disconnected",
"tooltip-format": "{ifname} via {gwaddr}"
},
"wireplumber": {
"format": "{volume}% {icon}",
"format-muted": "--- ",
"format-icons": {
"headphone": "",
"hands-free": "",
"default": ["", "", ""]
},
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-click-right": "~/.config/waybar/scripts/audio.sh cycle",
"on-click-middle": "pavucontrol",
"scroll-step": 1
},
"custom/bluetooth-audio": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/bluetooth_audio.sh",
"interval": 3,
"on-click": "~/.config/waybar/scripts/bluetooth_audio.sh disconnect & disown"
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": " Muted",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol & disown"
},
"tray": {
"icon-size": 18,
"spacing": 10
},
"custom/power": {
"format": "",
"tooltip": false,
"on-click": "~/.config/hypr/scripts/powermenu.sh & disown"
},
"custom/tlp": {
"format": "{}",
"exec": "~/.config/waybar/scripts/tlp-profile.sh",
"return-type": "json",
"interval": 5
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{capacity}%",
"format-charging": "{capacity}%",
"format-plugged": "{capacity}%",
"format-alt": "{time} {icon}",
"format-full": "{capacity}%",
"format-icons": ["", "", "", "", ""]
},
"custom/pixelbuds_pro": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/pixelbuds_pro_control.sh",
"interval": 5,
"on-click": "~/.config/waybar/scripts/pixelbuds_pro_control.sh connect & disown",
"on-click-right": "~/.config/waybar/scripts/pixelbuds_pro_control.sh cycle_anc & disown"
},
"custom/audio-output": {
"format": "{}",
"return-type": "json",
"exec": "/home/narl/.config/waybar/scripts/audio.sh show",
"on-click": "/home/narl/.config/waybar/scripts/audio.sh cycle & disown",
"interval": 1
},
"custom/gamemode": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/gamemode_status.sh",
"on-click": "~/.config/hypr/scripts/gamemode.sh & disown",
"interval": 1
},
"custom/gpu-screen-recorder": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/gpu-screen-recorder-status.sh",
"on-click-right": "~/.config/hypr/scripts/replay-ctrl.sh save & disown",
"on-click-middle": "nautilus ~/Videos/replay & disown",
"on-click": "~/.config/waybar/scripts/toggle-replay.sh & disown",
"interval": 1
},
"custom/gpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/gpu_info.sh",
"on-click": "lact gui & disown",
"interval": 3
},
"custom/cpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/cpu_info.sh",
"on-click": "zenmonitor & disown",
"interval": 3
},
"custom/mem": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/memory.sh",
"interval": 3
},
"custom/btrfs": {
"format": "{}",
"exec": "~/.config/waybar/scripts/btrfs.sh",
"return-type": "json",
"interval": 30
},
"custom/disk-root": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/disk_info.sh /",
"interval": 30
},
"custom/disk-gdrive": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/disk_info.sh ~/gdrive",
"interval": 30
},
"custom/disk-data": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/disk_info.sh ~/data",
"interval": 30
},
"custom/disk-games": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/scripts/disk_info.sh ~/games",
"interval": 30
}
}
+90 -92
View File
@@ -4,13 +4,11 @@
/* --- Global Reset --- */
* {
border: none;
border-radius: 0;
border-radius: 12px;
min-height: 0;
font-family:
JetBrainsMono Nerd Font,
monospace;
font-size: 13px;
transition: all 0.2s ease;
font-family: JetBrainsMono Nerd Font, sans-serif;
font-size: 12px;
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
/* --- Bar Background (Floating Island Style) --- */
@@ -19,32 +17,6 @@ window#waybar {
color: @text;
}
/* --- Shared Island Styling --- */
#workspaces,
#window,
#clock,
#tray,
#custom-sys,
#custom-cpu,
#custom-gpu,
#custom-mem,
#custom-network,
#custom-btrfs,
#custom-disk-root,
#custom-pixelbuds_pro,
#custom-bluetooth-audio,
#custom-volume,
#custom-mic,
#custom-gamemode,
#custom-gpu-screen-recorder,
#custom-power_status {
background-color: alpha(@surface0, 0.95);
margin: 4px 2px;
padding: 0 12px;
border-radius: 5px;
border: 1px solid alpha(@surface1, 0.5);
}
/* --- Top Bar Special Handling --- */
window#waybar.top {
margin-top: 6px;
@@ -55,33 +27,65 @@ window#waybar.bottom {
margin-bottom: 6px;
}
/* --- Shared Island Styling --- */
#workspaces,
#window,
#tray,
#custom-sys,
#hardware,
#custom-disk-root,
#custom-bluetooth-audio,
#custom-volume,
#custom-mic,
#custom-gamemode,
#custom-power_status {
background-color: alpha(@surface0, 0.8);
margin: 4px 6px;
padding: 4px 16px;
border: 1px solid alpha(@surface1, 0.5);
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
color: @text; /* Unifies all standard text to the soft Catppuccin white */
}
/* --- Workspaces --- */
#workspaces {
padding: 2px 8px;
}
#workspaces button {
padding: 0 8px;
margin: 4px 2px;
border-radius: 5px;
color: @subtext0;
background-color: transparent;
padding: 0;
margin: 4px;
min-width: 12px;
min-height: 12px;
background-color: @subtext0; /* Subtle dark gray for inactive */
color: transparent;
border-radius: 12px;
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
#workspaces button.active {
color: @blue;
background-color: @surface1;
}
#workspaces button.urgent {
color: @red;
min-width: 30px;
background-color: @mauve; /* Signature Catppuccin accent */
}
#workspaces button:hover {
background-color: @surface2;
color: @text;
background-color: @lavender;
min-width: 20px;
}
#workspaces button.urgent {
background-color: @red;
}
/* --- Clock (Centered Pill) --- */
#clock {
color: @red;
font-weight: bold;
background: linear-gradient(45deg, @mauve, @lavender); /* Cohesive pastel gradient */
color: @base;
font-weight: 900;
margin: 4px 6px;
padding: 4px 20px;
border-radius: 12px;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
}
/* --- Power Status --- */
@@ -90,86 +94,80 @@ window#waybar.bottom {
}
#custom-power_status.charging {
color: @green;
border-color: @green;
}
#custom-power_status.bat {
color: @blue;
}
#custom-power_status.warning {
color: @red;
color: @peach;
}
#custom-power_status.critical {
color: @red;
border-color: @red;
animation: blink 1s infinite alternate;
}
@keyframes blink {
to {
background-color: alpha(@red, 0.4);
color: @base;
background-color: @red;
}
}
/* --- Hardware Metrics (Left Bottom) --- */
#custom-sys {
color: @red;
}
#custom-cpu {
color: @blue;
}
#custom-mem {
color: @red;
}
#custom-network {
color: @blue;
/* --- Hardware Group (Left Bottom) --- */
#hardware {
border-radius: 24px;
padding: 4px 10px;
}
#custom-cpu.high,
#custom-mem.high {
color: @red;
/* Strip backgrounds and borders from the items inside the group */
#custom-cpu,
#custom-mem,
#custom-network {
background-color: transparent;
border: none;
box-shadow: none;
margin: 0;
padding: 0 8px;
}
#custom-cpu.max,
#custom-mem.max {
color: @red;
/* Subtle vertical separator line between them */
#custom-cpu,
#custom-mem {
border-right: 1px solid alpha(@surface1, 0.5);
border-radius: 0;
}
/* Hardware Semantic Alerts */
#custom-cpu.high, #custom-mem.high { color: @peach; }
#custom-cpu.max, #custom-mem.max { color: @red; }
/* --- Center Bottom Utilities --- */
#custom-gamemode {
color: @red;
}
#custom-gamemode.active {
color: @blue;
border-color: @blue;
color: @mauve; /* Matches the workspace accent */
padding-left: 9px;
}
/* --- Right Bottom Controls --- */
#custom-disk-root {
color: @blue;
}
#custom-volume {
color: @red;
}
#custom-mic {
color: @blue;
}
/* --- Right Bottom Controls Semantic Alerts --- */
#custom-volume.muted,
#custom-mic.muted {
color: @overlay0;
color: @overlay0; /* Dims when muted */
}
#custom-bluetooth-audio {
color: @blue;
/* --- Hover States --- */
#custom-volume:hover,
#custom-mic:hover,
#custom-bluetooth-audio:hover,
#custom-power_status:hover {
background-color: @surface1;
color: @mauve; /* Subtle accent color on hover instead of jarring borders */
}
/* --- Tooltip --- */
tooltip {
background-color: alpha(@base, 0.95);
background-color: alpha(@base, 0.9);
border: 1px solid @surface1;
border-radius: 5px;
border-radius: 8px;
}
tooltip label {
color: @text;
padding: 8px;
}