diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index e76e37a..e603cb6 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -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": "{icon}", + "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": "󰇘", - "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":"{class}", - "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": "{usage}󱉸", - "on-click": "foot btop" - }, - "memory": { - "format": "  \n{:2}󱉸" - }, - "disk": { - "interval": 600, - "format": " 󰋊 \n{percentage_used}󱉸", - "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": "󰂱", - "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": "{num_connections}", - "format-connected-battery": "{device_battery_percentage}%", - "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": "{icon}", - "format-icons": [ - "󰁻", - "󰁼", - "󰁾", - "󰂀", - "󰂂", - "󰁹" - ], - "tooltip-format": "{timeTo} {capacity} % | {power} W" - }, - "custom/battery_percentage": { - "format": "{}", - "exec": "cat /sys/class/power_supply/BAT*/capacity", - "interval": 10, - "tooltip": false - }, - "clock": { - "format": "{:%H\n%M}", - "tooltip-format": "{calendar}", - "calendar": { - "mode": "month", - "mode-mon-col": 3, - "weeks-pos": "right", - "on-scroll": 1, - "on-click-right": "mode", - "on-click": "swaync-client -t", - "format": { - "today": "{}" - } - } - }, - "power-profiles-daemon": { - "format": "{icon}", - "tooltip-format": "Power profile: {profile}\nDriver: {driver}", - "tooltip": true, - "format-icons": { - "default": "", - "performance": "", - "balanced": "", - "power-saver": "" - - } - }, - "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{temp_C}' --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": "{} ", - "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": "󰾪" - } - } } diff --git a/.config/waybar/style.css b/.config/waybar/style.css index d1b1bd1..202465e 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -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 }