New bar (WIP)

This commit is contained in:
Gu://em_ 2025-09-22 17:57:28 +02:00
parent 38a53acd48
commit 6b616b44dd
2 changed files with 171 additions and 784 deletions

View file

@ -1,504 +1,149 @@
{
"layer": "top",
"position": "right",
"margin": "1 1 1 2",
"reload_style_on_change": true,
"layer": "top",
"position": "bottom",
"height": 24,
"spacing": 5,
// Modules display
"modules-left": [
//"custom/updates",
"hyprland/workspaces",
"hyprland/submap"
//"group/info",
//"hyprland/window"
],
"modules-right": [
"custom/recorder",
"privacy",
"group/brightness",
"group/sound",
"group/connection",
"tray",
"group/together",
//"group/cnoti",
"group/power"
],
"modules-left": ["hyprland/workspaces"],
"modules-center": ["clock"],
"modules-right": ["tray", "idle_inhibitor", "group/network_grp", "group/audio"],
// Modules definition
"group/network_grp": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": true
},
"modules": [
"network",
"network#speed"
]
},
// Up
"group/audio": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": true
},
"modules": [
"pulseaudio",
"pulseaudio#mic",
"pulseaudio#volume",
]
},
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate",
"all-outputs": true,
"format-icons": {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10"
"hyprland/workspaces": {
"format": "<span size='larger'>{icon}</span>",
"on-click": "activate",
"format-icons": {
"active": "\uf444",
"default": "\uf4c3"
},
"icon-size": 10,
"sort-by-number": true,
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
}
},
"clock": {
"format": "{:%d.%m.%Y | %H:%M}"
},
//"wireplumber": {
// "format": "\udb81\udd7e {volume}%",
// "max-volume": 100,
// "scroll-step": 5
//},
"pulseaudio": {
"format": "{icon} ",
"format-bluetooth": "{icon}",
"tooltip-format": "{volume}% {icon} | {desc}",
"format-muted": "󰖁",
"format-icons": {
"headphones": "",
"handsfree": "󱡏",
"headset": "",
"phone": "",
"portable": "",
"car": " ",
"default": [
"󰕿",
"󰖀",
"󰕾"
]
},
"on-click": "volume mute",
//"on-click-middle": "pavucontrol",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%",
"smooth-scrolling-threshold": 1
},
"pulseaudio#volume": {
"format": " {volume}% "
},
// TODO missing
"pulseaudio#mic": {
"format": "{format_source}",
"format-source": "󰍬",
"format-source-muted": "󰍭",
"tooltip-format": "{volume}% {format_source} ",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+"
},
"memory": {
"interval": 30,
"format": "\uf4bc {used:0.1f}G"
},
"temperature": {
"format": "{temperatureC}°C"
},
"network": {
"format": "",
"format-ethernet": "\udb83\udc9d",
"format-wifi": "{icon}",
"format-disconnected": "\udb83\udc9c",
"format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"],
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}",
"tooltip-format-disconnected": "Disconnected",
},
"network#speed": {
"format": "{bandwidthDownBits}",
"interval": 5,
"tooltip-format": "{ipaddr}",
"tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon}",
"tooltip-format-disconnected": "Disconnected",
"tooltip": true
},
"hyprland/language": {
"format": "{short}"
},
"tray": {
"icon-size": 16,
"spacing": 16
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "\udb80\udd76",
"deactivated": "\udb83\udfaa"
}
}
},
"hyprland/submap": {
"format": "<b>󰇘</b>",
"max-length": 8,
"tooltip": true
},
"group/info": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"custom/dmark",
"group/gcpu",
"memory",
"disk",
"hyprland/window"
]
},
"hyprland/window": {
"orientation": "vertical",
"format":"<span weight='bold' >{class}</span>",
"spearate-outputs": true,
"icon": false
},
"custom/dmark": {
"format": "",
"tooltip": false
},
"group/gcpu": {
"orientation": "inherit",
"modules": [
"custom/cpu-icon",
"custom/cputemp",
"cpu"
]
},
"custom/cpu-icon": {
"format": "󰻠",
"tooltip": false
},
"custom/cputemp": {
"format": "{}",
"exec": "~/.config/waybar/bin/cputemp",
"interval": 10,
"return-type": "json"
},
"cpu": {
"format": "<b>{usage}󱉸</b>",
"on-click": "foot btop"
},
"memory": {
"format": "<b>  \n{:2}󱉸</b>"
},
"disk": {
"interval": 600,
"format": "<b> 󰋊 \n{percentage_used}󱉸</b>",
"path": "/"
},
// Bottom
"custom/recorder": {
"format": "{}",
"interval": "once",
"exec": "echo ''",
"tooltip": "false",
"exec-if": "pgrep 'wl-screenrec'",
"on-click": "recorder",
"signal": 4
},
"privacy": {
"orientation": "vertical",
"icon-spacing": 4,
"icon-size": 14,
"transition-duration": 250,
"modules": [
{
"type": "screenshare",
"tooltip": true,
"tooltip-icon-size": 24
}
]
},
"group/brightness": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"backlight"
//"backlight/slider"
]
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"format-icons": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"on-scroll-down": "brightnessctl s 5%-",
"on-scroll-up": "brightnessctl s +5%",
"tooltip": true,
"tooltip-format": "Brightness: {percent}% ",
"smooth-scrolling-threshold": 1
},
"backlight/slider": {
"min": 1,
"max": 100,
"orientation": "vertical",
"device": "intel_backlight"
},
"group/sound": {
"orientation": "inherit",
"modules": [
"group/audio",
"custom/notifications"
]
},
"group/audio": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"pulseaudio",
"pulseaudio#mic",
"pulseaudio/slider"
]
},
"group/cnoti": {
"orientation": "inherit",
"modules": [
"custom/github"
]
},
"group/connection": {
"orientation": "inherit",
"modules": [
//"custom/vpn",
"custom/hotspot",
"group/network"
//"group/bluetooth"
]
},
"group/together": {
"orientation": "inherit",
"modules": [
"group/utils",
"clock"
]
},
"group/utils": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"custom/mark",
"custom/weather",
"custom/colorpicker",
"custom/hyprshade",
"idle_inhibitor"
//"custom/hyprkill"
]
},
"group/network": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"network",
"network#speed"
]
},
"group/bluetooth": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"bluetooth",
"bluetooth#status"
]
},
"group/battery": {
"orientation":"vertical",
"modules": [
"battery",
"custom/battery_percentage",
]
},
"group/power": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"group/battery",
"power-profiles-daemon",
]
},
"tray": {
"icon-size": 18,
"spacing": 10
},
"pulseaudio": {
"format": "{icon}",
"format-bluetooth": "{icon}",
"tooltip-format": "{volume}% {icon} | {desc}",
"format-muted": "󰖁",
"format-icons": {
"headphones": "",
"handsfree": "󱡏",
"headset": "",
"phone": "",
"portable": "",
"car": " ",
"default": [
"󰕿",
"󰖀",
"󰕾"
]
},
"on-click": "volume mute",
//"on-click-middle": "pavucontrol",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%",
"smooth-scrolling-threshold": 1
},
"pulseaudio#mic": {
"format": "{format_source}",
"format-source": "󰍬",
"format-source-muted": "󰍭",
"tooltip-format": "{volume}% {format_source} ",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+"
},
"pulseaudio/slider": {
"min": 0,
"max": 100,
"orientation": "vertical"
},
"network": {
"format": "{icon}",
"format-icons": {
"wifi": [
"󰤨"
],
"ethernet": [
""
],
"disconnected": [
"󰤮"
]
},
"format-wifi": "󰤨",
"format-ethernet": "",
"format-disconnected": "󰤮",
"format-linked": "󰈁",
"tooltip": false,
//"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu"
"on-click": "kitty nmtui"
},
"network#speed": {
"format": " {bandwidthDownBits} ",
"rotate": 90,
"interval": 5,
"tooltip-format": "{ipaddr}",
"tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-disconnected": "Not Connected to any type of Network",
"tooltip": true,
"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu"
},
"bluetooth": {
"format-on": "󰂯",
"format-off": "󰂲",
"format-disabled": "",
"format-connected": "<b>󰂱</b>",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
//"on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i"
"on-click": "toggle-bluetooth"
},
"bluetooth#status": {
"format-on": "",
"format-off": "",
"format-disabled": "",
"format-connected": "<b>{num_connections}</b>",
"format-connected-battery": "<small><b>{device_battery_percentage}%</b></small>",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
"on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i"
},
"battery": {
"rotate": 270,
"states": {
"good": 95,
"warning": 16,
"critical": 8
},
"format": "{icon}",
"interval": 1,
"format-charging": "󰂄",
"format-full": "<span color='#82A55F'><b>{icon}</b></span>",
"format-icons": [
"󰁻",
"󰁼",
"󰁾",
"󰂀",
"󰂂",
"󰁹"
],
"tooltip-format": "{timeTo} {capacity} % | {power} W"
},
"custom/battery_percentage": {
"format": "<b>{}</b>",
"exec": "cat /sys/class/power_supply/BAT*/capacity",
"interval": 10,
"tooltip": false
},
"clock": {
"format": "{:%H\n%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"on-click": "swaync-client -t",
"format": {
"today": "<span color='#a6e3a1'><b><u>{}</u></b></span>"
}
}
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "<span color='#B37F34'><small></small></span>",
"balanced": "<span><small> </small></span>",
"power-saver": "<span color='#a6e3a1'><small></small></span>"
}
},
"custom/hyprshade": {
"format": "{}",
"tooltip": true,
"signal": 11,
"exec": "toggle-hyprshade status",
"on-click": "toggle-hyprshade",
"return-type": "json"
},
"custom/weather": {
"format": "{}",
"tooltip": true,
"interval": 3600,
"exec": "wttrbar --custom-indicator '{ICON}\n<b>{temp_C}</b>' --location noida",
"return-type": "json"
},
"custom/updates": {
"format": "{}",
"interval": 10800,
"exec": "~/.config/waybar/bin/updatecheck",
"return-type": "json",
"exec-if": "exit 0",
"signal": 8
},
"custom/vpn": {
"format": "{} ",
"exec": "~/.config/waybar/bin/vpn",
"return-type": "json",
"interval": 5
},
"custom/hotspot": {
"format": "{} ",
"exec": "~/.config/waybar/bin/hotspot",
"return-type": "json",
"on-click": "hash wihotspot && wihotspot",
"interval": 5
},
"custom/mark": {
"format": "",
"tooltip": false
},
"custom/colorpicker": {
"format": "{}",
"interval": "once",
"on-click": "hyprpicker",
"signal": 1
},
"custom/hyprkill": {
"format": "{}",
"interval": "once",
"exec": "echo '󰱝\nKill clients using hyrpctl kill'",
"on-click": "sleep 1 && hyprctl kill"
},
"custom/notifications": {
"format": "<b>{}</b> ",
"exec": "noti-cycle -j",
"on-click": "noti-cycle",
"on-click-right": "noti-cycle rofi",
"return-type": "json",
"interval": "once",
"signal": 2
},
"custom/github": {
"format": "{}",
"return-type": "json",
"interval": 3600,
"signal": 9,
"exec": "$HOME/.config/waybar/bin/github.sh",
"on-click": "xdg-open https://github.com/notifications;pkill -RTMIN+9 waybar"
},
"idle_inhibitor": {
"format": "{icon}",
"tooltip-format-activated": "Idle Inhibitor is active",
"tooltip-format-deactivated": "Idle Inhibitor is not active",
"format-icons": {
"activated": "󰅶",
"deactivated": "󰾪"
}
}
}

