diff --git a/.config/waybar/config b/.config/waybar/config index 0f03d7e..6026047 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -2,175 +2,49 @@ "layer": "top", "position": "top", "margin-bottom": -10, + "margin-top": 5, "spacing" : 0, + "modules-left": [ - "hyprland/workspaces", - "custom/uptime", - "cpu", - "tray" + "clock", + "cpu" ], - "modules-center": ["clock"], + "modules-center": ["hyprland/workspaces"], "modules-right": [ - "custom/music", - "bluetooth", - "network", + "tray", "pulseaudio", - "backlight", - "battery", + "custom/power" ], "hyprland/workspaces": { - "format": "{icon} {windows}", - "format-window-separator": " ", - "all-outputs": true, - "persistent-workspaces": { - "*": 5 + "format": "{name}: {icon}", + "format-icons": { + "active": "", + "default": "" + } + }, + + "tray":{ + "spacing" : 10 }, - "window-rewrite-default": " ", - "window-rewrite": { - "title<.*amazon.*>": " ", - "title<.*reddit.*>": " ", - "class": " ", - "class": "󰰷 ", - "class": " ", - "class": " ", - "class": " ", - "class": "🦁 ", - "class": " ", - "class": "🦊 ", - - "class": " ", - "class": " ", - "class": " ", - "class": " ", - - "class<[Tt]hunderbird|[Tt]hunderbird-esr>": " ", - "class": " ", - "title<.*gmail.*>": "󰊫 ", - - "class<[Tt]elegram-desktop|org.telegram.desktop|io.github.tdesktop_x64.TDesktop>": " ", - "class": " ", - "title<.*whatsapp.*>": " ", - "title<.*zapzap.*>": " ", - "title<.*messenger.*>": " ", - "title<.*facebook.*>": " ", - "title<.*reddit.*>": " ", - - - - "title<.*youtube.*>": " ", - "class": "󰕼 ", - "title<.*cmus.*>": " ", - "class<[Ss]potify>": " ", - "class": "󰚺 ", - - "class": " ", - "class<.virt-manager-wrapped>": " ", - "class": "💽 ", - "title": "💽 ", - "class": "🖥️ ", - - "class": "󰨞 ", - "class": "󰵁", - "class": "󰅩 ", - "title<.*github.*>": " ", - "class": " ", - "class": " ", - "class": "󰏆 ", - "class": " ", - "title<.*nvim ~.*>": " ", - "title<.*vim.*>": " ", - "title<.*nvim.*>": " ", - "title<.*figma.*>": " ", - "title<.*jira.*>": " ", - "class": " ", - "class": " ", - - "class": "󰒃 ", - "class": " ", - "class<[Pp]avucontrol|org.pulseaudio.pavucontrol>": "󱡫 ", - "class": " ", - "class": "󰝰 ", - "class":"", - "class": " ", - "class": "📱 ", - "class": " ", - "class": "󰓃", - "class":"", - "class": "󰹛", - } - }, - - "bluetooth": { - "format": "󰂲", - "format-on": "{icon}", - "format-off": "{icon}", - "format-connected":"{icon}", - "format-icons":{ - "on":"󰂯", - "off": "󰂲", - "connected": "󰂱", - }, - "on-click": "blueman-manager", - "tooltip-format-connected":"{device_enumerate}" - }, - - "custom/music": { - "format": " {}", - "escape": true, - "interval": 5, - "tooltip": false, - "exec": "playerctl metadata --format='{{ artist }} - {{ title }}'", - "on-click": "playerctl play-pause", - "max-length": 50 - }, "clock": { "timezone": "Europe/Dublin", "tooltip": false, - "format": "{:%H:%M:%S | %a %d %b}", + "format": "{:%H:%M:%S - %A, %d}", "interval": 1 }, - "network": { - "format-wifi": "󰤢", - "format-ethernet": "󰈀 ", - "format-disconnected": "󰤠 ", - "interval": 5, - "tooltip-format": "{essid} ({signalStrength}%)", - "on-click": "nm-connection-editor" - - }, - "cpu": { "interval": 1, "format": " {icon0}{icon1}{icon2}{icon3} {usage:>2}%", "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"], - "on-click": "ghostty -e htop" }, - "memory": { - "interval": 30, - "format": " {used:0.1f}G/{total:0.1f}G", - "tooltip-format": "Memory" - }, - "custom/uptime": { - "format": "{}", - "format-icon": [""], - "tooltip": false, - "interval": 1600, - "exec": "$HOME/.config/waybar/scripts/uptime.sh" - }, - - "backlight": { - "format": "{icon} {percent}%", - "format-icons": ["","󰃜", "󰃛", "󰃞","󰃝","󰃟","󰃠"], - "tooltip": false - }, "pulseaudio": { "format": "{icon} {volume}%", @@ -178,31 +52,14 @@ "format-icons": { "default": ["", "", " "] }, - "on-click": "pavucontrol" - }, - - "battery": { - "interval":2, - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-full": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-alt": "{icon} {time}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - - "custom/lock": { - "tooltip": false, - "on-click": "sh -c '(sleep 0s; hyprlock)' & disown", - "format" : "" + "on-click": "pamixer -t", + "on-click-right": "pavucontrol" }, + "custom/power":{ + "format": "⏻", + "tooltip": false, + "on-click": "wlogout" + }, } diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 124b18a..99f579a 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,8 +1,13 @@ +@define-color Buttons #262522; +@define-color Buttonshover #4d4a44; +@define-color Text #A69F92; + + /* --- Global Styles --- */ * { font-family: 'SF Pro Text', 'Inter', 'Segoe UI, NotoSans Nerd Font', sans-serif; - font-size: 13px; - min-height: 0; + font-size: 14px; + min-height: 25px; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; @@ -18,13 +23,11 @@ /* --- Left Modules (Individual, Fully Rounded Blocks - With Horizontal Spacing & Simple Hover) --- */ #workspaces, -#custom-uptime, -#custom-music, #cpu { - background-color: #1a1b26; + background-color: @Buttons; padding: 0.3rem 0.7rem; margin: 5px 0px; /* 5px top/bottom margin, 0px left/right (base for individual control) */ - border-radius: 6px; /* These modules are always rounded */ + border-radius: 10px; /* These modules are always rounded */ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); min-width: 0; border: none; @@ -33,24 +36,19 @@ } #workspaces { - padding: 2px; - margin-left: 7px; /* Margin from the far left edge */ - margin-right: 5px; /* Spacing after the workspaces module */ + padding: 0px; + border-radius: 10px; } -#custom-uptime { - margin-right: 5px; /* Spacing after the uptime module */ -} /* Simple Hover effects for individual left modules - BRIGHTER COLOR */ -#custom-uptime:hover, #cpu:hover { - background-color: rgb(41, 42, 53); /* Brighter highlight */ + background-color: @Buttonshover; /* Brighter highlight */ } #workspaces button { - color: #babbf1; - border-radius: 5px; /* Workspaces buttons are always rounded */ + color: @Text; + border-radius: 10px; /* Workspaces buttons are always rounded */ padding: 0.3rem 0.6rem; background: transparent; transition: all 0.2s ease-in-out; @@ -59,81 +57,40 @@ } #workspaces button.active { - color: #99d1db; + color: @Text; background-color: rgba(153, 209, 219, 0.1); - box-shadow: inset 0 0 0 1px rgba(153, 209, 219, 0.2); } #workspaces button:hover { - background: rgb(41, 42, 53); /* Reference bright hover color */ - color: #c6d0f5; + background: @Buttonshover; /* Reference bright hover color */ + color: @Text; } /* --- Center Module (Individual, Fully Rounded Block - With Simple Hover) --- */ #clock { - background-color: #1a1b26; + background-color: @Buttons; padding: 0.3rem 0.7rem; margin: 5px 0px; - border-radius: 6px; /* This module is always rounded */ - box-shadow: 0 1px 3px rgba(153, 209, 219, 0.2); + margin-left: 20px; + margin-right: 10px; + border-radius: 10px; /* This module is always rounded */ min-width: 0; border: none; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; } + /* Simple Hover effect for clock module - BRIGHTER COLOR */ #clock:hover { - background-color: rgba(153, 209, 219, 0.1); /* Brighter highlight */ -} - -#custom-pomodoro { - background-color: #1a1b26; /* Consistent dark background */ - padding: 0.3rem 0.7rem; /* Consistent padding with other modules (e.g., cpu, uptime) */ - margin: 5px 0px; /* 5px top/bottom margin, 0px left/right (base for individual control) */ - border-radius: 6px; /* Consistent rounded corners with other individual modules */ - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* Consistent shadow */ - min-width: 0; - border: none; - outline: none; /* Ensure no default outline */ - /* Transition for background-color, color, outline, and box-shadow for smooth effect */ - transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, outline 0.2s ease-in-out, box-shadow 0.2s ease-in-out; - color: #babbf1; /* A calm color, consistent with custom-uptime */ - font-weight: 600; /* Slightly bolder for the timer, consistent with clock */ -} - -/* Positioning and spacing for the custom-pomodoro module */ -#custom-pomodoro { - margin-left: 5px; /* Spacing from the previous module (e.g., clock) */ - margin-right: 5px; /* Spacing before the seamless right bar starts (e.g., bluetooth) */ -} - -/* Hover effect for the new pomodoro module (consistent with others + rectangular outline) */ -#custom-pomodoro:hover { - background-color: rgb(41, 42, 53); /* Brighter highlight, consistent with other individual modules */ - color: #c6d0f5; /* Text color change on hover, consistent with other individual modules */ - outline: 1px solid rgba(255, 255, 255, 0.1); /* Rectangular outline on hover */ - outline-offset: -1px; -} - -/* --- Highlighted state for Pomodoro module when running (work or break) --- */ -#custom-pomodoro.work, -#custom-pomodoro.break { - color: #99d1db; /* Text color consistent with active workspaces button */ - background-color: rgba(153, 209, 219, 0.1); /* Background color consistent with active workspaces button */ - box-shadow: inset 0 0 0 1px rgba(153, 209, 219, 0.2); /* Inner shadow for outline effect */ - outline: none; + background-color: @Buttonshover; /* Brighter highlight */ } /* --- Right Modules (Single, Seamless Bar ) --- */ -#bluetooth, -#pulseaudio, -#backlight, -#network, -#custom-lock, -#battery { - background-color: #1a1b26; +#pulseaudio { + background-color: @Buttons; padding: 0.3rem 0.7rem; - margin: 5px 0px; + margin: 5px 0px; + margin-right: 10px; border-radius: 0; box-shadow: none; min-width: 0; @@ -141,75 +98,60 @@ transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; } -#bluetooth:hover, -#pulseaudio:hover, -#backlight:hover, -#network:hover, -#custom-lock:hover, -#battery:hover { - background-color: rgb(41, 42, 53); +#custom-power:hover, +#pulseaudio:hover { + background-color: @Buttonshover; } -#bluetooth { - margin-left: 0px; - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -#battery { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - margin-right: 7px; -} - -#custom-uptime { - color: #babbf1; -} #cpu { - color: #c6d0f5; + color: @Text; } #clock { - color: #99d1db; + color: @Text; font-weight: 500; } #pulseaudio { - color: #c6d0f5; -} -#backlight { - color: #c6d0f5; + background-color: @Buttons; + color: @Text; + border-radius: 10px; } -#network { - color: #c6d0f5; +#tray { + background-color: @Buttons; + color: @Text; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + border-bottom-right-radius: 10px; + border-bottom-left-radius: 10px; + padding: 0.3rem 0.7rem; + margin: 5px 0px; + margin-right: 10px; + } -#network.disconnected { - color: #e78284; -} - -#custom-lock { - color: #babbf1; -} -#bluetooth { - color: #888888; - font-size: 16px; -} -#bluetooth.on { - color: #2196f3; -} -#bluetooth.connected { - color: #99d1db; -} #battery { - color: #99d1db;; + color: @Text; } #battery.charging { - color: #a6d189; + color: @Text; } #battery.warning:not(.charging) { - color: #e78284; + color: @Text; +} + +#custom-power{ + background-color: @Buttons; + color: @Text; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + border-bottom-right-radius: 10px; + border-bottom-left-radius: 10px; + padding: 0.3rem 0.7rem; + margin: 5px 0px; + margin-right: 20px; + transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; } /* --- Tooltip Styles --- */