diff --git a/hypr/conf/keybindings.conf b/hypr/conf/keybindings.conf index 5bd74db..07f1850 100644 --- a/hypr/conf/keybindings.conf +++ b/hypr/conf/keybindings.conf @@ -25,7 +25,7 @@ bind = $mainMod CTRL, RETURN, exec, ~/dotfiles/scripts/applauncher.sh bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh bind = $mainMod CTRL, F, exec, ~/dotfiles/scripts/filemanager.sh bind = $mainMod CTRL, C, exec, ~/dotfiles/scripts/cliphist.sh -bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themestyle.sh +bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 diff --git a/waybar/launch.sh b/waybar/launch.sh index d112653..bcd83cf 100755 --- a/waybar/launch.sh +++ b/waybar/launch.sh @@ -16,15 +16,19 @@ killall waybar # ----------------------------------------------------- # Get current theme information # ----------------------------------------------------- -themestyle="/default/light" +themestyle="/ml4w;/ml4w/light" if [ -f ~/.cache/.themestyle.sh ]; then themestyle=$(cat ~/.cache/.themestyle.sh) else touch ~/.cache/.themestyle.sh echo "$themestyle" > ~/.cache/.themestyle.sh fi -if [ ! -f ~/dotfiles/waybar/styles$themestyle/style.css ]; then - themestyle="/default/light" + +IFS=';' read -ra arrThemes <<< "$themestyle" +echo ${arrThemes[0]} + +if [ ! -f ~/dotfiles/waybar/styles${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" fi # ----------------------------------------------------- @@ -32,7 +36,7 @@ fi # ----------------------------------------------------- if [[ $USER = "raabe" ]] then - waybar -c ~/dotfiles/waybar/myconfig -s ~/dotfiles/waybar/styles$themestyle/style.css & + waybar -c ~/dotfiles/waybar/styles${arrThemes[0]}/myconfig -s ~/dotfiles/waybar/styles${arrThemes[1]}/style.css & else - waybar -s ~/dotfiles/waybar/styles$themestyle/style.css & + waybar -c ~/dotfiles/waybar/styles${arrThemes[0]}/config -s ~/dotfiles/waybar/styles${arrThemes[1]}/style.css & fi diff --git a/waybar/styles/default/config b/waybar/styles/default/config new file mode 100644 index 0000000..753b78d --- /dev/null +++ b/waybar/styles/default/config @@ -0,0 +1,167 @@ +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // 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": ["wlr/workspaces"], + "modules-center": ["hyprland/window"], + "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "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": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/waybar/styles/default/myconfig b/waybar/styles/default/myconfig new file mode 100644 index 0000000..f4636ce --- /dev/null +++ b/waybar/styles/default/myconfig @@ -0,0 +1,167 @@ +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // 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": ["hyprland/workspaces"], + "modules-center": ["hyprland/window"], + "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "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": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/waybar/styles/default/style.css b/waybar/styles/default/style.css index 15795d9..cf5c5fb 100644 --- a/waybar/styles/default/style.css +++ b/waybar/styles/default/style.css @@ -1,359 +1,136 @@ -/* - * __ __ _ ____ _ _ - * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ - * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ - * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ - * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| - * |___/ |___/ - * - * by Stephan Raabe (2023) - * ----------------------------------------------------- -*/ - -/* ----------------------------------------------------- - * Import Pywal colors - * ----------------------------------------------------- */ -/* @import 'style-light.css'; */ - -/* ----------------------------------------------------- - * General - * ----------------------------------------------------- */ - * { - font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; - border: none; - border-radius: 0px; + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; } window#waybar { - background-color: rgba(0,0,0,0.8); - border-bottom: 0px solid #ffffff; - /* color: #FFFFFF; */ - background: transparent; + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; transition-property: background-color; transition-duration: .5s; } -/* ----------------------------------------------------- - * Workspaces - * ----------------------------------------------------- */ +window#waybar.hidden { + opacity: 0.2; +} -#workspaces { - background: @backgroundlight; - margin: 2px 1px 3px 1px; - padding: 0px 1px; - border-radius: 15px; - border: 0px; - font-weight: bold; - font-style: normal; - opacity: 0.8; - font-size: 16px; - color: @textcolor1; +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; } #workspaces button { - padding: 0px 5px; - margin: 4px 3px; - border-radius: 15px; - border: 0px; - color: @textcolor1; - background-color: @backgrounddark; - transition: all 0.3s ease-in-out; - opacity: 0.4; -} - -#workspaces button.active { - color: @textcolor1; - background: @backgrounddark; - border-radius: 15px; - min-width: 40px; - transition: all 0.3s ease-in-out; - opacity:1.0; + padding: 0 5px; + background-color: transparent; + color: #ffffff; } #workspaces button:hover { - color: @textcolor1; - background: @backgrounddark; - border-radius: 15px; - opacity:0.7; + background: rgba(0, 0, 0, 0.2); } -/* ----------------------------------------------------- - * Tooltips - * ----------------------------------------------------- */ - -tooltip { - border-radius: 10px; - background-color: @backgroundlight; - opacity:0.8; - padding:20px; - margin:0px; +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; } -tooltip label { - color: @textcolor2; +#workspaces button.urgent { + background-color: #eb4d4b; } -/* ----------------------------------------------------- - * Window - * ----------------------------------------------------- */ - -#window { - background: @backgroundlight; - margin: 5px 15px 5px 0px; - padding: 2px 10px 0px 10px; - border-radius: 12px; - color:@textcolor2; - font-size:16px; - font-weight:normal; - opacity:0.8; +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; } -window#waybar.empty #window { - background-color:transparent; +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: #ffffff; } -/* ----------------------------------------------------- - * Taskbar - * ----------------------------------------------------- */ - -#taskbar { - /* background: @color11; */ - background: @backgroundlight; - margin: 3px 15px 3px 0px; - padding:0px; - /*padding: 2px 3px 1px 3px;*/ - border-radius: 15px; - font-weight: normal; - font-style: normal; - opacity:0.8; - border: 3px solid @backgroundlight; +#window, +#workspaces { + margin: 0 4px; } -#taskbar button { - margin:0; - border-radius: 15px; - padding: 0px 5px 0px 5px; -} - -/* ----------------------------------------------------- - * Modules - * ----------------------------------------------------- */ - +/* 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; } -/* ----------------------------------------------------- - * Custom Quicklinks - * ----------------------------------------------------- */ - -#custom-brave, #custom-outlook, #custom-filemanager, #custom-teams, #custom-chatgpt, #custom-calculator, #custom-windowsvm, #custom-cliphist, #custom-wallpaper { - margin-right: 20px; - font-size: 20px; - font-weight: bold; - opacity: 0.8; - color: @iconcolor; -} - -#custom-wallpaper { - margin-right:23px; -} - -/* ----------------------------------------------------- - * Custom Modules - * ----------------------------------------------------- */ - -#custom-appmenu { - background-color: @backgrounddark; - font-size: 16px; - color: @textcolor1; - border-radius: 15px; - padding: 0px 10px 0px 10px; - margin: 3px 15px 3px 14px; - opacity:0.8; - border:3px solid @bordercolor; -} - -/* ----------------------------------------------------- - * Custom Exit - * ----------------------------------------------------- */ - -#custom-exit { - margin: 0px 15px 0px 0px; - padding:0px; - font-size:20px; - color: @iconcolor; -} - -/* ----------------------------------------------------- - * Custom Updates - * ----------------------------------------------------- */ - -#custom-updates { - background-color: @backgroundlight; - font-size: 16px; - color: @textcolor2; - border-radius: 15px; - padding: 2px 10px 0px 10px; - margin: 5px 15px 5px 0px; - opacity:0.8; -} - -#custom-updates.green { - background-color: @backgroundlight; -} - -#custom-updates.yellow { - background-color: #ff9a3c; - color: #FFFFFF; -} - -#custom-updates.red { - background-color: #dc2f2f; - color: #FFFFFF; -} - -/* ----------------------------------------------------- - * Custom Youtube - * ----------------------------------------------------- */ - -#custom-youtube { - background-color: @backgroundlight; - font-size: 16px; - color: @textcolor2; - border-radius: 15px; - padding: 2px 10px 0px 10px; - margin: 5px 15px 5px 0px; - opacity:0.8; -} - -/* ----------------------------------------------------- - * Hardware Group - * ----------------------------------------------------- */ - -#disk,#memory,#cpu { - margin:0px; - padding:0px; - font-size:16px; - color:@iconcolor; -} - -#memory { - margin-right:10px; -} - -/* ----------------------------------------------------- - * Clock - * ----------------------------------------------------- */ - #clock { - background-color: @backgrounddark; - font-size: 16px; - color: @textcolor1; - border-radius: 15px; - padding: 1px 10px 0px 10px; - margin: 3px 15px 3px 0px; - opacity:0.8; - border:3px solid @bordercolor; + background-color: #64727D; } -/* ----------------------------------------------------- - * Pulseaudio - * ----------------------------------------------------- */ - -#pulseaudio { - background-color: @backgroundlight; - font-size: 16px; - color: @textcolor2; - border-radius: 15px; - padding: 2px 10px 0px 10px; - margin: 5px 15px 5px 0px; - opacity:0.8; -} - -#pulseaudio.muted { - background-color: @backgrounddark; - color: @textcolor1; -} - -/* ----------------------------------------------------- - * Network - * ----------------------------------------------------- */ - -#network { - background-color: @backgroundlight; - font-size: 16px; - color: @textcolor2; - border-radius: 15px; - padding: 2px 10px 0px 10px; - margin: 5px 15px 5px 0px; - opacity:0.8; -} - -#network.ethernet { - background-color: @backgroundlight; - color: @textcolor2; -} - -#network.wifi { - background-color: @backgroundlight; - color: @textcolor1; -} - -/* ----------------------------------------------------- - * Bluetooth - * ----------------------------------------------------- */ - -#bluetooth.on, #bluetooth.connected { - background-color: @backgroundlight; - font-size: 16px; - color: @textcolor2; - border-radius: 15px; - padding: 2px 10px 0px 10px; - margin: 5px 15px 5px 0px; - opacity:0.8; -} - -#bluetooth.off { - background-color: transparent; - padding: 0px; - margin: 0px; -} - -/* ----------------------------------------------------- - * Battery - * ----------------------------------------------------- */ - #battery { - background-color: @backgroundlight; - font-size: 16px; - color: @textcolor2; - border-radius: 15px; - padding: 2px 15px 0px 10px; - margin: 5px 15px 5px 0px; - opacity:0.8; + background-color: #ffffff; + color: #000000; } #battery.charging, #battery.plugged { - color: @textcolor2; - background-color: @backgroundlight; + color: #ffffff; + background-color: #26A65B; } @keyframes blink { to { - background-color: @backgroundlight; - color: @textcolor2; + background-color: #ffffff; + color: #000000; } } #battery.critical:not(.charging) { background-color: #f53c3c; - color: @textcolor3; + color: #ffffff; animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; @@ -361,31 +138,23 @@ window#waybar.empty #window { animation-direction: alternate; } -/* ----------------------------------------------------- - * Tray - * ----------------------------------------------------- */ - -#tray { - background-color: #2980b9; -} - -#tray > .passive { - -gtk-icon-effect: dim; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -/* ----------------------------------------------------- - * Other - * ----------------------------------------------------- */ - label:focus { background-color: #000000; } +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + #backlight { background-color: #90b1b1; } @@ -398,3 +167,114 @@ label:focus { background-color: #f53c3c; } +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} diff --git a/waybar/config b/waybar/styles/ml4w/config similarity index 100% rename from waybar/config rename to waybar/styles/ml4w/config diff --git a/waybar/styles/default/dark/style.css b/waybar/styles/ml4w/dark/style.css similarity index 100% rename from waybar/styles/default/dark/style.css rename to waybar/styles/ml4w/dark/style.css diff --git a/waybar/styles/default/light/style.css b/waybar/styles/ml4w/light/style.css similarity index 100% rename from waybar/styles/default/light/style.css rename to waybar/styles/ml4w/light/style.css diff --git a/waybar/styles/default/mixed/style.css b/waybar/styles/ml4w/mixed/style.css similarity index 100% rename from waybar/styles/default/mixed/style.css rename to waybar/styles/ml4w/mixed/style.css diff --git a/waybar/myconfig b/waybar/styles/ml4w/myconfig similarity index 100% rename from waybar/myconfig rename to waybar/styles/ml4w/myconfig diff --git a/waybar/styles/ml4w/style.css b/waybar/styles/ml4w/style.css new file mode 100644 index 0000000..15795d9 --- /dev/null +++ b/waybar/styles/ml4w/style.css @@ -0,0 +1,400 @@ +/* + * __ __ _ ____ _ _ + * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___ + * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \ + * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/ + * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___| + * |___/ |___/ + * + * by Stephan Raabe (2023) + * ----------------------------------------------------- +*/ + +/* ----------------------------------------------------- + * Import Pywal colors + * ----------------------------------------------------- */ +/* @import 'style-light.css'; */ + +/* ----------------------------------------------------- + * General + * ----------------------------------------------------- */ + +* { + font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + border: none; + border-radius: 0px; +} + +window#waybar { + background-color: rgba(0,0,0,0.8); + border-bottom: 0px solid #ffffff; + /* color: #FFFFFF; */ + background: transparent; + transition-property: background-color; + transition-duration: .5s; +} + +/* ----------------------------------------------------- + * Workspaces + * ----------------------------------------------------- */ + +#workspaces { + background: @backgroundlight; + margin: 2px 1px 3px 1px; + padding: 0px 1px; + border-radius: 15px; + border: 0px; + font-weight: bold; + font-style: normal; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; +} + +#workspaces button { + padding: 0px 5px; + margin: 4px 3px; + border-radius: 15px; + border: 0px; + color: @textcolor1; + background-color: @backgrounddark; + transition: all 0.3s ease-in-out; + opacity: 0.4; +} + +#workspaces button.active { + color: @textcolor1; + background: @backgrounddark; + border-radius: 15px; + min-width: 40px; + transition: all 0.3s ease-in-out; + opacity:1.0; +} + +#workspaces button:hover { + color: @textcolor1; + background: @backgrounddark; + border-radius: 15px; + opacity:0.7; +} + +/* ----------------------------------------------------- + * Tooltips + * ----------------------------------------------------- */ + +tooltip { + border-radius: 10px; + background-color: @backgroundlight; + opacity:0.8; + padding:20px; + margin:0px; +} + +tooltip label { + color: @textcolor2; +} + +/* ----------------------------------------------------- + * Window + * ----------------------------------------------------- */ + +#window { + background: @backgroundlight; + margin: 5px 15px 5px 0px; + padding: 2px 10px 0px 10px; + border-radius: 12px; + color:@textcolor2; + font-size:16px; + font-weight:normal; + opacity:0.8; +} + +window#waybar.empty #window { + background-color:transparent; +} + +/* ----------------------------------------------------- + * Taskbar + * ----------------------------------------------------- */ + +#taskbar { + /* background: @color11; */ + background: @backgroundlight; + margin: 3px 15px 3px 0px; + padding:0px; + /*padding: 2px 3px 1px 3px;*/ + border-radius: 15px; + font-weight: normal; + font-style: normal; + opacity:0.8; + border: 3px solid @backgroundlight; +} + +#taskbar button { + margin:0; + border-radius: 15px; + padding: 0px 5px 0px 5px; +} + +/* ----------------------------------------------------- + * Modules + * ----------------------------------------------------- */ + +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +/* ----------------------------------------------------- + * Custom Quicklinks + * ----------------------------------------------------- */ + +#custom-brave, #custom-outlook, #custom-filemanager, #custom-teams, #custom-chatgpt, #custom-calculator, #custom-windowsvm, #custom-cliphist, #custom-wallpaper { + margin-right: 20px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; +} + +#custom-wallpaper { + margin-right:23px; +} + +/* ----------------------------------------------------- + * Custom Modules + * ----------------------------------------------------- */ + +#custom-appmenu { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 0px 10px 0px 10px; + margin: 3px 15px 3px 14px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Custom Exit + * ----------------------------------------------------- */ + +#custom-exit { + margin: 0px 15px 0px 0px; + padding:0px; + font-size:20px; + color: @iconcolor; +} + +/* ----------------------------------------------------- + * Custom Updates + * ----------------------------------------------------- */ + +#custom-updates { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#custom-updates.green { + background-color: @backgroundlight; +} + +#custom-updates.yellow { + background-color: #ff9a3c; + color: #FFFFFF; +} + +#custom-updates.red { + background-color: #dc2f2f; + color: #FFFFFF; +} + +/* ----------------------------------------------------- + * Custom Youtube + * ----------------------------------------------------- */ + +#custom-youtube { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +/* ----------------------------------------------------- + * Hardware Group + * ----------------------------------------------------- */ + +#disk,#memory,#cpu { + margin:0px; + padding:0px; + font-size:16px; + color:@iconcolor; +} + +#memory { + margin-right:10px; +} + +/* ----------------------------------------------------- + * Clock + * ----------------------------------------------------- */ + +#clock { + background-color: @backgrounddark; + font-size: 16px; + color: @textcolor1; + border-radius: 15px; + padding: 1px 10px 0px 10px; + margin: 3px 15px 3px 0px; + opacity:0.8; + border:3px solid @bordercolor; +} + +/* ----------------------------------------------------- + * Pulseaudio + * ----------------------------------------------------- */ + +#pulseaudio { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#pulseaudio.muted { + background-color: @backgrounddark; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Network + * ----------------------------------------------------- */ + +#network { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#network.ethernet { + background-color: @backgroundlight; + color: @textcolor2; +} + +#network.wifi { + background-color: @backgroundlight; + color: @textcolor1; +} + +/* ----------------------------------------------------- + * Bluetooth + * ----------------------------------------------------- */ + +#bluetooth.on, #bluetooth.connected { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 10px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#bluetooth.off { + background-color: transparent; + padding: 0px; + margin: 0px; +} + +/* ----------------------------------------------------- + * Battery + * ----------------------------------------------------- */ + +#battery { + background-color: @backgroundlight; + font-size: 16px; + color: @textcolor2; + border-radius: 15px; + padding: 2px 15px 0px 10px; + margin: 5px 15px 5px 0px; + opacity:0.8; +} + +#battery.charging, #battery.plugged { + color: @textcolor2; + background-color: @backgroundlight; +} + +@keyframes blink { + to { + background-color: @backgroundlight; + color: @textcolor2; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: @textcolor3; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +/* ----------------------------------------------------- + * Tray + * ----------------------------------------------------- */ + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +/* ----------------------------------------------------- + * Other + * ----------------------------------------------------- */ + +label:focus { + background-color: #000000; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + diff --git a/waybar/themestyle.sh b/waybar/themeswitcher.sh similarity index 67% rename from waybar/themestyle.sh rename to waybar/themeswitcher.sh index 0a25975..83601d2 100755 --- a/waybar/themestyle.sh +++ b/waybar/themeswitcher.sh @@ -6,11 +6,17 @@ do if [ ! $value == "$HOME/dotfiles/waybar/styles/" ]; then if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then result=$(echo $value | sed "s#$HOME/dotfiles/waybar/styles/#/#g") - listThemes+="$result\n" + IFS='/' read -ra arrThemes <<< "$result" + echo $arrThemes + listThemes+="/${arrThemes[1]};$result\n" fi fi done + listThemes=${listThemes::-2} + choice=$(echo -e "$listThemes" | rofi -dmenu -config ~/dotfiles/rofi/config-wallpaper.rasi -no-show-icons -width 30 -p "Themes") -echo "$choice" > ~/.cache/.themestyle.sh -~/dotfiles/waybar/launch.sh \ No newline at end of file +if [ "$choice" ]; then + echo "$choice" > ~/.cache/.themestyle.sh + ~/dotfiles/waybar/launch.sh +fi \ No newline at end of file