diff --git a/eww/.cache.sqlite b/eww/.cache.sqlite index 13a33ed..bc86cb7 100644 Binary files a/eww/.cache.sqlite and b/eww/.cache.sqlite differ diff --git "a/eww/\\" "b/eww/\\" new file mode 100644 index 0000000..6e7a8ed --- /dev/null +++ "b/eww/\\" @@ -0,0 +1,28 @@ +(include "widgets/bar.yuck") +(include "widgets/desktop.yuck") + +(defvar eww "/bin/eww") + +(defwindow bar + :monitor 0 + :geometry (geometry :x "0%" + :y "0.5%" + :width "98%" + :height "2%" + :anchor "top center") + :stacking "fg" + :exclusive true + (bar) +) + +(defwindow desktop + :monitor 0 + :geometry (geometry :x "1%" + :y "2%" + :width "15%" + :height "60%" + :anchor "center left") + :stacking "fg" + :exclusive true + (desktop) +) diff --git a/eww/eww.scss b/eww/eww.scss index 70d368b..ef09a5a 100644 --- a/eww/eww.scss +++ b/eww/eww.scss @@ -1,19 +1,32 @@ /* --------------------------------------- Kanagawa Colors ------------------------------------*/ +$background: #1F1F28; +$foreground: #dcd7ba; +$color0: #16161d; +$color1: #c34043; +$color4: #7e9cd8; +$color5: #957fb8; +// $color8: #54546d; +$color11: #e6c384; +/* +$background: #2a170d; +$foreground: #e5e2d3; +$color0: #2a170d; +$color1: #cd3727; +$color4: #F1A054; +$color5: #398b9f; +$color8: #826140; +$color11: #fed678; +*/ + +$sumi_ink2: #2a2a37; +$color8: #363646; $wave_blue1: #2d4f67; -$autumn_red: #c34043; -$peach_red: #ff5d62; $autumn_green: #66946a; -$carp_yellow: #e6c384; -$crystal_blue: #7e9cd8; -$oni_violet: #957fb8; -$fuji_white: #dcd7ba; -$old_white: #c8c093; -$sumi_ink0: #16161d; -$sumi_ink1: #1F1F28; -$sumi_ink4: #54546d; $winter_blue: #252535; + + * { all: unset; font-family: "Arimo Nerd Font"; @@ -34,7 +47,7 @@ $winter_blue: #252535; .main_menu { background: $winter_blue; border-radius: 15px; - border: 2px solid $fuji_white; + border: 2px solid $foreground; } .menu_item { @@ -49,7 +62,7 @@ $winter_blue: #252535; } .bar_section { - background: rgba(31, 31, 40, 0.7); + background: rgba($background, 1); padding: 5px 10px; border-radius: 10px; } @@ -65,25 +78,27 @@ $winter_blue: #252535; .main_menu_label { background-color: transparent; - color: $fuji_white; + color: $foreground; font-size: 25; text-shadow: 0px 0px; } .datetime { - color: $crystal_blue; + color: $color4; + font-size: 20px; + font-weight: 100; } .weather { - color: $crystal_blue; + color: $color4; padding: 0px 10px; } -tooltip.background { - background-color: $sumi_ink0; - font-size: 18; +tooltip { + background-color: $color0; + font-size: 12; border-radius: 10px; - color: $fuji_white; + color: $foreground; } @@ -93,7 +108,7 @@ tooltip.background { border-radius: 7px; margin-top: 3px; margin-bottom: 3px; - color: $crystal_blue; + color: $color4; } .inactive_workspace { @@ -102,7 +117,7 @@ tooltip.background { margin-top: 3px; margin-bottom: 3px; border-radius: 7px; - color: $sumi_ink4; + color: $color8; } .workspaces { @@ -111,11 +126,11 @@ tooltip.background { } .updates { - color: $carp_yellow; + color: $color11; } .cpu { - color: $crystal_blue; + color: $color4; } .ram { @@ -132,35 +147,35 @@ tooltip.background { } .system_module { - background: rgba(22, 22, 30, 0.5); + background: $sumi_ink2; padding: 0px 10px 0px 15px; border-radius: 10px; } .volume { box-shadow: 0px 0px; - color: $crystal_blue; + color: $color4; } .volbar trough highlight { border-radius: 10px; - background-color: $crystal_blue; + background-color: $color4; border: transparent; } scale trough { border-radius: 10px; - min-height: 7px; + min-height: 10px; min-width: 100px; border: transparent; } .sysinfo { - color: $crystal_blue; + color: $color4; } .net_status { - color: $crystal_blue; + color: $color4; } .power { @@ -173,23 +188,19 @@ scale trough { } .shutdown { - color: $autumn_red; + color: $color1; } .restart { - color: $oni_violet; + color: $color5; } .logout { - color: $carp_yellow; + color: $color11; } .lock { - color: $crystal_blue; -} - -.sleep { - color: $fuji_white; + color: $color4; } /* -------------------------------------- Desktop Widget -------------------------------------- */ @@ -205,24 +216,24 @@ scale trough { .greeting { font-size: 36px; font-style: italic; - color: $crystal_blue; + color: $color4; } .desktop_time { font-weight: 700; - font-size: 96px; + font-size: 64px; } .desktop_time_h, .desktop_time_m { - color: $autumn_red; + color: $color1; } .desktop_time_colon { - color: $fuji_white; + color: $foreground; } .desktop_time_p { - color: $autumn_red; + color: $color1; } .desktop_date_date { @@ -232,58 +243,43 @@ scale trough { .desktop_date { font-weight: 700; font-size: 32px; - color: $fuji_white; + color: $foreground; } .desktop_mode_button { - color: $autumn_red; + color: $color1; font-size: 96px; } -/* -------------------------------------Powermenu Widget---------------------------------------*/ -.powermenu { - border-radius: 10px; - border: 2px solid $fuji_white; - background: $winter_blue; +.cava_column{ + background-color: rgba(220, 215, 186, 0.3); + margin: 0 3px; + margin-bottom: 8px; + border-radius: 10 10 0 0; } -.powermenu_button { - background: transparent; - box-shadow: 0px 0px; - border: 2px; - padding: 12px; - margin: 5px; +.desktop_cava { + min-height: 200px; } -.powermenu_button:nth-child(1) { - border-radius: 10px; - background: $oni_violet; +.music_title { + font-size: 18px; + font-weight: 600; + color: $color1; } -.powermenu_button:nth-child(2) { - border-radius: 10px; - background: $peach_red; +.music_artist { + color: $foreground; } -.powermenu_button:hover { - background: transparent; - padding: 10px; +.music_album { + color: $foreground; } -.powermenu_button:nth-child(1):hover { - border: 2px solid $oni_violet; +.album_art { + border-radius: 10; } -.powermenu_button:nth-child(2):hover { - border: 2px solid $peach_red; -} - -.powermenu_label_restart { - color: $fuji_white; - font-size: 32px; -} - -.powermenu_label_poweroff { - color: $fuji_white; - font-size: 32px; +.music_module { + background-color: $color0; } diff --git a/eww/images/cover.png b/eww/images/cover.png new file mode 100644 index 0000000..58f4391 Binary files /dev/null and b/eww/images/cover.png differ diff --git a/eww/images/default_cover.png b/eww/images/default_cover.png new file mode 100644 index 0000000..8a0aa10 Binary files /dev/null and b/eww/images/default_cover.png differ diff --git a/eww/scripts/album_art.sh b/eww/scripts/album_art.sh new file mode 100755 index 0000000..8807666 --- /dev/null +++ b/eww/scripts/album_art.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +ART_PATH="$HOME/.config/eww/images/cover.png" + +ART_FROM_SPOTIFY="$(playerctl -p %any,spotify metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')" +ART_FROM_BROWSER="$(playerctl -p %any,mpd,firefox,chromium,brave metadata mpris:artUrl | sed -e 's/file:\/\///g')" + +if [[ $(playerctl -p spotify,%any,firefox,chromium,brave,mpd metadata mpris:artUrl) ]]; then + curl -s "$ART_FROM_SPOTIFY" --output $ART_PATH +elif [[ -n $ART_FROM_BROWSER ]]; then + cp $ART_FROM_BROWSER $ART_PATH +else + cp $HOME/.config/eww/images/default_cover.png $ART_PATH +fi diff --git a/eww/scripts/cavajson b/eww/scripts/cavajson new file mode 100755 index 0000000..4fe23d2 Binary files /dev/null and b/eww/scripts/cavajson differ diff --git a/eww/scripts/custom_configs/cava b/eww/scripts/custom_configs/cava new file mode 100644 index 0000000..ded5699 --- /dev/null +++ b/eww/scripts/custom_configs/cava @@ -0,0 +1,21 @@ +[general] + +mode = normal +framerate = 60 +autosens = 1 +bars = 20 + +[output] + +method = raw +raw_target = /dev/stdout +data_format = ascii + +[smoothing] +monstercat = 1 +gravity = 1000000 +noise_reduction = 34 + +[input] +method = pulse +source = auto diff --git a/eww/widgets/date_time.yuck b/eww/widgets/date_time.yuck index 97c13c9..74622e3 100644 --- a/eww/widgets/date_time.yuck +++ b/eww/widgets/date_time.yuck @@ -2,7 +2,7 @@ (defpoll month :interval "1s" `date +\"%b\"`) (defpoll date :interval "1s" `date +\"%d\"`) -(defpoll h :interval "1s" `date +\"%H\"`) +(defpoll h :interval "1s" `date +\"%l\"`) (defpoll m :interval "1s" `date +\"%M\"`) (defpoll s :interval "1s" `date +\"%S\"`) @@ -24,6 +24,8 @@ (label :text h :class "datetime" ) (label :text ":" :class "datetime" ) (label :text m :class "datetime") + (label :text " ") + (label :text p :class "datetime") ) ) ) diff --git a/eww/widgets/desktop_cava.yuck b/eww/widgets/desktop_cava.yuck new file mode 100644 index 0000000..7816a26 --- /dev/null +++ b/eww/widgets/desktop_cava.yuck @@ -0,0 +1,45 @@ +(defwidget cavacol_musicwin [nth dir] + (box + :valign "${dir == 'up' ? 'end' : ( + dir == 'down' ? 'start' : ( + dir == 'virt' ? 'center' : 'fill' + ) + )}" + :halign "${dir == 'right' ? 'start' : ( + dir == 'left' ? 'end' : ( + dir == 'hori' ? 'center' : 'fill' + ) + )}" + :width 15 + :class "cava_column" + :style " + transition: 0ms; + min-height: ${cavajson[nth]/7}px; + " + ) +) + +(defwidget desktop_cava [] + (box :class "desktop_cava" :space-evenly true :orientation "h" + (cavacol_musicwin :dir "up" :nth 0) + (cavacol_musicwin :dir "up" :nth 1) + (cavacol_musicwin :dir "up" :nth 2) + (cavacol_musicwin :dir "up" :nth 3) + (cavacol_musicwin :dir "up" :nth 4) + (cavacol_musicwin :dir "up" :nth 5) + (cavacol_musicwin :dir "up" :nth 6) + (cavacol_musicwin :dir "up" :nth 7) + (cavacol_musicwin :dir "up" :nth 8) + (cavacol_musicwin :dir "up" :nth 9) + (cavacol_musicwin :dir "up" :nth 10) + (cavacol_musicwin :dir "up" :nth 11) + (cavacol_musicwin :dir "up" :nth 12) + (cavacol_musicwin :dir "up" :nth 13) + (cavacol_musicwin :dir "up" :nth 14) + (cavacol_musicwin :dir "up" :nth 15) + (cavacol_musicwin :dir "up" :nth 16) + (cavacol_musicwin :dir "up" :nth 17) + (cavacol_musicwin :dir "up" :nth 18) + (cavacol_musicwin :dir "up" :nth 19) + ) +) diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index b0b1b8b..9716a2b 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -121,8 +121,6 @@ misc { # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER -bind = $mainMod, d, exec, eww open desktop --toggle - # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, kitty bind = $mainMod, Q, killactive,