From 3d18770151b0ff5fd2a488cceb8ef9103cbb7421 Mon Sep 17 00:00:00 2001 From: huyjaky Date: Sun, 20 Oct 2024 13:32:06 +0700 Subject: [PATCH] custom-hypr - add config waybar hyde --- .config/waybar/Goal /config.jsonc | 217 +++++++++++++ .config/waybar/Goal /style.css | 175 ++++++++++ .config/waybar/config.ctl | 25 ++ .config/waybar/config.jsonc | 341 ++++++++++++++++++++ .config/waybar/modules/backlight.jsonc | 10 + .config/waybar/modules/battery.jsonc | 14 + .config/waybar/modules/bluetooth.jsonc | 15 + .config/waybar/modules/cava.jsonc | 6 + .config/waybar/modules/cliphist.jsonc | 11 + .config/waybar/modules/clock.jsonc | 25 ++ .config/waybar/modules/cpu.jsonc | 8 + .config/waybar/modules/cpuinfo.jsonc | 10 + .config/waybar/modules/footer.jsonc | 47 +++ .config/waybar/modules/gpuinfo.jsonc | 41 +++ .config/waybar/modules/header.jsonc | 13 + .config/waybar/modules/idle_inhibitor.jsonc | 9 + .config/waybar/modules/keybindhint.jsonc | 6 + .config/waybar/modules/language.jsonc | 6 + .config/waybar/modules/memory.jsonc | 18 ++ .config/waybar/modules/mpris.jsonc | 16 + .config/waybar/modules/network.jsonc | 13 + .config/waybar/modules/notifications.jsonc | 29 ++ .config/waybar/modules/power.jsonc | 10 + .config/waybar/modules/privacy.jsonc | 18 ++ .config/waybar/modules/pulseaudio.jsonc | 35 ++ .config/waybar/modules/spotify.jsonc | 15 + .config/waybar/modules/style.css | 151 +++++++++ .config/waybar/modules/taskbar.jsonc | 18 ++ .config/waybar/modules/theme.jsonc | 11 + .config/waybar/modules/tray.jsonc | 6 + .config/waybar/modules/updates.jsonc | 10 + .config/waybar/modules/wallchange.jsonc | 11 + .config/waybar/modules/wbar.jsonc | 11 + .config/waybar/modules/window.jsonc | 17 + .config/waybar/modules/workspaces.jsonc | 13 + .config/waybar/style.css | 178 ++++++++++ .config/waybar/theme.css | 10 + 37 files changed, 1569 insertions(+) create mode 100644 .config/waybar/Goal /config.jsonc create mode 100644 .config/waybar/Goal /style.css create mode 100644 .config/waybar/config.ctl create mode 100644 .config/waybar/config.jsonc create mode 100644 .config/waybar/modules/backlight.jsonc create mode 100644 .config/waybar/modules/battery.jsonc create mode 100644 .config/waybar/modules/bluetooth.jsonc create mode 100644 .config/waybar/modules/cava.jsonc create mode 100644 .config/waybar/modules/cliphist.jsonc create mode 100644 .config/waybar/modules/clock.jsonc create mode 100644 .config/waybar/modules/cpu.jsonc create mode 100644 .config/waybar/modules/cpuinfo.jsonc create mode 100644 .config/waybar/modules/footer.jsonc create mode 100644 .config/waybar/modules/gpuinfo.jsonc create mode 100644 .config/waybar/modules/header.jsonc create mode 100644 .config/waybar/modules/idle_inhibitor.jsonc create mode 100644 .config/waybar/modules/keybindhint.jsonc create mode 100644 .config/waybar/modules/language.jsonc create mode 100644 .config/waybar/modules/memory.jsonc create mode 100644 .config/waybar/modules/mpris.jsonc create mode 100644 .config/waybar/modules/network.jsonc create mode 100644 .config/waybar/modules/notifications.jsonc create mode 100644 .config/waybar/modules/power.jsonc create mode 100644 .config/waybar/modules/privacy.jsonc create mode 100644 .config/waybar/modules/pulseaudio.jsonc create mode 100644 .config/waybar/modules/spotify.jsonc create mode 100644 .config/waybar/modules/style.css create mode 100644 .config/waybar/modules/taskbar.jsonc create mode 100644 .config/waybar/modules/theme.jsonc create mode 100644 .config/waybar/modules/tray.jsonc create mode 100644 .config/waybar/modules/updates.jsonc create mode 100644 .config/waybar/modules/wallchange.jsonc create mode 100644 .config/waybar/modules/wbar.jsonc create mode 100644 .config/waybar/modules/window.jsonc create mode 100644 .config/waybar/modules/workspaces.jsonc create mode 100644 .config/waybar/style.css create mode 100644 .config/waybar/theme.css diff --git a/.config/waybar/Goal /config.jsonc b/.config/waybar/Goal /config.jsonc new file mode 100644 index 0000000..93b2a77 --- /dev/null +++ b/.config/waybar/Goal /config.jsonc @@ -0,0 +1,217 @@ +// -*- mode: jsonc -*- +[{ + "output": ["DP-1", "eDP-2"], + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 24, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 8, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces", + "cava", + "sway/mode", + "sway/scratchpad" + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ + "mpris", + "idle_inhibitor", + "load", + "wireplumber", + "backlight", + "clock", + "battery", + "tray" + ], + // Modules configuration + "sway/workspaces": { + "all-outputs": true, + "warp-on-scroll": false, + "enable-bar-scroll": true, + "disable-scroll-wraparound": true, + "format": "{icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "9": "", + "10": "" + } + }, + "sway/window": { + "format": "{title}", + "max-length": 60, + "all-outputs": true + }, + "cava": { + // "cava_config": "$XDG_CONFIG_HOME/cava/cava.conf", + "framerate": 30, + "autosens": 1, + "bars": 14, + "lower_cutoff_freq": 50, + "higher_cutoff_freq": 10000, + "method": "pipewire", + "source": "auto", + "stereo": true, + "bar_delimiter": 0, + "noise_reduction": 0.77, + "input_delay": 2, + "hide_on_silence": true, + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ], + "actions": { + "on-click-right": "mode" + } + }, + "mpris": { + "format": " {status_icon} {dynamic}", + "interval": 1, + "dynamic-len": 40, + "status-icons": { + "playing": "▶", + "paused": "⏸", + "stopped": "" + }, + "dynamic-order": ["title", "artist"], + "ignored-players": ["firefox"] + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "tray": { + "icon-size": 14, + "spacing": 10 + }, + "load": { + "format": " {}" + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{icon} {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "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": ["", "", "", "", ""] + }, + "wireplumber": { + "scroll-step": 5, // %, can be a float + "format": "{icon} {volume}%", + "format-bluetooth": "{icon} {volume}% ", + "format-bluetooth-muted": " {icon}", + "format-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + } +},{ + "output": ["HDMI-A-1"], + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 24, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad" + ], + "modules-center": [ + "clock" + ], + "modules-right": [ + "sway/window" + ], + "sway/workspaces": { + "all-outputs": true, + "warp-on-scroll": true, + "enable-bar-scroll": true, + "format": "{icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "9": "", + "10": "" + } + }, + "sway/window": { + "format": "{title}", + "max-length": 60, + "all-outputs": true + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + } +}] diff --git a/.config/waybar/Goal /style.css b/.config/waybar/Goal /style.css new file mode 100644 index 0000000..b4eec29 --- /dev/null +++ b/.config/waybar/Goal /style.css @@ -0,0 +1,175 @@ +* { + font-size: 20px; + border-radius: 5px; +} + +window#waybar { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: JetBrainsMonoNL NF SemiBold; + background-color: transparent; + border-bottom: 0px; + color: #ebdbb2; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.empty #window { + background-color: transparent; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +.modules-right { + margin: 10px 10px 0 0; +} +.modules-center { + margin: 10px 0 0 0; +} +.modules-left { + margin: 10px 0 0 10px; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + /* box-shadow: inset 0 -3px transparent; */ + border: none; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +/* +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ebdbb2; +} */ + +#workspaces { + background-color: #282828; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ebdbb2; + border-radius: 0; +} + +#workspaces button:first-child { + border-radius: 5px 0 0 5px; +} + +#workspaces button:last-child { + border-radius: 0 5px 5px 0; +} + +#workspaces button:hover { + color: #d79921; +} + +#workspaces button.focused { + background-color: #665c54; + /* box-shadow: inset 0 -3px #ffffff; */ +} + +#workspaces button.urgent { + background-color: #b16286; +} + +#idle_inhibitor, +#cava, +#scratchpad, +#mode, +#window, +#clock, +#battery, +#backlight, +#wireplumber, +#tray, +#mpris, +#load { + padding: 0 10px; + background-color: #282828; + color: #ebdbb2; +} + +#mode { + background-color: #689d6a; + color: #282828; + /* box-shadow: inset 0 -3px #ffffff; */ +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#cava { + padding: 0 5px; +} + +#battery.charging, #battery.plugged { + background-color: #98971a; + color: #282828; +} + +@keyframes blink { + to { + background-color: #282828; + color: #ebdbb2; + } +} + +/* Using steps() instead of linear as a timing function to limit cpu usage */ +#battery.critical:not(.charging) { + background-color: #cc241d; + color: #ebdbb2; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#wireplumber.muted { + background-color: #458588; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; +} + +#mpris.playing { + background-color: #d79921; + color: #282828; +} + +#tray menu { + font-family: sans-serif; +} + +#scratchpad.empty { + background: transparent; +} diff --git a/.config/waybar/config.ctl b/.config/waybar/config.ctl new file mode 100644 index 0000000..d59e0f3 --- /dev/null +++ b/.config/waybar/config.ctl @@ -0,0 +1,25 @@ +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|top|( cpu memory custom/cpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0||bottom|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0||top|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|31|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/notifications custom/keybindhint ) +0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +1|31|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|31|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|32|bottom||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|left||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|top||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|right||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|31|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|31|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|28|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|40|top|( hyprland/workspaces )|( custom/cava idle_inhibitor clock )|( backlight pulseaudio pulseaudio#microphone tray battery custom/keybindhint custom/cliphist custom/power ) diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..66f8fac --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,341 @@ +// --// waybar config generated by wbarconfgen.sh //-- // +{ + // sourced from header module // + "layer": "top", + "position": "top", + "mod": "dock", + "height": 31, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, + // positions generated based on config.ctl // + "modules-left": [ + "custom/padd", + "custom/l_end", + "custom/power", + "custom/cliphist", + "custom/r_end", + "custom/l_end", + "idle_inhibitor", + "clock", + "custom/spotify", + "custom/r_end", + "custom/l_end", + "memory", + "cpu", + "custom/r_end", + "custom/l_end", + "custom/cava", + "custom/r_end", + "custom/padd", + ], + "modules-center": [ + "custom/padd", + "custom/l_end", + "wlr/taskbar", + "custom/r_end", + "custom/padd", + ], + "modules-right": [ + "custom/padd", + "custom/l_end", + "backlight", + "network", + "pulseaudio", + "custom/r_end", + "custom/l_end", + "privacy", + "tray", + "custom/r_end", + "custom/padd", + ], + // sourced from modules based on config.ctl // + "custom/cava": { + "format": "{}", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true, + }, + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": 0, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "▶", + "mpv": "🎵", + }, + "status-icons": { + "paused": "", + }, + // "ignored-players": ["firefox"] + "max-length": 1000, + "interval": 1, + }, + "cpu": { + "interval": 10, + "format": "|󰍛 {usage}%", + "rotate": 0, + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": [ + "▁", + "▂", + "▃", + "▄", + "▅", + "▆", + "▇", + "█" + ], + }, + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30, // medium + }, + "interval": 30, + "format": "󰾆 {used}gb|", + "rotate": 0, + "format-m": "󰾅 {used}gb", + "format-h": "󰓅 {used}gb", + "format-c": " {used}gb", + "format-alt": "󰾆 {percentage}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "󰾆 {percentage}%\n {used:0.1f}gb/{total:0.1f}gb", + }, + "custom/power": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval": 86400, // once every day + "tooltip": true, + }, + "custom/cliphist": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval": 86400, // once every day + "tooltip": true, + }, + "wlr/taskbar": { + "format": "{icon}", + "rotate": 0, + "icon-size": 25, + "icon-theme": "Gruvbox-Plus-Dark", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition", + "jetbrains-datagrip": "DataGrip", + }, + }, + "custom/spotify": { + "exec": "mediaplayer.py --player spotify", + "format": " {}", + "rotate": 0, + "return-type": "json", + "on-click": "playerctl play-pause --player spotify", + "on-click-right": "playerctl next --player spotify", + "on-click-middle": "playerctl previous --player spotify", + "on-scroll-up": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true, + }, + "idle_inhibitor": { + "format": "{icon}", + "rotate": 0, + "format-icons": { + "activated": "󰥔 ", + "deactivated": " ", + }, + }, + "clock": { + "format": "{:%I:%M %p}", + "rotate": 0, + "format-alt": "{:%R 󰃭 %d·%m·%y}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "mode-mon-col": 3, + "on-scroll": 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "weekdays": "{}", + "today": "{}", + }, + }, + "actions": { + "on-click-right": "mode", + "on-click-forward": "tz_up", + "on-click-backward": "tz_down", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down", + }, + }, + "privacy": { + "icon-size": 14, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24, + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24, + }, + ], + }, + "tray": { + "icon-size": 25, + "rotate": 0, + "spacing": 5, + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20, + }, + "format": "{icon} {capacity}%", + "rotate": 0, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": [ + "󰂎", + "󰁺", + "󰁻", + "󰁼", + "󰁽", + "󰁾", + "󰁿", + "󰂀", + "󰂁", + "󰂂", + "󰁹" + ], + }, + "backlight": { + "device": "intel_backlight", + "rotate": 0, + "format": "{icon} {percent}%", + "format-icons": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "on-scroll-up": "brightnessctl set 1%+", + "on-scroll-down": "brightnessctl set 1%-", + "min-length": 6, + }, + "network": { + "tooltip": true, + "format-wifi": " ", + "rotate": 0, + "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "tooltip-format": "Network: {essid}\nSignal strength: {signaldBm}dBm ({signalStrength}%)\nFrequency: {frequency}MHz\nInterface: {ifname}\nIP: {ipaddr}/{cidr}\nGateway: {gwaddr}\nNetmask: {netmask}", + "format-linked": "󰈀 {ifname} (No IP)", + "format-disconnected": "󰖪 ", + "tooltip-format-disconnected": "Disconnected", + // "format-alt": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "interval": 2, + }, + "pulseaudio": { + "format": "{icon} {volume}", + "rotate": 0, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "volumecontrol.sh -o d", + "tooltip-format": "{icon} {desc} // {volume}%", + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": [ + "", + "", + "" + ], + }, + }, + "pulseaudio#microphone": { + "format": "{format_source}", + "rotate": 0, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5, + }, + // modules for padding // + "custom/l_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/r_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/sl_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/sr_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/rl_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/rr_end": { + "format": " ", + "interval": "once", + "tooltip": false, + }, + "custom/padd": { + "format": " ", + "interval": "once", + "tooltip": false, + }, +} diff --git a/.config/waybar/modules/backlight.jsonc b/.config/waybar/modules/backlight.jsonc new file mode 100644 index 0000000..b289e68 --- /dev/null +++ b/.config/waybar/modules/backlight.jsonc @@ -0,0 +1,10 @@ + "backlight": { + "device": "intel_backlight", + "rotate": ${r_deg}, + "format": "{icon} {percent}%", + "format-icons": ["", "", "", "", "", "", "", "", ""], + "on-scroll-up": "brightnessctl set 1%+", + "on-scroll-down": "brightnessctl set 1%-", + "min-length": 6 + }, + diff --git a/.config/waybar/modules/battery.jsonc b/.config/waybar/modules/battery.jsonc new file mode 100644 index 0000000..51d6482 --- /dev/null +++ b/.config/waybar/modules/battery.jsonc @@ -0,0 +1,14 @@ + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20 + }, + "format": "{icon} {capacity}%", + "rotate": ${r_deg}, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] + }, + diff --git a/.config/waybar/modules/bluetooth.jsonc b/.config/waybar/modules/bluetooth.jsonc new file mode 100644 index 0000000..919bbd8 --- /dev/null +++ b/.config/waybar/modules/bluetooth.jsonc @@ -0,0 +1,15 @@ + "bluetooth": { + "format": "", + "rotate": ${r_deg}, + "format-disabled": "", + "format-connected": " {num_connections}", + "format-connected-battery": "{icon} {num_connections}", + // "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%", + "format-icons": ["󰥇", "󰤾", "󰤿", "󰥀", "󰥁", "󰥂", "󰥃", "󰥄", "󰥅", "󰥆", "󰥈"], + // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device. + "tooltip-format": "{controller_alias}\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%" + }, + diff --git a/.config/waybar/modules/cava.jsonc b/.config/waybar/modules/cava.jsonc new file mode 100644 index 0000000..d5d2277 --- /dev/null +++ b/.config/waybar/modules/cava.jsonc @@ -0,0 +1,6 @@ +"custom/cava": { + "format": "{}", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true +}, \ No newline at end of file diff --git a/.config/waybar/modules/cliphist.jsonc b/.config/waybar/modules/cliphist.jsonc new file mode 100644 index 0000000..02024fa --- /dev/null +++ b/.config/waybar/modules/cliphist.jsonc @@ -0,0 +1,11 @@ + "custom/cliphist": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/clock.jsonc b/.config/waybar/modules/clock.jsonc new file mode 100644 index 0000000..17f9a15 --- /dev/null +++ b/.config/waybar/modules/clock.jsonc @@ -0,0 +1,25 @@ + "clock": { + "format": "{:%I:%M %p}", + "rotate": ${r_deg}, + "format-alt": "{:%R 󰃭 %d·%m·%y}", + "tooltip-format": "{calendar}", + "calendar": { + "mode": "month", + "mode-mon-col": 3, + "on-scroll": 1, + "on-click-right": "mode", + "format": { + "months": "{}", + "weekdays": "{}", + "today": "{}" + } + }, + "actions": { + "on-click-right": "mode", + "on-click-forward": "tz_up", + "on-click-backward": "tz_down", + "on-scroll-up": "shift_up", + "on-scroll-down": "shift_down" + } + }, + diff --git a/.config/waybar/modules/cpu.jsonc b/.config/waybar/modules/cpu.jsonc new file mode 100644 index 0000000..cc89cb0 --- /dev/null +++ b/.config/waybar/modules/cpu.jsonc @@ -0,0 +1,8 @@ + "cpu": { + "interval": 10, + "format": "󰍛 {usage}%", + "rotate": ${r_deg}, + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"] + }, + diff --git a/.config/waybar/modules/cpuinfo.jsonc b/.config/waybar/modules/cpuinfo.jsonc new file mode 100644 index 0000000..fb6bb76 --- /dev/null +++ b/.config/waybar/modules/cpuinfo.jsonc @@ -0,0 +1,10 @@ + "custom/cpuinfo": { + "exec": " cpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000 + }, + diff --git a/.config/waybar/modules/footer.jsonc b/.config/waybar/modules/footer.jsonc new file mode 100644 index 0000000..1387f74 --- /dev/null +++ b/.config/waybar/modules/footer.jsonc @@ -0,0 +1,47 @@ + +// modules for padding // + + "custom/l_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/r_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/sl_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/sr_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/rl_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/rr_end": { + "format": " ", + "interval" : "once", + "tooltip": false + }, + + "custom/padd": { + "format": " ", + "interval" : "once", + "tooltip": false + } + +} + diff --git a/.config/waybar/modules/gpuinfo.jsonc b/.config/waybar/modules/gpuinfo.jsonc new file mode 100644 index 0000000..f9f5d61 --- /dev/null +++ b/.config/waybar/modules/gpuinfo.jsonc @@ -0,0 +1,41 @@ + "custom/gpuinfo": { + "exec": " gpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + "on-click": "gpuinfo.sh --toggle", + }, + + "custom/gpuinfo#nvidia": { + "exec": " gpuinfo.sh --use nvidia ", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + }, + + "custom/gpuinfo#amd": { + "exec": " gpuinfo.sh --use amd ", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + }, + + "custom/gpuinfo#intel": { + "exec": " gpuinfo.sh --use intel ", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + }, + diff --git a/.config/waybar/modules/header.jsonc b/.config/waybar/modules/header.jsonc new file mode 100644 index 0000000..688d476 --- /dev/null +++ b/.config/waybar/modules/header.jsonc @@ -0,0 +1,13 @@ +// --// waybar config generated by wbarconfgen.sh //-- // + +{ +// sourced from header module // + + "layer": "top", + "position": "${w_position}", + "mod": "dock", + "${hv_pos}": ${w_height}, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, diff --git a/.config/waybar/modules/idle_inhibitor.jsonc b/.config/waybar/modules/idle_inhibitor.jsonc new file mode 100644 index 0000000..d109a95 --- /dev/null +++ b/.config/waybar/modules/idle_inhibitor.jsonc @@ -0,0 +1,9 @@ + "idle_inhibitor": { + "format": "{icon}", + "rotate": ${r_deg}, + "format-icons": { + "activated": "󰥔", + "deactivated": "" + } + }, + diff --git a/.config/waybar/modules/keybindhint.jsonc b/.config/waybar/modules/keybindhint.jsonc new file mode 100644 index 0000000..e9edd21 --- /dev/null +++ b/.config/waybar/modules/keybindhint.jsonc @@ -0,0 +1,6 @@ + "custom/keybindhint": { + "format": " ", + "rotate": ${r_deg}, + "on-click": "keybinds_hint.sh" + }, + diff --git a/.config/waybar/modules/language.jsonc b/.config/waybar/modules/language.jsonc new file mode 100644 index 0000000..6045d28 --- /dev/null +++ b/.config/waybar/modules/language.jsonc @@ -0,0 +1,6 @@ + "hyprland/language": { + "format": "{short} {variant}", + "rotate": ${r_deg}, + "on-click": "keyboardswitch.sh", + }, + diff --git a/.config/waybar/modules/memory.jsonc b/.config/waybar/modules/memory.jsonc new file mode 100644 index 0000000..5908996 --- /dev/null +++ b/.config/waybar/modules/memory.jsonc @@ -0,0 +1,18 @@ + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30, // medium + }, + "interval": 30, + "format": "󰾆 {used}gb", + "rotate": ${r_deg}, + "format-m": "󰾅 {used}gb", + "format-h": "󰓅 {used}gb", + "format-c": " {used}gb", + "format-alt": "󰾆 {percentage}%", + "max-length": 10, + "tooltip": true, + "tooltip-format": "󰾆 {percentage}%\n {used:0.1f}gb/{total:0.1f}gb" + }, + diff --git a/.config/waybar/modules/mpris.jsonc b/.config/waybar/modules/mpris.jsonc new file mode 100644 index 0000000..04ff2cd --- /dev/null +++ b/.config/waybar/modules/mpris.jsonc @@ -0,0 +1,16 @@ + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": ${r_deg}, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "▶", + "mpv": "🎵" + }, + "status-icons": { + "paused": "" + }, + // "ignored-players": ["firefox"] + "max-length": 1000, + "interval": 1 + }, + diff --git a/.config/waybar/modules/network.jsonc b/.config/waybar/modules/network.jsonc new file mode 100644 index 0000000..1c5231d --- /dev/null +++ b/.config/waybar/modules/network.jsonc @@ -0,0 +1,13 @@ + "network": { + "tooltip": true, + "format-wifi": " ", + "rotate": ${r_deg}, + "format-ethernet": "󰈀 ", + "tooltip-format": "Network: {essid}\nSignal strength: {signaldBm}dBm ({signalStrength}%)\nFrequency: {frequency}MHz\nInterface: {ifname}\nIP: {ipaddr}/{cidr}\nGateway: {gwaddr}\nNetmask: {netmask}", + "format-linked": "󰈀 {ifname} (No IP)", + "format-disconnected": "󰖪 ", + "tooltip-format-disconnected": "Disconnected", + "format-alt": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "interval": 2, + }, + diff --git a/.config/waybar/modules/notifications.jsonc b/.config/waybar/modules/notifications.jsonc new file mode 100644 index 0000000..125e87a --- /dev/null +++ b/.config/waybar/modules/notifications.jsonc @@ -0,0 +1,29 @@ + "custom/notifications": { + "format": "{icon} {}", + "rotate": ${r_deg}, + "format-icons": { + "email-notification": "", + "chat-notification": "󱋊", + "warning-notification": "󱨪", + "error-notification": "󱨪", + "network-notification": "󱂇", + "battery-notification": "󰁺", + "update-notification": "󰚰", + "music-notification": "󰝚", + "volume-notification": "󰕿", + "notification": "", + "dnd": "", + "none": "" + }, + "return-type": "json", + "exec-if": "which dunstctl", + "exec": "notifications.py", + "on-scroll-down": "sleep 0.1 && dunstctl history-pop", + "on-click": "dunstctl set-paused toggle", + "on-click-middle": "dunstctl history-clear", + "on-click-right": "dunstctl close-all", + "interval": 1, + "tooltip": true, + "escape": true + }, + diff --git a/.config/waybar/modules/power.jsonc b/.config/waybar/modules/power.jsonc new file mode 100644 index 0000000..a41eaf6 --- /dev/null +++ b/.config/waybar/modules/power.jsonc @@ -0,0 +1,10 @@ + "custom/power": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/privacy.jsonc b/.config/waybar/modules/privacy.jsonc new file mode 100644 index 0000000..8556586 --- /dev/null +++ b/.config/waybar/modules/privacy.jsonc @@ -0,0 +1,18 @@ + "privacy": { + "icon-size": ${i_priv}, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24 + } + ] + }, + diff --git a/.config/waybar/modules/pulseaudio.jsonc b/.config/waybar/modules/pulseaudio.jsonc new file mode 100644 index 0000000..c5770a7 --- /dev/null +++ b/.config/waybar/modules/pulseaudio.jsonc @@ -0,0 +1,35 @@ +"pulseaudio": { + "format": "{icon} {volume}", + "rotate": ${r_deg}, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "volumecontrol.sh -o d", + "tooltip-format": "{icon} {desc} // {volume}%", + "scroll-step": 5, + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + } +}, + +"pulseaudio#microphone": { + "format": "{format_source}", + "rotate": ${r_deg}, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5 +}, + diff --git a/.config/waybar/modules/spotify.jsonc b/.config/waybar/modules/spotify.jsonc new file mode 100644 index 0000000..13bd6bc --- /dev/null +++ b/.config/waybar/modules/spotify.jsonc @@ -0,0 +1,15 @@ + "custom/spotify": { + "exec": "mediaplayer.py --player spotify", + "format": " {}", + "rotate": ${r_deg}, + "return-type": "json", + "on-click": "playerctl play-pause --player spotify", + "on-click-right": "playerctl next --player spotify", + "on-click-middle": "playerctl previous --player spotify", + "on-scroll-up": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true + }, + diff --git a/.config/waybar/modules/style.css b/.config/waybar/modules/style.css new file mode 100644 index 0000000..93da5c3 --- /dev/null +++ b/.config/waybar/modules/style.css @@ -0,0 +1,151 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: ${s_fontpx}px; + min-height: 10px; +} + +@import "theme.css"; + +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: ${t_radius}px; + border-width: 0px; +} + +#workspaces button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: ${w_radius}px; + margin-${x1}: ${w_margin}px; + margin-${x2}: ${w_margin}px; + margin-${x3}: 0px; + padding-${x3}: ${w_paddin}px; + padding-${x4}: ${w_paddin}px; + margin-${x4}: 0px; + color: @main-fg; + animation: ws_normal 20s ease-in-out 1; +} + +#workspaces button.active { + background: @wb-act-bg; + color: @wb-act-fg; + margin-${x3}: ${w_margin}px; + padding-${x3}: ${w_padact}px; + padding-${x4}: ${w_padact}px; + margin-${x4}: ${w_margin}px; + animation: ws_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#workspaces button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-fg; + animation: ws_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: ${w_radius}px; + margin-${x1}: ${w_margin}px; + margin-${x2}: ${w_margin}px; + margin-${x3}: 0px; + padding-${x3}: ${w_paddin}px; + padding-${x4}: ${w_paddin}px; + margin-${x4}: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#taskbar button.active { + background: @wb-act-bg; + color: @wb-act-color; + margin-${x3}: ${w_margin}px; + padding-${x3}: ${w_padact}px; + padding-${x4}: ${w_padact}px; + margin-${x4}: ${w_margin}px; + animation: tb_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-color; + animation: tb_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +${modules_ls} +#custom-l_end, +#custom-r_end, +#custom-sl_end, +#custom-sr_end, +#custom-rl_end, +#custom-rr_end { + color: @main-fg; + background: @main-bg; + opacity: 1; + margin: ${x1g_margin}px ${x2g_margin}px ${x3g_margin}px ${x4g_margin}px; + padding-${x3}: ${g_paddin}px; + padding-${x4}: ${g_paddin}px; +} + +#workspaces, +#taskbar { + padding: 0px; +} + +#custom-r_end { + border-radius: ${x1rb_radius}px ${x2rb_radius}px ${x3rb_radius}px ${x4rb_radius}px; + margin-${x4}: ${e_margin}px; + padding-${x4}: ${e_paddin}px; +} + +#custom-l_end { + border-radius: ${x1lb_radius}px ${x2lb_radius}px ${x3lb_radius}px ${x4lb_radius}px; + margin-${x3}: ${e_margin}px; + padding-${x3}: ${e_paddin}px; +} + +#custom-sr_end { + border-radius: 0px; + margin-${x4}: ${e_margin}px; + padding-${x4}: ${e_paddin}px; +} + +#custom-sl_end { + border-radius: 0px; + margin-${x3}: ${e_margin}px; + padding-${x3}: ${e_paddin}px; +} + +#custom-rr_end { + border-radius: ${x1rc_radius}px ${x2rc_radius}px ${x3rc_radius}px ${x4rc_radius}px; + margin-${x4}: ${e_margin}px; + padding-${x4}: ${e_paddin}px; +} + +#custom-rl_end { + border-radius: ${x1lc_radius}px ${x2lc_radius}px ${x3lc_radius}px ${x4lc_radius}px; + margin-${x3}: ${e_margin}px; + padding-${x3}: ${e_paddin}px; +} diff --git a/.config/waybar/modules/taskbar.jsonc b/.config/waybar/modules/taskbar.jsonc new file mode 100644 index 0000000..630d574 --- /dev/null +++ b/.config/waybar/modules/taskbar.jsonc @@ -0,0 +1,18 @@ + "wlr/taskbar": { + "format": "{icon}", + "rotate": ${r_deg}, + "icon-size": ${i_task}, + "icon-theme": "${i_theme}", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": [ + "Alacritty" + ], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition", + "jetbrains-datagrip": "DataGrip" + } + }, + diff --git a/.config/waybar/modules/theme.jsonc b/.config/waybar/modules/theme.jsonc new file mode 100644 index 0000000..6482c6e --- /dev/null +++ b/.config/waybar/modules/theme.jsonc @@ -0,0 +1,11 @@ + "custom/theme": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰟡 switch theme", + "on-click": "themeswitch.sh -n", + "on-click-right": "themeswitch.sh -p", + "on-click-middle": "sleep 0.1 && themeselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/tray.jsonc b/.config/waybar/modules/tray.jsonc new file mode 100644 index 0000000..d7c0bce --- /dev/null +++ b/.config/waybar/modules/tray.jsonc @@ -0,0 +1,6 @@ + "tray": { + "icon-size": ${i_size}, + "rotate": ${r_deg}, + "spacing": 5 + }, + diff --git a/.config/waybar/modules/updates.jsonc b/.config/waybar/modules/updates.jsonc new file mode 100644 index 0000000..996f732 --- /dev/null +++ b/.config/waybar/modules/updates.jsonc @@ -0,0 +1,10 @@ + "custom/updates": { + "exec": "systemupdate.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "on-click": "hyprctl dispatch exec 'systemupdate.sh up'", + "interval": 86400, // once every day + "tooltip": true, + "signal": 20, + }, diff --git a/.config/waybar/modules/wallchange.jsonc b/.config/waybar/modules/wallchange.jsonc new file mode 100644 index 0000000..0c839ca --- /dev/null +++ b/.config/waybar/modules/wallchange.jsonc @@ -0,0 +1,11 @@ + "custom/wallchange": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰆊 switch wallpaper", + "on-click": "swwwallpaper.sh -n", + "on-click-right": "swwwallpaper.sh -p", + "on-click-middle": "sleep 0.1 && swwwallselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/modules/wbar.jsonc b/.config/waybar/modules/wbar.jsonc new file mode 100644 index 0000000..7738657 --- /dev/null +++ b/.config/waybar/modules/wbar.jsonc @@ -0,0 +1,11 @@ + "custom/wbar": { + "format": "{}", //   // + "rotate": ${r_deg}, + "exec": "echo ; echo  switch bar //  dock", + "on-click": "wbarconfgen.sh n", + "on-click-right": "wbarconfgen.sh p", + "on-click-middle": "sleep 0.1 && quickapps.sh kitty firefox spotify code dolphin", + "interval" : 86400, + "tooltip": true + }, + diff --git a/.config/waybar/modules/window.jsonc b/.config/waybar/modules/window.jsonc new file mode 100644 index 0000000..3c56b28 --- /dev/null +++ b/.config/waybar/modules/window.jsonc @@ -0,0 +1,17 @@ + "hyprland/window": { + "format": "  {}", + "rotate": ${r_deg}, + "separate-outputs": true, + "rewrite": { + "${USER}@${set_sysname}:(.*)": "$1 ", + "(.*) — Mozilla Firefox": "$1 󰈹", + "(.*)Mozilla Firefox": "Firefox 󰈹", + "(.*) - Visual Studio Code": "$1 󰨞", + "(.*)Visual Studio Code": "Code 󰨞", + "(.*) — Dolphin": "$1 󰉋", + "(.*)Spotify": "Spotify 󰓇", + "(.*)Steam": "Steam 󰓓" + }, + "max-length": 50 + }, + diff --git a/.config/waybar/modules/workspaces.jsonc b/.config/waybar/modules/workspaces.jsonc new file mode 100644 index 0000000..c1e580a --- /dev/null +++ b/.config/waybar/modules/workspaces.jsonc @@ -0,0 +1,13 @@ + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": ${r_deg}, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": { + } + }, + diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..a0182c7 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,178 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: 20px; + min-height: 10px; +} + +@import "theme.css"; + +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: 7px; + border-width: 0px; +} + +#workspaces button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @main-fg; + animation: ws_normal 20s ease-in-out 1; +} + +#workspaces button.active { + background: @wb-act-bg; + color: @wb-act-fg; + margin-left: 3px; + padding-left: 12px; + padding-right: 12px; + margin-right: 3px; + animation: ws_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#workspaces button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-fg; + animation: ws_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button { + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#taskbar button.active { + background: @wb-act-bg; + color: @wb-act-color; + margin-left: 3px; + padding-left: 12px; + padding-right: 12px; + margin-right: 3px; + animation: tb_active 20s ease-in-out 1; + transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); +} + +#taskbar button:hover { + background: @wb-hvr-bg; + color: @wb-hvr-color; + animation: tb_hover 20s ease-in-out 1; + transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +#backlight, +#battery, +#bluetooth, +#custom-cava, +#custom-cliphist, +#clock, +#custom-cpuinfo, +#cpu, +#custom-gpuinfo, +#idle_inhibitor, +#custom-keybindhint, +#language, +#memory, +#mpris, +#network, +#custom-notifications, +#custom-power, +#privacy, +#pulseaudio, +#custom-spotify, +#taskbar, +#custom-theme, +#tray, +#custom-updates, +#custom-wallchange, +#custom-wbar, +#window, +#workspaces, +#custom-l_end, +#custom-r_end, +#custom-sl_end, +#custom-sr_end, +#custom-rl_end, +#custom-rr_end { + color: @main-fg; + background: @main-bg; + opacity: 1; + margin: 4px 0px 4px 0px; + padding-left: 4px; + padding-right: 4px; +} + +#workspaces, +#taskbar { + padding: 0px; +} + +#custom-r_end { + border-radius: 0px 21px 21px 0px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-l_end { + border-radius: 21px 0px 0px 21px; + margin-left: 9px; + padding-left: 3px; +} + +#custom-sr_end { + border-radius: 0px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-sl_end { + border-radius: 0px; + margin-left: 9px; + padding-left: 3px; +} + +#custom-rr_end { + border-radius: 0px 7px 7px 0px; + margin-right: 9px; + padding-right: 3px; +} + +#custom-rl_end { + border-radius: 7px 0px 0px 7px; + margin-left: 9px; + padding-left: 3px; +} diff --git a/.config/waybar/theme.css b/.config/waybar/theme.css new file mode 100644 index 0000000..691cf6b --- /dev/null +++ b/.config/waybar/theme.css @@ -0,0 +1,10 @@ +@define-color bar-bg rgba(0, 0, 0, 0); + +@define-color main-bg #11111b; +@define-color main-fg #cdd6f4; + +@define-color wb-act-bg #a6adc8; +@define-color wb-act-fg #313244; + +@define-color wb-hvr-bg #f5c2e7; +@define-color wb-hvr-fg #313244;