diff --git a/eww/eww.scss b/eww/eww.scss index 15a25ea..7c49604 100644 --- a/eww/eww.scss +++ b/eww/eww.scss @@ -1,227 +1,4 @@ -$carbon: #161616; -$black: #000000; -$white: #ffffff; -$bright_pink: #ee5396; -$green: #42be65; -$dark_grey: #262626; -$cyan: #3ddbd9; -$blue: #33b1ff; -$light_grey: #525252; -$yellow: #ffe97b; -$magenta: #ff7eb6; +@import './scss/colors'; +@import './scss/bar.scss'; +@import './scss/coldx.scss'; -* { - all: unset; -} - -.bar{ - background-color: $black; - border-radius: 16px; -} - -.bar_ { - font-family:"DaddyTimeMono"; - font-size: 15px; - color: $white; - border-radius: 16px; - background-color: $black; - border: 3px; - border-style: solid; - border-color: $bright_pink; -} - -.workspace-entry { - font-size: 20px; - padding-left: 10px; - color: $white; -} - -.workspace-entry.current { - color: $white; -} - -.time { - padding-right: 10px; - padding-left: 10px; -} - -.bat { - padding-right: 10px; - color: $green; -} -.volume { - padding-right: 10px; - padding-left: 10px; - color: $white; -} - -.volbar trough highlight { - border-radius: 10px; - background-color: $cyan; - -} - -scale trough { - all: unset; - background-color: #22242b; - border-radius: 16px; - min-height: 10px; - min-width: 70px; - margin-left: 10px; -} - -.volume_icon{ - font-size: 25px; -} - -.brightbar trough highlight { - border-radius: 10px; - background-color: $yellow; -} - -.bright_icon { - font-size: 25px; - } - -.backlight { - padding-right: 10px; - padding-left: 10px; -} - -.wifi { - padding-left: 10px; - padding-right: 10px; -} - -.wifi_btn{ - font-size: 25px; -} - -.clock_time_class, .clock_minute_class { - font-size: 23; -} - -.clock_time_sep { - font-size: 20; -} - -// Calendar -.cal { - background-color: $black; - font-size: 18px; - font-weight: normal; - border-radius: 16px; - -.cal-in { - padding: 0px 10px 0px 10px; - color: $white; - border: 3px; - border-color: $bright_pink; - border-style: solid; - border-radius: 16px; - -.cal { - &.highlight { - padding: 20px; - } - - padding: 5px 5px 5px 5px; - margin-left: 10px; - } - } -} - -calender { - color: $bright_pink; - -} -calendar:selected { - color: $bright_pink; -} - -calendar.header { -color: $white; -font-weight: bold; -} - -calendar.button { -color: $white; -} - -calendar.highlight { -color: $white; -font-weight: bold; -} - -calendar:indeterminate { -color: $white; -} - -.batbar { - color: $green; - background-color: $dark_grey; - border-radius: 10px; -} - -.bat { - border-radius: 16px; - margin: 0px 10px 0px 10px; - } - -.iconbat{ - font-size: 25px; - color: $black; - margin: 5px; -} - - -tooltip.background { - background-color: $black; - font-size: 18; - border-radius: 10px; - color: $white; - border: 3px; - border-radius: 16px; - border-color: $bright_pink; - border-style: solid; -} - -tooltip label { - margin: 6px; -} - -.membar { - color: $yellow; - background-color: $dark_grey; - border-radius: 10px; -} - -.mem { - border-radius: 16px; - margin: 0px 10px 0px 10px; - } - -.iconmem{ - font-size: 25px; - color: $black; - margin: 5px; -} - -.separ { - color: $light_grey; - font-weight: bold; - font-size: 22px; - margin: 0px 8px 0px 8px; -} - -.title { - font-size: 18px; -} - -.ws-box { - color: $white; -} - -.ws-icons{ - padding: 5px; -} diff --git a/eww/eww.yuck b/eww/eww.yuck index 66207d6..2190930 100644 --- a/eww/eww.yuck +++ b/eww/eww.yuck @@ -1,2 +1,2 @@ (include "yuck/bar.yuck") -(include "yuck/menu.yuck") +(include "yuck/coldx.yuck") diff --git a/eww/scripts/coldx_launch.sh b/eww/scripts/coldx_launch.sh new file mode 100755 index 0000000..c5fccde --- /dev/null +++ b/eww/scripts/coldx_launch.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +## window list +w_ls=" + coldx \ + profile_window \ + power_menu \ + music_window \ + cpu_window \ + launcher_window \ + qoutes_window \ +" +## Run eww daemon if not running already +if [[ ! `pidof eww` ]]; then + eww daemon + sleep 1 +fi + + +## Open widgets +run_eww() { + eww open-many --toggle $w_ls +} + +run_eww \ No newline at end of file diff --git a/eww/scripts/inst.sh b/eww/scripts/inst.sh index 7e27dca..2d3f841 100755 --- a/eww/scripts/inst.sh +++ b/eww/scripts/inst.sh @@ -30,10 +30,13 @@ apps_install() { separator echo "[+] Here's a list of apps/dependencies that will be installed as part of User apps" separator - echo "[+] Installing...nvim,foot,hyprland,hyprpaper,ttf-hack-nerd,eww-wayland,jq,socat,node,npm,google-chrome,fuzzel,swaylock-effects,discord,bleachbit,otf-daddttimemono-git" - echo "[+] bleachbit,zathura,zathura-pdf-mupdf,btop,dunst" + echo "[+] Installing...nvim,foot,hyprland,hyprpaper,ttf-hack-nerd,eww-wayland,jq,socat,node,npm,google-chrome,fuzzel,swaylock-effects,discord,bleachbit,otf-daddttimemono-git,code(extensions installed through vsix file) + btop,qt5-wayland,qt6-wayland,xdg-desktop-portal-hyprland,xdg-desktop-portal-gtk,nwg-look,phocus-gtk-theme-git + ttf-jetbrains-mono-nerd" + echo "[+] bleachbit,zathura,zathura-pdf-mupdf,btop,dunst,playerctl" yay -S --needed --noconfirm nvim foot hyprland hyprpaper ttf-hack-nerd eww-wayland jq socat node npm google-chrome fuzzel swaylock-effects discord bleachbit otf-daddttimemono-git - yay -S --needed --noconfirm bleachbit zathura zathura-pdf-mupdf btopi dunst + yay -S --needed --noconfirm bleachbit zathura zathura-pdf-mupdf btop dunst qt5-wayland qt6-wayland xdg-desktop-portal-hyprland xdg-desktop-portal-gtk nwg-look phocus-gtk-theme-git + yay -S --needed --noconfirm ttf-jetbrains-mono-nerd playerctl separator echo "[+] Here's a list of apps/dependencies that will be installed as part of Web exploitation" separator diff --git a/eww/scripts/media.sh b/eww/scripts/media.sh new file mode 100755 index 0000000..10aaafb --- /dev/null +++ b/eww/scripts/media.sh @@ -0,0 +1,170 @@ +#!/bin/bash +# This script handles all media commands + +bkpCover=$HOME/.config/eww/vertical-bar/assets/music.png + +function has_player() { + if playerctl status &> /dev/null;then + [[ $(playerctl status) = "Stopped" ]] && return 1 || return 0 + else + return 1 + fi +} + +function title() { + echo "Nothing Playing" + [[ ! -z has_player && has_player ]] && playerctl metadata title; + playerctl metadata -f '{{ title }}.{{ playerName }}' -F | while read -r title; do + [[ ! -z has_player && has_player && ! -z "$title" ]] && playerctl metadata title || echo "Nothing Playing" + done; +} + +function artist() { + echo "Offline" + [[ ! -z has_player && has_player ]] && playerctl metadata artist; + playerctl metadata -f '{{ artist }}.{{ playerName }}' -F | while read -r artist; do + [[ ! -z has_player && has_player && ! -z "$artist" ]] && playerctl metadata artist || echo "Offline" + done; +} + +function cover() { + Cover="$HOME/.cache/temp-$(playerctl metadata --format '{{ title }}').png" + albumart="$(playerctl metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')" + [[ $(playerctl metadata mpris:artUrl) ]] && curl -s "$albumart" --output "$Cover" || cp $bkpCover "$Cover" + echo $Cover +} + +function follow_cover() { + echo $bkpCover + [[ ! -z has_player && has_player ]] && cover && echo $cover + playerctl metadata -f '{{ mpris:artUrl }}' -F | while read -r coverPath; do + [[ ! -z has_player && has_player && ! -z "$coverPath" ]] && cover && echo $Cover + done; +} + +function ttime() { + echo "--:-- / --:--" + [[ ! -z has_player && has_player ]] && playerctl metadata -f "{{duration(position)}} / {{duration(mpris:length)}}" + playerctl metadata -f '{{ duration(position) }} / {{ duration(mpris:length) }}' -F | while read -r ttime; do + [[ ! -z has_player && has_player && ! -z "$ttime" ]] && echo "$ttime" || echo "--:-- / --:--" + done; +} + +function current_time() { + echo "--:--" + [[ ! -z has_player && has_player ]] && playerctl metadata -f "{{duration(position)}}" + playerctl metadata -f '{{ duration(position) }}' -F | while read -r ctime; do + [[ ! -z has_player && has_player && ! -z "$ctime" ]] && echo "$ctime" || echo "--:--" + done; +} + +function total_time() { + echo "--:--" + [[ ! -z has_player && has_player ]] && playerctl metadata -f "{{duration(mpris:length)}}" + playerctl metadata -f '{{ duration(mpris:length) }}' -F | while read -r ttime; do + [[ ! -z has_player && has_player && ! -z "$ttime" ]] && echo "$ttime" || echo "--:--" + done; +} + +function class() { + [[ ! -z has_player && has_player ]] && echo "pause" || echo "play" + playerctl --follow status | while read -r status; do + [[ ! -z has_player && has_player && "$status" = "Playing" ]] && echo "pause" || echo "play" + done; +} + +function icon() { + [[ ! -z has_player && has_player && "$status" = "Playing" ]] && echo "" || echo "" + playerctl --follow status | while read -r status; do + [[ ! -z has_player && has_player && "$status" = "Playing" ]] && echo "" || echo "" + done +} + +function toggle() { + if has_player; then + playerctl play-pause + fi +} + +function play() { + if has_player;then + playerctl play + fi +} + +function pause() { + if has_player;then + playerctl pause + fi +} + +function stop() { + if has_player;then + playerctl stop + fi +} + +function next() { + if has_player;then + playerctl next + fi +} + +function prev() { + if has_player;then + playerctl previous + fi +} + +function percent() { + if has_player;then + local pos=$(playerctl position) + local len=$(playerctl metadata mpris:length) + echo "$pos $len" | awk '{ print ($1 / $2 * 1000000) * 100 }' + else + echo 0 + fi +} + +function prev() { + if has_player; then + playerctl previous + fi +} + +function next() { + if has_player; then + playerctl next + fi +} + +function track() { + if has_player; then + local len=$(playerctl metadata mpris:length) + local pos=$1 + pos=$((len * pos / 100000000)) + echo "$pos" + playerctl position $pos + fi +} + +case "$1" in + "title") title;; + "artist") artist;; + "time") ttime;; + "current-time") current_time;; + "total-time") total_time;; + "toggle") toggle;; + "icon") icon;; + "percent") percent;; + "play") play;; + "pause") pause;; + "stop") stop;; + "prev") prev;; + "next") next;; + "class") class;; + "cover") cover;; + "track") track "$2";; + "follow-cover") follow_cover;; + *) cover;; +esac diff --git a/eww/scripts/music.sh b/eww/scripts/music.sh new file mode 100755 index 0000000..b826c1b --- /dev/null +++ b/eww/scripts/music.sh @@ -0,0 +1,69 @@ +get_cover() { + # COVER_URL=$1 + mkdir -p "eww_covers" + cd "eww_covers" || exit + + IMGPATH="cover_art" + echo '{"image": "null", "color": {"alpha":"100","colors":{"color0":"null","color1":"null","color10":"null","color11":"null","color12":"null","color13":"null","color14":"null","color15":"null","color2":"null","color3":"null","color4":"null","color5":"null","color6":"null","color7":"null","color8":"null","color9":"null"},"special":{"background":"null","cursor":"null","foreground":"null"},"wallpaper":"~/.config/eww/eww_covers/cover_art","source":"󱛟"},"materialcolor":{"onPrimary":"null","onPrimaryContainer":"null","onSecondaryContainer":"null","primary":"null","primaryContainer":"null","secondaryContainer":"null"}}' + # echo '{"image": "eww_covers/cover_art_default","source":"󱛟"}}' + + playerctl -F metadata mpris:artUrl 2>/dev/null | while read -r COVER_URL; do + music_source='󰐍' + COVER_URL=${COVER_URL//blob:/} + COVER_URL=${COVER_URL//file:\/\//} + COVER_URL=${COVER_URL//%20/ } + if [[ "$COVER_URL" = *"https"* ]]; then + music_source='󰖟' + coverurl="$(playerctl metadata mpris:artUrl)" + coverurl_highres_yt="$(echo $coverurl | sed 's/hqdefault/maxresdefault/g')" + coverurl_highres_soundcloud="$(echo $coverurl | sed 's/80x80/500x500/g')" + # SoundCloud + if [[ "$coverurl" == *"sndcdn"* ]]; then + music_source='󰓀' + curl --silent --output "$IMGPATH""_soundcloud" "$coverurl_highres_soundcloud" -q –read-timeout=0.1 + cp "$IMGPATH""_soundcloud" "$IMGPATH" + imgsize=$(echo $(du -b ~/.config/eww/eww_covers/cover_art | tr '\t' '\n' | grep -v 'cover_art')) + # Youtube + elif [[ "$coverurl" == *"ytimg"* ]]; then + music_source='󰗃' + curl --silent --output "$IMGPATH""_yt" "$coverurl_highres_yt" -q –read-timeout=0.1 + cp "$IMGPATH""_yt" "$IMGPATH" + imgsize=$(echo $(du -b ~/.config/eww/eww_covers/cover_art | tr '\t' '\n' | grep -v 'cover_art')) + # Likely YT Music + elif [[ "$coverurl" == *"googleusercontent"* ]]; then + music_source='' + curl --silent --output "$IMGPATH""_other" "$coverurl" -q –read-timeout=0.1 + cp "$IMGPATH""_other" "$IMGPATH" + imgsize=$(echo $(du -b ~/.config/eww/eww_covers/cover_art | tr '\t' '\n' | grep -v 'cover_art')) + elif [[ "$coverurl" == *"spotify"* ]]; then + music_source='󰓇' + curl --silent --output "$IMGPATH""_other" "$coverurl" -q –read-timeout=0.1 + cp "$IMGPATH""_other" "$IMGPATH" + imgsize=$(echo $(du -b ~/.config/eww/eww_covers/cover_art | tr '\t' '\n' | grep -v 'cover_art')) + # Any other + else + curl --silent --output "$IMGPATH""_other" "$coverurl" -q –read-timeout=0.1 + cp "$IMGPATH""_other" "$IMGPATH" + imgsize=$(echo $(du -b ~/.config/eww/eww_covers/cover_art | tr '\t' '\n' | grep -v 'cover_art')) + fi + # Fallback + if [ "$imgsize" == "0" ] || [ ! "$(diff ~/.config/eww/eww_covers/cover_art ~/.config/eww/eww_covers/cover_art_error)" ]; then + curl --silent --output "$IMGPATH""_lowres" "$coverurl" -q –read-timeout=0.1 + cp "$IMGPATH""_lowres" "$IMGPATH" + fi + + cd .. + cd "eww_covers" + elif [ "$COVER_URL" = "" ]; then + echo '{"image": "", "color": "$bg"}' + else + music_source='󱛟' + cp "$COVER_URL" "$IMGPATH" + + cd .. + cd "eww_covers" + fi + done +} + +get_cover \ No newline at end of file diff --git a/eww/scripts/qoutes.sh b/eww/scripts/qoutes.sh new file mode 100755 index 0000000..67c139f --- /dev/null +++ b/eww/scripts/qoutes.sh @@ -0,0 +1,4 @@ +#! /bin/bash + +wget -q http://www.brainyquote.com/link/quotebr.js -O - | \ + grep -o -E "\"[A-Z].*\." \ No newline at end of file diff --git a/eww/scss/bar.scss b/eww/scss/bar.scss new file mode 100644 index 0000000..d1c07b0 --- /dev/null +++ b/eww/scss/bar.scss @@ -0,0 +1,217 @@ +@import './colors'; + +* { + all: unset; +} + +.bar{ + background-color: $black; + border-radius: 16px; +} + +.bar_ { + font-family:"DaddyTimeMono"; + font-size: 15px; + color: $white; + border-radius: 16px; + background-color: $black; + border: 3px; + border-style: solid; + border-color: $bright_pink; +} + +.workspace-entry { + font-size: 20px; + padding-left: 10px; + color: $white; +} + +.workspace-entry.current { + color: $white; +} + +.time { + padding-right: 10px; + padding-left: 10px; +} + +.bat { + padding-right: 10px; + color: $green; +} +.volume { + padding-right: 10px; + padding-left: 10px; + color: $white; +} + +.volbar trough highlight { + border-radius: 10px; + background-color: $cyan; + +} + +scale trough { + all: unset; + background-color: #22242b; + border-radius: 16px; + min-height: 10px; + min-width: 70px; + margin-left: 10px; +} + +.volume_icon{ + font-size: 25px; +} + +.brightbar trough highlight { + border-radius: 10px; + background-color: $yellow; +} + +.bright_icon { + font-size: 25px; + } + +.backlight { + padding-right: 10px; + padding-left: 10px; +} + +.wifi { + padding-left: 10px; + padding-right: 10px; +} + +.wifi_btn{ + font-size: 25px; +} + +.clock_time_class, .clock_minute_class { + font-size: 23; +} + +.clock_time_sep { + font-size: 20; +} + +// Calendar +.cal { + background-color: $black; + font-size: 18px; + font-weight: normal; + border-radius: 16px; + +.cal-in { + padding: 0px 10px 0px 10px; + color: $white; + border: 3px; + border-color: $bright_pink; + border-style: solid; + border-radius: 16px; + +.cal { + &.highlight { + padding: 20px; + } + + padding: 5px 5px 5px 5px; + margin-left: 10px; + } + } +} + +calender { + color: $bright_pink; + +} +calendar:selected { + color: $bright_pink; +} + +calendar.header { +color: $white; +font-weight: bold; +} + +calendar.button { +color: $white; +} + +calendar.highlight { +color: $white; +font-weight: bold; +} + +calendar:indeterminate { +color: $white; +} + +.batbar { + color: $green; + background-color: $dark_grey; + border-radius: 10px; +} + +.bat { + border-radius: 16px; + margin: 0px 10px 0px 10px; + } + +.iconbat{ + font-size: 25px; + color: $black; + margin: 5px; +} + + +tooltip.background { + background-color: $black; + font-size: 18; + border-radius: 10px; + color: $white; + border: 3px; + border-radius: 16px; + border-color: $bright_pink; + border-style: solid; +} + +tooltip label { + margin: 6px; +} + +.membar { + color: $cyan; + background-color: $dark_grey; + border-radius: 10px; +} + +.mem { + border-radius: 16px; + margin: 0px 10px 0px 10px; + } + +.iconmem{ + font-size: 25px; + color: $black; + margin: 5px; +} + +.separ { + color: $light_grey; + font-weight: bold; + font-size: 22px; + margin: 0px 8px 0px 8px; +} + +.title { + font-size: 18px; +} + +.ws-box { + color: $white; +} + +.ws-icons{ + padding: 5px; +} diff --git a/eww/scss/coldx.scss b/eww/scss/coldx.scss new file mode 100644 index 0000000..2e886ae --- /dev/null +++ b/eww/scss/coldx.scss @@ -0,0 +1,158 @@ +@import './colors'; + +* { + all: unset; +} + +.main_bg { + font-family:"DaddyTimeMono"; + font-size: 15px; + color: $white; + border-radius: 16px; + background-color: $black; + border: 3px; + border-style: solid; + border-color: $bright_pink; +} + +.profile { + font-size: 20px; + font-weight: bolder; + background-color:$black; + border-radius: 10px; + border: 3px; + border-style: solid; + border-color: $bright_pink; +} + +.power_menu { + background-color: $black; + border-radius: 10px; + border: 3px; + border-style: solid; + border-color: $bright_pink; + font-size: 50px; +} + +.power_off:hover { + color: $bright_pink; +} + +.power_restart:hover { + color: $magenta; +} + +.power_exit:hover { + color: $blue; +} + +.music_wid { + background-color: $black; + border-radius: 10px; + border: 3px; + border-style: solid; + border-color: $bright_pink; +} + +.music_title { + font-weight: bolder; + padding-top: 30px; + font-size: 16px; +} + +.music_track highlight { + all: unset; + background-color: $blue; + border-radius: 24px; +} + + +.music_track trough { + all: unset; + border-radius: 16px; + background-color: $dark_grey; + min-height: 10px; + min-width: 150px; + } + +.music_track_text { + padding-left: 10px; +} + +.music_track_container { + padding-left: 60px; +} + +.music_ctls { + font-size: 30px; + padding-left: 100px; +} + +.music_prev:hover { + color: $green; +} + +.music_play_pause:hover { + color: $green; +} + +.music_next:hover { + color: $green; +} + +.cpu { + background-color: $black; + border-radius: 10px; + border: 3px; + border-style: solid; + border-color: $bright_pink; + color: white; +} + +.iconcpu { + font-size: 50px; + color: white; + padding-right: 10px; +} + +.launcher { + font-size: 40px; + background-color: $black; + border-radius: 10px; + border: 3px; + border-style: solid; + border-color: $bright_pink; + padding-right: 10px; +} + +.discord:hover { + color: $blue; + font-size: 50px; +} + +.code:hover { + color: $magenta; + font-size: 50px; +} + +.chrome:hover { + color: $yellow; + font-size: 50px; +} + +.cpubar { + color: $magenta; + background-color: $dark_grey; + border-radius: 10px; + margin: 20px; +} + +.qoutes { + background-color: $black; + border-radius: 10px; + border: 3px; + border-style: solid; + border-color: $bright_pink; +} + + diff --git a/eww/scss/colors.scss b/eww/scss/colors.scss new file mode 100644 index 0000000..8d3df7e --- /dev/null +++ b/eww/scss/colors.scss @@ -0,0 +1,11 @@ +$carbon: #161616; +$black: #000000; +$white: #ffffff; +$bright_pink: #ee5396; +$green: #42be65; +$dark_grey: #262626; +$cyan: #3ddbd9; +$blue: #33b1ff; +$light_grey: #525252; +$yellow: #ffe97b; +$magenta: #be95ff; \ No newline at end of file diff --git a/eww/yuck/coldx.yuck b/eww/yuck/coldx.yuck new file mode 100644 index 0000000..96026cd --- /dev/null +++ b/eww/yuck/coldx.yuck @@ -0,0 +1,88 @@ +(include "yuck/widgets/profile.yuck") +(include "yuck/widgets/power.yuck") +(include "yuck/widgets/music.yuck") +(include "yuck/widgets/cpu.yuck") +(include "yuck/widgets/launch.yuck") +(include "yuck/widgets/qoute.yuck") + +; qoutes window +(defwindow qoutes_window + :monitor 0 + :stacking "fg" + :geometry (geometry :anchor "left top" + :width "290px" + :height "180px" + :x "110px" + :y "785px") + (qoute)) + + +; launcher window +(defwindow launcher_window + :monitor 0 + :stacking "fg" + :geometry (geometry :anchor "left top" + :width "80px" + :height "400px" + :x "20px" + :y "565px") + (launcher)) + +; cpu window +(defwindow cpu_window + :monitor 0 + :stacking "fg" + :geometry (geometry :anchor "left top" + :width "290px" + :height "210px" + :x "110px" + :y "565px") + (cpu)) + +; music window +(defwindow music_window + :monitor 0 + :stacking "fg" + :geometry (geometry :anchor "left top" + :width "380px" + :height "200px" + :x "20px" + :y "340px") + (music_wid)) + +; power window +(defwindow power_menu + :monitor 0 + :stacking "fg" + :geometry (geometry :anchor "left top" + :width "100px" + :height "300px" + :x "300px" + :y "30px") + (power)) + +; profile window +(defwindow profile_window + :monitor 0 + :stacking "fg" + :geometry (geometry :anchor "left top" + :width "270px" + :height "300px" + :x "20px" + :y "30px") + (profile)) + +; main bg widget +(defwidget coldx_content [] + (box :class "main_bg" :orientation "h" :space-evenly "false")) + +; main bg window +(defwindow coldx + :monitor 0 + :stacking "fg" + :geometry (geometry :x "10px" + :y "10px" + :width "400px" + :height "995px" + :anchor "top left") + (coldx_content)) diff --git a/eww/yuck/menu.yuck b/eww/yuck/menu.yuck deleted file mode 100644 index fce0b9d..0000000 --- a/eww/yuck/menu.yuck +++ /dev/null @@ -1,21 +0,0 @@ -(defwidget power_options [] - (box :orientation "v" - :space-evenly false - :valign "top" - :class "power_options")) - - -(defwidget menu_ [] - (box :orientation "v" - :class "menu_" - (power_options))) - -(defwindow menu - :monitor 0 - :stacking "fg" - :geometry (geometry :x "25px" - :y "5px" - :width "100px" - :height "100px" - :anchor "top left") - (menu_)) diff --git a/eww/yuck/widgets/clock.yuck b/eww/yuck/widgets/clock.yuck index b23e9d4..63240e9 100644 --- a/eww/yuck/widgets/clock.yuck +++ b/eww/yuck/widgets/clock.yuck @@ -1,6 +1,5 @@ -(defpoll clock_time :interval "5m" "date +\%I") -(defpoll clock_minute :interval "5s" "date +\%M") -(defpoll clock_date :interval "10h" "date '+%d/%m'") +(defpoll clock_time :interval "1m" "date +\%I") +(defpoll clock_minute :interval "30s" "date +\%M") (defwidget clock [] diff --git a/eww/yuck/widgets/cpu.yuck b/eww/yuck/widgets/cpu.yuck new file mode 100644 index 0000000..5a42fef --- /dev/null +++ b/eww/yuck/widgets/cpu.yuck @@ -0,0 +1,8 @@ +(defwidget cpu [] + (box :class "cpu" :vexpand "false" :hexpand "false" + (circular-progress :value {EWW_CPU.avg} + :class "cpubar" + :thickness 10 + :tooltip "${round(EWW_CPU.cores[0].freq/1000,2)} GHz" + (label :text "" :class "iconcpu")))) + diff --git a/eww/yuck/widgets/launch.yuck b/eww/yuck/widgets/launch.yuck new file mode 100644 index 0000000..04821a2 --- /dev/null +++ b/eww/yuck/widgets/launch.yuck @@ -0,0 +1,8 @@ +(defwidget launcher [] + (box :orientation "v" :class "launcher" :space-evenly true + (button :class "discord" :onclick "discord &" + (label :text "󰙯")) + (button :class "code" :onclick "code &" + (label :text "󰨞")) + (button :class "chrome" :onclick "google-chrome-stable &" + (label :text "")))) \ No newline at end of file diff --git a/eww/yuck/widgets/music.yuck b/eww/yuck/widgets/music.yuck new file mode 100644 index 0000000..d57071c --- /dev/null +++ b/eww/yuck/widgets/music.yuck @@ -0,0 +1,21 @@ +(deflisten art "bash ~/.config/eww/scripts/media.sh follow-cover") +(deflisten title "bash ~/.config/eww/scripts/media.sh title") +(deflisten artist "bash ~/.config/eww/scripts/media.sh artist") +(deflisten curSongTime "bash ~/.config/eww/scripts/media.sh current-time") +(deflisten totSongTime "bash ~/.config/eww/scripts/media.sh total-time") +(deflisten status "playerctl --follow status") +(deflisten statusIcon "bash ~/.config/eww/scripts/media.sh icon") +(defpoll percentTime :interval "1s" "bash ~/.config/eww/scripts/media.sh percent") +(defvar playing false) + +(defwidget music_wid [] + (box :class "music_wid" :space-evenly false :spacing 50 :orientation "v" + (label :class "music_title" :limit-width 30 :text "󰎈 ${title}") + (box :class "music_track_container" :tooltip "${curSongTime} / ${totSongTime}" :orientation "h" :space-evenly "false" :halign "start" :valign "end" + (scale :class "music_track" :min 0 :max 100 :value {percentTime == "" ? 0 : percentTime} :active "true" :halign "start" :onchange "scripts/media track {}") + (label :class "music_track_text" :text "${curSongTime} / ${totSongTime}" :halign "end")) + (box :class "music_ctls" :space-evenly false :spacing 50 :orientation "h" + (button :class "music_prev" :onclick "playerctl previous" "󰒮") + (button :class "music_play_pause" :onclick "playerctl play-pause && ${EWW_CMD} update playing=${!playing}" + (label :text {playing==true?"":"󰐊"})) + (button :class "music_next" :onclick "playerctl next" "󰒭")))) \ No newline at end of file diff --git a/eww/yuck/widgets/power.yuck b/eww/yuck/widgets/power.yuck new file mode 100644 index 0000000..eb5c7f2 --- /dev/null +++ b/eww/yuck/widgets/power.yuck @@ -0,0 +1,8 @@ +(defwidget power [] + (box :orientation "v" :class "powermenu" :space-evenly false :spacing 50 + (button :class "power_off" :onclick "shutdown now" + (label :text "")) + (button :class "power_restart" :onclick "reboot" + (label :text "")) + (button :class "power_exit" :onclick "hyprctl dispatch exit" + (label :text "")))) \ No newline at end of file diff --git a/eww/yuck/widgets/profile.yuck b/eww/yuck/widgets/profile.yuck new file mode 100644 index 0000000..f8ab0c1 --- /dev/null +++ b/eww/yuck/widgets/profile.yuck @@ -0,0 +1,12 @@ +(defpoll username :interval "48h" "whoami") +(defpoll os :interval "48h" "cat /etc/os-release | awk -F'\"' '/NAME/{print $2}' | head -n 1") +(defpoll uptime :interval "50s" "uptime -p | sed -e 's/up //;s/ hours,/h/;s/ hour,/h/;s/ minutes/m/;s/ minute/m/'") + + +(defwidget profile [] + (box :class "profile" :orientation "v" :space-evenly false :spacing 30 :vexpand false + :hexpand false + (image :path "assets/winters.png" :image-width 100 :image-height 100) + (label :text "User : ${username} ") + (label :text "Distro: ${os}") + (label :text "Uptime: ${uptime} "))) \ No newline at end of file diff --git a/eww/yuck/widgets/qoute.yuck b/eww/yuck/widgets/qoute.yuck new file mode 100644 index 0000000..a823cff --- /dev/null +++ b/eww/yuck/widgets/qoute.yuck @@ -0,0 +1,5 @@ +(defpoll qoutes :interval "24h" "bash ~/.config/eww/scripts/qoutes.sh") + +(defwidget qoute [] + (box :class "qoutes" + (label :class "qoutes_text" :text qoutes :wrap true))) \ No newline at end of file diff --git a/eww/yuck/widgets/wifi.yuck b/eww/yuck/widgets/wifi.yuck index 5fbbf04..a59846f 100644 --- a/eww/yuck/widgets/wifi.yuck +++ b/eww/yuck/widgets/wifi.yuck @@ -7,7 +7,7 @@ (eventbox :onhover "${EWW_CMD} update wifi_rev=true" :onhoverlost "${EWW_CMD} update wifi_rev=false" (box :space-evenly "false" :spacing "10" :class "wifi" - (button :class "wifi_btn" :onclick "foot nmtui" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" WLAN_ICON) + (button :class "wifi_btn" :onclick "foot nmtui&" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" WLAN_ICON) (revealer :transition "slideright" :reveal wifi_rev :duration "350ms" diff --git a/eww/yuck/widgets/winters.yuck b/eww/yuck/widgets/winters.yuck index c3bb68c..8bf83cb 100644 --- a/eww/yuck/widgets/winters.yuck +++ b/eww/yuck/widgets/winters.yuck @@ -1,2 +1,4 @@ (defwidget winters [] - (image :path "assets/winters.png" :image-width 50 :image-height 50)) + (box :class "init_coldx" + (button :onclick "bash ~/.config/eww/scripts/coldx_launch.sh" + (image :path "assets/winters.png" :image-width 50 :image-height 50)))) diff --git a/foot/foot.ini b/foot/foot.ini index ae27c5e..6273077 100644 --- a/foot/foot.ini +++ b/foot/foot.ini @@ -8,14 +8,14 @@ # title=foot # locked-title=no -font=HackNerdFontMono-Regular:size=11 -font-bold=HackNerdFontMono-Bold:size=11 -font-italic=HackNerdFontMono-Italic:size=11 -font-bold-italic=HackNerdFontMono-BoldItalic:size=11 +font=JetBrainsMonoNerdFont-Regular:size=11 +font-bold=JetBrainsMonoNerdFont-Bold:size=11 +font-italic=JetBrainsMonoNerdFont-Italic:size=11 +font-bold-italic=JetBrainsMonoNerdFont-BoldItalic:size=11 # font-size-adjustment=0.5 # line-height= # letter-spacing=0 -# horizontal-letter-offset=0 +horizontal-letter-offset=0 # vertical-letter-offset=0 # underline-offset= # underline-thickness= diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 127cdd2..4fcedf4 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -129,6 +129,7 @@ bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, F, fullscreen bind = $mainMod, L, exec, swaylock +bind = $mainMod, S, exec, grim -g "$(slurp)" # Move focus with mainMod + arrow keys diff --git a/img.png b/img.png deleted file mode 100644 index cb54199..0000000 Binary files a/img.png and /dev/null differ diff --git a/nvim/after/plugin/lspconfig.lua b/nvim/after/plugin/lspconfig.lua index 5f45327..5f106f8 100644 --- a/nvim/after/plugin/lspconfig.lua +++ b/nvim/after/plugin/lspconfig.lua @@ -54,3 +54,8 @@ lspconfig.cssls.setup { lspconfig.bashls.setup { capabilities = capabilities, } + +lspconfig.tsserver.setup { + capabilties = capabilities, +} +