View file

@ -1,310 +1,52 @@
@import "colors.css";
@define-color active @foreground;
@define-color foreground #eeeeee;
@define-color foreground-inactive #aaaaaa;
@define-color background #000000;
* {
font-size: 17px;
font-family: "JetBrainsMono Nerd Font Propo";
min-width: 8px;
min-height: 0px;
border: none;
border-radius: 0;
box-shadow: none;
text-shadow: none;
padding: 0px;
font-family: JetBrainsMono Nerd Font Propo;
font-size: 17px;
padding: 0;
margin: 0;
}
window#waybar {
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 4px;
border: 1px solid alpha(@active, 0.2);
background: @background;
background: alpha(@background, 0.7);
color: @foreground;
}
menu,
tooltip {
border-radius: 2px;
padding: 2px;
border: 1px solid @active;
background: @background;
color: @foreground;
}
menu label,
tooltip label {
font-size: 14px;
color: @foreground;
}
#submap,
#tray>.needs-attention {
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
.modules-right {
margin: 0px 6px 4px 6px;
border-radius: 4px;
background: alpha(@background, 0);
color: @foreground;
}
.modules-left {
transition-property: background-color;
transition-duration: 0.5s;
margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */
border-radius: 4px;
background: alpha(@background, 0.5);
color: @foreground;
border: 1px solid alpha(@active, 0.1);
}
#gcpu,
#custom-github,
#memory,
#disk,
#together,
#submap,
#custom-weather,
#custom-recorder,
#connection,
#cnoti,
#brightness,
#power,
#custom-updates,
#tray,
/*#audio,*/ /* Duplicate with #sound */
#sound,
#privacy { /*Controls all the right modules for some reason*/
border-radius: 0.15em;
margin: 2px 1px 3px 1px;
background: alpha(darker(@active), 0.25);
border: 1px solid alpha(darker(@active), 0.0);
}
/* Override specific parameters*/
#brightness,
#sound {
padding: 1px 0px;
}
#custom-notifications {
padding-left: 4px;
}
#custom-hotspot,
#custom-github,
#custom-notifications {
font-size: 14px;
}
#custom-hotspot {
padding-right: 2px;
}
#custom-vpn,
#custom-hotspot {
background: alpha(darker(@active), 0.3);
}
#privacy-item {
padding: 6px 0px 6px 6px;
}
#gcpu {
padding: 8px 0px 8px 0px;
}
#custom-cpu-icon {
font-size: 25px;
}
#custom-cputemp,
#disk,
#memory,
#cpu {
font-size: 14px;
font-weight: bold;
}
#custom-github {
padding-top: 2px;
padding-right: 4px;
}
#custom-dmark {
color: alpha(@foreground, 0.3);
}
#submap {
margin-bottom: 0px;
}
#workspaces {
margin: 0px 2px;
padding: 2px 0px;
border-radius: 8px;
#waybar {
color: @foreground;
background-color: @background;
}
#workspaces button {
transition-property: background-color;
transition-duration: 0.1s;
color: @foreground;
background: transparent;
border-radius: 4px;
color: alpha(@foreground, 0.3);
padding: 2px 0px;
color: @foreground;
padding: 0 0.2em;
}
#workspaces button.urgent {
font-weight: bold;
color: @foreground;
#workspaces button.empty {
color: @foreground-inactive;
}
#workspaces button.active {
padding: 2px 0px;
background: alpha(@active, 0.4);
color: @foreground;
border-radius: 2px;
}
#network.wifi {
margin: 2px;
}
#network.disconnected {
margin: 2px;
}
#network.ethernet {
margin: 2px;
}
#submap {
min-width: 0px;
margin: 4px 6px 4px 6px;
}
#custom-weather,
#tray {
padding: 4px 0px 4px 0px;
}
#bluetooth {
padding-top: 2px;
}
#group-battery {
/* border-radius: 8px; */
/* padding: 4px 0px; */
margin: 4px 2px 4px 2px;
#memory,
#wireplumber,
#audio,
#custom-battery_percentage,
#idle_inhibitor,
#language,
#network,
#bluetooth
{
padding-right: 1em
}
#battery {
font-size: 1.5rem;
border-radius: 3px;
padding: 4px 0px;
margin: 0 0px;
padding-right: 0.3em
}
#battery.charging {
color: @charging;
#tray {
padding-right: 0.5em
}
#battery.discharging.warning {
background-color: #cf9022;
/*animation-name: blink-yellow;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate; */
}
#battery.discharging.critical {
background-color: #c64d4f;
/*animation-name: blink-red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;*/
}
#custom-battery_percentage {
font-size: 1.1rem;
border-radius: 100px;
/* padding: 0 2px; */
margin: 1px 0;
/* margin: 4px 2px 4px 2px; */
}
#clock {
font-weight: bold;
padding: 4px 2px 2px 2px;
#network_grp {
padding: 0em
}
#pulseaudio.mic {
border-radius: 4px;
color: @foreground;
padding-left: 2px;
}
#backlight-slider slider,
#pulseaudio-slider slider {
background-color: transparent;
box-shadow: none;
}
#backlight-slider trough,
#pulseaudio-slider trough {
margin-top: 4px;
min-width: 6px;
min-height: 60px;
border-radius: 8px;
background-color: alpha(@background, 0.6);
}
#backlight-slider highlight,
#pulseaudio-slider highlight {
border-radius: 8px;
background-color: @foreground;
}
#bluetooth.discoverable,
#bluetooth.discovering,
#bluetooth.pairable {
border-radius: 8px;
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink-active {
to {
background-color: @active;
color: @foreground;
}
}
@keyframes blink-red {
to {
background-color: #c64d4f;
color: @foreground;
}
}
@keyframes blink-yellow {
to {
background-color: #cf9022;
color: @foreground;
}
padding-left: .7em
}