diff --git a/hypr-configs/hyprland/eww/assets/perfil.png b/hypr-configs/hyprland/eww/assets/perfil.png deleted file mode 100644 index 6a62be5..0000000 Binary files a/hypr-configs/hyprland/eww/assets/perfil.png and /dev/null differ diff --git a/hypr-configs/hyprland/eww/bar/bar.scss b/hypr-configs/hyprland/eww/bar/bar.scss deleted file mode 100644 index db4e15b..0000000 --- a/hypr-configs/hyprland/eww/bar/bar.scss +++ /dev/null @@ -1,140 +0,0 @@ -* { - all: unset; //Unsets everything so you can style everything from scratch -} - -//Global Styles -.bar-widget { - @include window; - background-color: $bg; - color: $fg; - padding: 1rem; -} - - -.apps { - background-color: $bg-alt; - padding: .5rem; - margin: 0 -.5rem; - border-radius: .4rem; -} - -.uptime { - font-size: .9rem; - color: $fg-alt; - padding: .2rem; -} - -.launcher { - color: $green; - font-size: 1.4rem; - padding: 0 .30rem 0 0; -} - -.spotify { - color: $green; - font-size: 1.5rem; -} - -.central-icon { - font-size: 1.5rem; -} - -.bell { - font-size: 1.5rem; - color: $yellow; -} - -.firefox { - color: $cyan; - font-size: 1.5rem; - padding: 0 .2rem 0 0; -} - -.workspaces { - font-size: 1.2rem; - border-radius: 1rem; - margin: 0 0 0 -.3rem; - - - .icon { - &.current {color: $green;} - } - - button { - &.empty { - color: $black; - } - - &.occupied { - color: lighten($color: $fg-alt2, $amount: 10%); - } - - &.current { - color: $green; - } - - &:hover { - &.empty { - color: lighten($color: $black, $amount: 5%); - } - &.occupied { - color: lighten($color: $black, $amount: 20%); - } - &.current { - color: darken($color: $green, $amount: 10%); - } - } - } - } - - .volume { - font-size: 1.3rem; - .volume-bar scale trough { - all: unset; - background-color: $black; - border-radius: 1rem; - min-width: 0.4rem; - min-height: 3rem; - margin-bottom: 0.5rem; - box-shadow: 0 0 2px 1px rgba(black, 0.3); - } - - .volume-bar scale trough highlight { - all: unset; - background: $green; - border-radius: 1rem; - } - } - - .clock { - font-family: "SF Pro"; - font-size: 1.4rem; - - &.hour { - font-weight: bold; - color: $fg; - } - - &.minute { - color: $fg-alt; - } - - &.separator { - color: $fg-alt; - } - .timebox { - font-size: 0.5rem; - - &.magenta { - color: $magenta; - } - - &.green { - color: $green; - } - - &.yellow { - color: $yellow; - } - } - } diff --git a/hypr-configs/hyprland/eww/bar/bar.yuck b/hypr-configs/hyprland/eww/bar/bar.yuck deleted file mode 100644 index 61e99fc..0000000 --- a/hypr-configs/hyprland/eww/bar/bar.yuck +++ /dev/null @@ -1,257 +0,0 @@ -(defwidget bar [] - (box :class "bar-widget" :orientation "v" :space-evenly true :halign "center" - (start) - (center) - (apps) - (and) - )) - - -(defwidget start [] - (box :class "start" :orientation "v" :halign "center" :valign "start" - (launcher) - ) -) - - -(defwidget center [] - (box :class "center" :halign "center" :orientation "v" - (workspaces) - ) -) - -(defwidget apps [] - (box :class "apps" :spacing 10 :space-evenly false :valign "end" :halign "center" :orientation "v" - (volume) - (spotify) - (firefox) - ) -) - -(defwidget and [] - (box :class "" :valign "end":orientation "v" :space-evenly false :spacing 15 - (bell) - (central-icon) - (clock) - ) -) - -(defwidget launcher [] - (eventbox - :cursor "pointer" - :halign "center" - (button - :class "launcher" - :valign "start" - :onclick "actions --launcher" - :width 25 - "" ))) - -(defwidget spotify [] - (eventbox - :cursor "pointer" - :halign "center" - (button - :class "launcher" - :valign "start" - :onclick "env LD_PRELOAD=/usr/lib/spotify-adblock.so spotify --uri=%U &" - :width 25 - "" ))) - -(defwidget firefox [] - (eventbox - :cursor "pointer" - :halign "center" - (button - :class "firefox" - :valign "start" - :onclick "firefox &" - :width 25 - "󰾔" ))) - -(defwidget central-icon [] - (eventbox - :cursor "pointer" - :halign "center" - (button - :class "central-icon" - :valign "start" - :onclick "eww open --toggle central" - :width 20 - "󰙪" ))) - - -(defwidget bell [] - (eventbox - :cursor "pointer" - :halign "center" - (button - :class "bell" - :valign "start" - :onclick "eww open --toggle notifications" - :width 20 - "󰂚" ))) - -(defwidget workspaces [] - (box - :class "workspaces" - :halign "start" - :spacing 10 - :orientation "v" - :space-evenly false - (for workspace in hyprland - (eventbox - :cursor "pointer" - :onscroll "echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xargs hyprctl dispatch workspace" - :halign "center" - (button - :class "${workspace.current ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}" - :onclick "hyprctl dispatch workspace ${workspace.id}" - (button - :width 25 - :class "icon ${workspace.current ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}" - {workspace.current ? "" : ""} - ) - ) - ) - ) - ) -) - -(defwidget music [] - (eventbox - :onhover "eww update music-rev=true" - :onhoverlost "eww update music-rev=false" - (box - :space-evenly false - :spacing 10 - :orientation "v" - (eventbox - :cursor "pointer" - (button - :class "musicbar-art" - :orientation "v" - :onclick "eww open-many --toggle player-closer player" - :style "background-image: url('${music-art}');" - ) - ) - (label - :class "musicbar-title" - :orientation "v" - :limit-height 10 - :limit-width 35 - :text music-title - ) - (revealer - :transition "slideright" - :reveal music-rev - :duration "500ms" - (box - :spacing 10 - :orientation "h" - (eventbox - :cursor "pointer" - (button - :class "musicbar-previous-icon" - :onclick "./scripts/mediacontrol --previous" - "" - ) - ) - (eventbox - :cursor "pointer" - (button - :class "musicbar-toggle-icon" - :onclick "./scripts/mediacontrol --toggle" - music-toggle - ) - ) - (eventbox - :cursor "pointer" - (button - :class "musicbar-next-icon" - :onclick "./scripts/mediacontrol --next" - "" - ) - ) - ) - ) - ) - ) -) - -(defwidget volume [] - (eventbox - :onhover "eww update volume_rev=true" - :onhoverlost "eww update volume_rev=false" - (box - :class "volume" - :space-evenly false - :orientation "v" - (revealer - :class "volume-bar" - :transition "slideup" - :reveal volume_rev - (eventbox - :cursor "pointer" - :halign "center" - (scale - :orientation "v" - :tooltip {volume == "muted" ? "Muted" : "${volume}%"} - :value {volume == "muted" ? "0" : volume} - :min 0 - :max 101 - :onchange "pamixer -u && pamixer --set-volume {}" - :flipped true - ) - ) - ) - (eventbox - :cursor "pointer" - :onscroll "echo {} | sed -e 's/up/--up/g' -e 's/down/--down/g' | xargs volume" - (button - :class "volume icon" - :style {volume == 0 || volume == "muted" ? "color: #dd6777;" : "color: #cacaca;"} - :tooltip {volume == "muted" ? "Muted" : "${volume}%" } - :onclick "volume --toggle" - {volume == 0 || volume == "muted" ? "󰝟" : - volume < 30 ? "" : - volume < 75 ? "" : ""} - ) - ) - ) - ) -) - - - -(defwidget clock [] - (box - :class "clock" - :orientation "v" - :space-evenly false - :spacing 4 - :halign "center" - :valign "end" - (label - :class "clock hour" - :text hour - ) - (box :class "timebox" :spacing 4 - ) - (label - :class "clock minute" - :text minute) - ) -) - - -(defwindow bar - :monitor 0 - :exclusive true - :geometry (geometry :x "0%" - :y "0%" - :height "99%" - :width "4%" - :anchor "center left") - :reserve (struts :side "top" :distance "4%") - (bar)) diff --git a/hypr-configs/hyprland/eww/central/central.scss b/hypr-configs/hyprland/eww/central/central.scss deleted file mode 100644 index 077a184..0000000 --- a/hypr-configs/hyprland/eww/central/central.scss +++ /dev/null @@ -1,242 +0,0 @@ -.central-widget { - @include window; - background-color: $bg; - color: $fg; - padding: 1rem; -} - -.profile { - background-color: $bg-alt; - background-repeat: no-repeat; - background-size: cover; - background-position: center; - min-height: 4rem; - min-width: 4rem; - border-radius: .4rem; -} - -.name { - color: $fg; - font-weight: bolder; -} - -.wm { - color: $fg-alt; - font-weight: bold; -} - -.lock, .exit { - font-size: 1.2rem; - background-color: $bg-alt; - padding: .7rem 1.2rem .7rem 1rem; - border-radius: .4rem; -} - -.system-info { - background-color: $bg-alt; -} - - -.music { - background-color: $bg-alt; - - border-radius: .4rem; - padding: .8rem; -} - -.player { - font-family: "JetBrainsMono Nerd Font"; - min-height: 1rem; - border-radius: .1rem; - margin: .1rem .8rem; -} - -.player-art { - background-color: $bg-alt; - background-repeat: no-repeat; - background-size: cover; - background-position: center; - min-height: 4rem; - min-width: 4rem; - border-radius: .4rem; -} - -.player-info { - border-radius: .4rem; - -} - -.player-title { - font-size: 1rem; - padding: .1rem 0; - font-weight: bolder; -} - -.player-artist { - color: $white; - padding: .2rem 0; -} - -.player-bar scale trough highlight { - background-image: linear-gradient(to right, $bg-alt, $green); - border-radius: .4rem; -} - -.player-bar scale trough { - all: unset; - background-color: rgba($fg-alt, 0.3); - box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.5); - border-radius: .4rem; - min-height: .25rem; - min-width: 18rem; - margin: .2rem 0; -} - -.player-position { - font-size: .9rem; - font-weight: 500; - color: $fg-alt; -} - -.player-controls { - font-size: 5rem; - background-color: $bg-alt; -} - -.player-toggle { - font-size: 1.4rem; - color: $fg; -} - -.player-previous, -.player-next { - font-size: 1.2rem; - color: $fg-alt; -} - -.player-toggle:hover, -.player-previous:hover, -.player-next:hover { - color: $green; -} - -.player-shuffle, -.player-loop { - font-size: 1rem; -} - -.spotify-icon { - font-family: "Font Awesome 6 Brands"; - font-size: 1.25rem; - color: $green; - border-radius: .4rem; -} -.box-control { - background-color: $bg-alt; - padding: 1.5rem; - margin: 1rem 1.5rem; - border-radius: .4rem; - -} - -.time { - font-size: 4rem; -} - -.date { - font-size: 1.3rem; -} - -.timeboxes { - font-size: .6rem; - margin: -.1rem 0; - - .magenta { - color: $magenta; - } - - .green { - color: $green; - } - - .yellow { - color: $yellow; - } -} - - -.calendar { - font-size: 1.1rem; - font-weight: 500; - background-color: $bg-alt; - border-radius: .4rem; - padding: .4rem; - - calendar { - - &.button { - color: $fg-alt; - - &:hover { - background-color: $black; - border-radius: 1rem; - } - } - - &:selected { - color: $green; - text-shadow: 0 0 3px lighten($color: $bg-alt, $amount: 10%); - border-radius: 1rem; - } - - &.header { - background-color: transparent; - border: none; - } - - &.highlight { - color: $green; - } - - &:indeterminate { - color: $gray; - } - } - } - - .system { - .progress { - background-color: $bg-alt; - padding: .4rem; - border-radius: .4rem; - - circular-progress { - background-color: $black; - - &.ram { - color: $magenta; - } - - &.cpu { - color: $yellow; - label { margin-left: 1px;} - } - - &.temp { - color: $red; - label { margin: .2rem .5rem .2rem .2rem;} - - } - - &.disk { - color: $green; - } - } - } - - .icon { - font-size: 1.2rem; - padding: 1.2rem; - } - - } diff --git a/hypr-configs/hyprland/eww/central/central.yuck b/hypr-configs/hyprland/eww/central/central.yuck deleted file mode 100644 index 57220c2..0000000 --- a/hypr-configs/hyprland/eww/central/central.yuck +++ /dev/null @@ -1,272 +0,0 @@ -(defwidget central [] - (box :class "central-widget" :space-evenly false :orientation "v" :spacing 10 - (box-profile) - (box-calendar) - (box-system) - (music) - ) -) - -(defwidget box-profile [] - (box - :class "box-profile" - :space-evenly false - :hexpand false - :spacing 10 - (box :class "profile" - :style "background-image: url('${perfil}')" - :valign "start" - ) - (box - :class "box-about" - :halign "start" - :spacing 5 - (box - :orientation "v" :space-evenly false :halign "start" - (label :class "name" :halign "start" :text {name}) - (label :class "wm" :halign "start" :text {wm}) - (box - (label :class "uptime" :text `Uptime: ${uptime}`) - ))) - (box - :halign "end" - :valign "center" - :hexpand true - :spacing 10 - (eventbox - :cursor "pointer" - (button - :class "lock" - :onclick "poweroff&" - "" - )) - (eventbox - :cursor "pointer" - (button - :class "exit" - :onclick "eww open --toggle powercontrol && eww close central" - "⏻" - ))))) - -(defwidget box-system [] - (box - :class "system" - :spacing 10 - (ram) - (cpu) - (temp) - (disk) - ) -) - -(defwidget system_progress [data icon css tip] - (box - :class "progress" - (circular-progress - :class css - :value data - :thickness 7 - :tooltip tip - (overlay - :valign "center" - (label - :class "icon" - :text icon - ) - ) - ) - ) -) - - -(defwidget cpu [] - (system_progress - :css "cpu" - :tip "CPU ${round(EWW_CPU.avg,0)}%" - :data {round(EWW_CPU.avg, 0)} - :icon "󰻠" - ) -) - -(defwidget ram [] - (system_progress - :css "ram" - :tip "RAM ${round(EWW_RAM.used_mem / 1048576, 2)}MB" - :data {round(EWW_RAM.used_mem_perc, 0)} - :icon "󰍛" - ) -) - -(defwidget temp [] - (system_progress - :css "temp" - :tip "Temperature ${EWW_TEMPS["AMDGPU_EDGE"]}°C" - :data {round(EWW_TEMPS.AMDGPU_EDGE, 0)} - :icon "󰔄" - ) -) - -(defwidget disk [] - (system_progress - :css "disk" - :tip "SSD ${round(EWW_DISK["/"].used_perc, 2)}%" - :data {round(EWW_DISK["/"].used_perc, 0)} - :icon "󰗮" - ) -) - - -(defwidget music [] - (box - :class "music" - :space-evenly false - :spacing 15 - :halign "start" - (box - :class "player-art" - :style "background-image: url('${music-art}')" - ) - (box - :class "player-info" - :space-evenly false - :orientation "v" - (label :class "player-title" :halign "start" :valign "center" :text music-title :limit-width 30 ) - (label :class "player-artist" :halign "start" :valign "center" :text music-artist :limit-width 30 ) - (box - :space-evenly false - :orientation "v" - :valign "end" - (box - :class "player-bar" - :halign "center" - :valign "end" - :hexpand true - (eventbox - :cursor "pointer" - (scale - :onchange "playerctl -p spotify position {}" - :min 0 - :max music-lengths - :value music-positions - ) - ) - ) - (box - :class "player-position" - :space-evenly true - :valign "start" - - (label - :class "player-time" - :halign "start" - :text "${music-position} / ${music-length}" - ) - (box - :class "player-controls" - :valign "center" - :space-evenly false - :halign "end" - :spacing 10 - (eventbox - :cursor "pointer" - (button - :class "player-previous" - :onclick "scripts/mediacontrol --previous" - "" - ) - ) - (eventbox - :cursor "pointer" - (button - :class "player-toggle" - :onclick "scripts/mediacontrol --toggle" - music-toggle - ) - ) - (eventbox - :cursor "pointer" - (button - :class "player-next" - :onclick "scripts/mediacontrol --next" - "" - ) - ) - ) ) - ) - ) - ) -) - -(defwidget box-calendar [] - (box - :class "calendar-main-box" - :space-evenly false - :orientation "v" - :spacing 20 - (box - :class "date" - :space-evenly false - :orientation "v" - (box - :space-evenly false - :halign "center" - :spacing 10 - (label - :class "time" - :text hour) - (box - :class "timeboxes" - :space-evenly false - :valign "center" - :orientation "v" - :spacing 5 - (box - :class "timebox-1" - "󰝤" - ) - (box - :class "timebox green" - "󰝤" - ) - ) - (label - :class "time" - :text minute - ) - ) - (box - :halign "center" - :valign "start" - (label - :class "today" - :text date - ) - ) - ) - (box - :class "cal" - :orientation "v" - (box - :class "cal-inner-box" - (calendar - :class "calendar" - :day calendar-day - :month calendar-month - :year calendar-year - :show-day-names true - :show-heading true - :show-details true - ) - ) - ) - ) -) - -(defwindow central - :monitor 0 - :geometry (geometry :x "-1%" - :y "0%" - :height "85%" - :anchor "center left") - :reserve (struts :side "top" :distance "4%") - (central)) diff --git a/hypr-configs/hyprland/eww/dashboard/[gruvbox]eww.scss b/hypr-configs/hyprland/eww/dashboard/[gruvbox]eww.scss new file mode 100644 index 0000000..83c7ceb --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/[gruvbox]eww.scss @@ -0,0 +1,457 @@ +/** Global *******************************************/ +* { + all: unset; + font-family: feather; + font-family: Iosevka; +} + +/** Background ***************************************/ +.bg { + background-image: url("images/bg.png"); + background-color: #474D59; + opacity: 1; +} + +/** Generic window ***********************************/ +.genwin { + background-color: #1d2021; + border-radius: 16px; +} + +/** Profile ******************************************/ +.face { + background-size: 200px; + min-height: 200px; + min-width: 200px; + margin: 65px 0px 0px 0px; + border-radius: 100%; +} + +.fullname { + color: #cc241d; + font-size: 30px; + font-weight: bold; +} + +.username { + color: #076678; + font-size: 22px; + font-weight: bold; + margin: -15px 0px 0px 0px; +} + +/** System ********************************************/ +.iconcpu, +.iconmem, +.iconbright, +.iconbat { + font-size: 32px; + font-weight: normal; +} + +.iconcpu { + color: #fb4934; +} + +.iconmem { + color: #b8bb26; +} + +.iconbright { + color: #fabd2f; +} + +.iconbat { + color: #076678; +} + +.cpu_bar, +.mem_bar, +.bright_bar, +.bat_bar, +scale trough { + all: unset; + background-color: #282828; + border-radius: 16px; + min-height: 28px; + min-width: 240px; +} + +.cpu_bar, +.mem_bar, +.bright_bar, +.bat_bar, +scale trough highlight { + all: unset; + border-radius: 16px; +} + +.cpu_bar scale trough highlight { + background-color: #fb4934; +} + +.mem_bar scale trough highlight { + background-color: #b8bb26; +} + +.bright_bar scale trough highlight { + background-color: #fabd2f; +} + +.bat_bar scale trough highlight { + background-color: #076678; +} + +/** Clock ********************************************/ +.time_hour, +.time_min { + color: #458588; + font-size: 70px; + font-weight: bold; +} + +.time_hour { + margin: 15px 0px 0px 20px; +} + +.time_min { + margin: 0px 0px 10px 0px; +} + +.time_mer { + color: #b8bb26; + font-size: 40px; + font-weight: bold; + margin: 20px 0px 0px 0px; +} + +.time_day { + color: #fabd2f; + font-size: 30px; + font-weight: normal; + margin: 0px 0px 20px -20px; +} + +/** Uptime ********************************************/ +.icontimer { + color: #b16286; + font-size: 90px; + font-weight: normal; +} + +.uphour { + color: #f9f5d7; + font-size: 42px; + font-weight: bold; +} + +.upmin { + color: #f9f5d7; + font-size: 32px; + font-weight: bold; +} + +/** Music ***************************************/ +.album_art { + background-size: 240px; + min-height: 240px; + min-width: 240px; + margin: 20px; + border-radius: 14px; +} + +.song { + color: #6BB2C0; + font-size: 24px; + font-weight: bold; + margin: 40px 0px 0px 0px; +} + +.artist { + color: #fabd2f; + font-size: 16px; + font-weight: normal; + margin: 0px 0px 15px 0px; +} + +.btn_prev, +.btn_play, +.btn_next { + font-family: Iosevka Nerd Font; +} + +.btn_prev { + color: #fabd2f; + font-size: 32px; + font-weight: normal; +} + +.btn_play { + color: #b8bb26; + font-size: 48px; + font-weight: bold; +} + +.btn_next { + color: #fabd2f; + font-size: 32px; + font-weight: normal; +} + +.music_bar scale trough highlight { + all: unset; + background-color: #b16286; + border-radius: 8px; +} + +.music_bar scale trough { + all: unset; + background-color: #282828; + border-radius: 8px; + min-height: 20px; + min-width: 310px; + margin: 10px 0px 0px 0px; +} + +/** Weather ***************************************/ +.iconweather { + font-family: Iosevka Nerd Font; + font-size: 120px; + font-weight: normal; + margin: 15px 0px 0px 30px; +} + +.label_temp { + color: #458588; + font-size: 80px; + font-weight: bold; + margin: -15px 30px 0px 0px; +} + +.label_stat { + color: #fb4934; + font-size: 38px; + font-weight: bold; +} + +.label_quote { + color: #a9b1d6; + font-size: 18px; + font-weight: normal; +} + +/** Applications ***************************************/ +.appbox { + margin: 15px 0px 0px 25px; +} + +.app_fox, +.app_telegram, +.app_discord, +.app_terminal, +.app_files, +.app_geany, +.app_code, +.app_gimp, +.app_vbox { + background-repeat: no-repeat; + background-size: 64px; + min-height: 64px; + min-width: 64px; + margin: 8px 8px 0px 8px; +} + +.app_fox {} + +.app_telegram {} + +.app_discord {} + +.app_terminal {} + +.app_files {} + +.app_geany {} + +.app_code {} + +.app_gimp {} + +.app_vbox {} + +/** Links ***************************************/ +.iconweb, +.iconmail { + color: #FFFFFF; + font-family: Iosevka Nerd Font; + font-size: 70px; + font-weight: normal; +} + +.iconmail { + color: #DF584E; +} + +.github { + background-color: #24292E; + border-radius: 16px; +} + +.reddit { + background-color: #E46231; + border-radius: 16px; +} + +.twitter { + background-color: #61AAD6; + border-radius: 16px; +} + +.youtube { + background-color: #DF584E; + border-radius: 16px; +} + +.mail { + background-color: #FFFFFF; + border-radius: 16px; +} + +.mailbox { + background-color: #E5E5E5; + border-radius: 10px; + margin: 48px 0px 48px 0px; +} + +.label_mails { + color: #404040; + font-size: 32px; + font-weight: bold; + margin: 0px 12px 0px 12px; +} + +/** Power buttons ***************************************/ +.btn_logout, +.btn_sleep, +.btn_reboot, +.btn_poweroff { + font-size: 48px; + font-weight: bold; +} + +.btn_logout { + color: #fb4934; +} + +.btn_sleep { + color: #b8bb26; +} + +.btn_reboot { + color: #fabd2f; +} + +.btn_poweroff { + color: #076678; +} + +/** Home folders ***************************************/ +.hddbox { + background-color: #282828; + border-radius: 10px; + margin: 15px; +} + +.hddicon { + color: #458588; + font-family: Iosevka Nerd Font; + font-size: 70px; + font-weight: normal; + margin: 25px 20px 25px 40px; +} + +.hdd_label { + color: #f9f5d7; + font-size: 48px; + font-weight: bold; + margin: 0px 0px 0px 15px; +} + +.fs_sep { + color: #1d2021; + font-size: 36px; + font-weight: bold; +} + +.iconfolder1, +.iconfolder2, +.iconfolder3, +.iconfolder4, +.iconfolder5, +.iconfolder6 { + font-family: Iosevka Nerd Font; + font-size: 32px; + font-weight: normal; + margin: 0px 0px 0px 75px; +} + +.iconfolder1 { + color: #fb4934; +} + +.iconfolder2 { + color: #b8bb26; +} + +.iconfolder3 { + color: #fabd2f; +} + +.iconfolder4 { + color: #458588; +} + +.iconfolder5 { + color: #b16286; +} + +.iconfolder6 { + color: #076678; +} + +.label_folder1, +.label_folder2, +.label_folder3, +.label_folder4, +.label_folder5, +.label_folder6 { + font-size: 22px; + font-weight: normal; + margin: 0px 0px 0px 30px; +} + +.label_folder1 { + color: #fb4934; +} + +.label_folder2 { + color: #b8bb26; +} + +.label_folder3 { + color: #fabd2f; +} + +.label_folder4 { + color: #458588; +} + +.label_folder5 { + color: #b16286; +} + +.label_folder6 { + color: #076678; +} + +/** EOF *************************************************/ \ No newline at end of file diff --git a/hypr-configs/hyprland/eww/dashboard/[one dark]eww.scss b/hypr-configs/hyprland/eww/dashboard/[one dark]eww.scss new file mode 100644 index 0000000..7bcbd6c --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/[one dark]eww.scss @@ -0,0 +1,457 @@ +/** Global *******************************************/ +* { + all: unset; + font-family: feather; + font-family: Iosevka; +} + +/** Background ***************************************/ +.bg { + background-image: url("images/bg.png"); + background-color: #474D59; + opacity: 1; +} + +/** Generic window ***********************************/ +.genwin { + background-color: #1e222a; + border-radius: 16px; +} + +/** Profile ******************************************/ +.face { + background-size: 200px; + min-height: 200px; + min-width: 200px; + margin: 65px 0px 0px 0px; + border-radius: 100%; +} + +.fullname { + color: #ef596f; + font-size: 30px; + font-weight: bold; +} + +.username { + color: #6BB2C0; + font-size: 22px; + font-weight: bold; + margin: -15px 0px 0px 0px; +} + +/** System ********************************************/ +.iconcpu, +.iconmem, +.iconbright, +.iconbat { + font-size: 32px; + font-weight: normal; +} + +.iconcpu { + color: #E06C75; +} + +.iconmem { + color: #98C379; +} + +.iconbright { + color: #EBCB8D; +} + +.iconbat { + color: #4D78CC; +} + +.cpu_bar, +.mem_bar, +.bright_bar, +.bat_bar, +scale trough { + all: unset; + background-color: #282C34; + border-radius: 16px; + min-height: 28px; + min-width: 240px; +} + +.cpu_bar, +.mem_bar, +.bright_bar, +.bat_bar, +scale trough highlight { + all: unset; + border-radius: 16px; +} + +.cpu_bar scale trough highlight { + background-color: #E06C75; +} + +.mem_bar scale trough highlight { + background-color: #98C379; +} + +.bright_bar scale trough highlight { + background-color: #EBCB8D; +} + +.bat_bar scale trough highlight { + background-color: #4D78CC; +} + +/** Clock ********************************************/ +.time_hour, +.time_min { + color: #71ABEB; + font-size: 70px; + font-weight: bold; +} + +.time_hour { + margin: 15px 0px 0px 20px; +} + +.time_min { + margin: 0px 0px 10px 0px; +} + +.time_mer { + color: #98C379; + font-size: 40px; + font-weight: bold; + margin: 20px 0px 0px 0px; +} + +.time_day { + color: #EBCB8D; + font-size: 30px; + font-weight: normal; + margin: 0px 0px 20px -20px; +} + +/** Uptime ********************************************/ +.icontimer { + color: #BC7AD9; + font-size: 90px; + font-weight: normal; +} + +.uphour { + color: #EFEFEF; + font-size: 42px; + font-weight: bold; +} + +.upmin { + color: #c0caf5; + font-size: 32px; + font-weight: bold; +} + +/** Music ***************************************/ +.album_art { + background-size: 240px; + min-height: 240px; + min-width: 240px; + margin: 20px; + border-radius: 14px; +} + +.song { + color: #6BB2C0; + font-size: 24px; + font-weight: bold; + margin: 40px 0px 0px 0px; +} + +.artist { + color: #EBCB8D; + font-size: 16px; + font-weight: normal; + margin: 0px 0px 15px 0px; +} + +.btn_prev, +.btn_play, +.btn_next { + font-family: Iosevka Nerd Font; +} + +.btn_prev { + color: #EBCB8D; + font-size: 32px; + font-weight: normal; +} + +.btn_play { + color: #98C379; + font-size: 48px; + font-weight: bold; +} + +.btn_next { + color: #EBCB8D; + font-size: 32px; + font-weight: normal; +} + +.music_bar scale trough highlight { + all: unset; + background-color: #BC7AD9; + border-radius: 8px; +} + +.music_bar scale trough { + all: unset; + background-color: #282C34; + border-radius: 8px; + min-height: 20px; + min-width: 310px; + margin: 10px 0px 0px 0px; +} + +/** Weather ***************************************/ +.iconweather { + font-family: Iosevka Nerd Font; + font-size: 120px; + font-weight: normal; + margin: 15px 0px 0px 30px; +} + +.label_temp { + color: #71ABEB; + font-size: 80px; + font-weight: bold; + margin: -15px 30px 0px 0px; +} + +.label_stat { + color: #E06C75; + font-size: 38px; + font-weight: bold; +} + +.label_quote { + color: #E5E5E5; + font-size: 18px; + font-weight: normal; +} + +/** Applications ***************************************/ +.appbox { + margin: 15px 0px 0px 25px; +} + +.app_fox, +.app_telegram, +.app_discord, +.app_terminal, +.app_files, +.app_geany, +.app_code, +.app_gimp, +.app_vbox { + background-repeat: no-repeat; + background-size: 64px; + min-height: 64px; + min-width: 64px; + margin: 8px 8px 0px 8px; +} + +.app_fox {} + +.app_telegram {} + +.app_discord {} + +.app_terminal {} + +.app_files {} + +.app_geany {} + +.app_code {} + +.app_gimp {} + +.app_vbox {} + +/** Links ***************************************/ +.iconweb, +.iconmail { + color: #FFFFFF; + font-family: Iosevka Nerd Font; + font-size: 70px; + font-weight: normal; +} + +.iconmail { + color: #DF584E; +} + +.github { + background-color: #24292E; + border-radius: 16px; +} + +.reddit { + background-color: #E46231; + border-radius: 16px; +} + +.twitter { + background-color: #61AAD6; + border-radius: 16px; +} + +.youtube { + background-color: #DF584E; + border-radius: 16px; +} + +.mail { + background-color: #FFFFFF; + border-radius: 16px; +} + +.mailbox { + background-color: #E5E5E5; + border-radius: 10px; + margin: 48px 0px 48px 0px; +} + +.label_mails { + color: #404040; + font-size: 32px; + font-weight: bold; + margin: 0px 12px 0px 12px; +} + +/** Power buttons ***************************************/ +.btn_logout, +.btn_sleep, +.btn_reboot, +.btn_poweroff { + font-size: 48px; + font-weight: bold; +} + +.btn_logout { + color: #E06C75; +} + +.btn_sleep { + color: #98C379; +} + +.btn_reboot { + color: #EBCB8D; +} + +.btn_poweroff { + color: #4D78CC; +} + +/** Home folders ***************************************/ +.hddbox { + background-color: #282C34; + border-radius: 10px; + margin: 15px; +} + +.hddicon { + color: #71ABEB; + font-family: Iosevka Nerd Font; + font-size: 70px; + font-weight: normal; + margin: 25px 20px 25px 40px; +} + +.hdd_label { + color: #EFEFEF; + font-size: 48px; + font-weight: bold; + margin: 0px 0px 0px 15px; +} + +.fs_sep { + color: #1e222a; + font-size: 36px; + font-weight: bold; +} + +.iconfolder1, +.iconfolder2, +.iconfolder3, +.iconfolder4, +.iconfolder5, +.iconfolder6 { + font-family: Iosevka Nerd Font; + font-size: 32px; + font-weight: normal; + margin: 0px 0px 0px 75px; +} + +.iconfolder1 { + color: #E06C75; +} + +.iconfolder2 { + color: #98C379; +} + +.iconfolder3 { + color: #EBCB8D; +} + +.iconfolder4 { + color: #71ABEB; +} + +.iconfolder5 { + color: #BC7AD9; +} + +.iconfolder6 { + color: #4D78CC; +} + +.label_folder1, +.label_folder2, +.label_folder3, +.label_folder4, +.label_folder5, +.label_folder6 { + font-size: 22px; + font-weight: normal; + margin: 0px 0px 0px 30px; +} + +.label_folder1 { + color: #E06C75; +} + +.label_folder2 { + color: #98C379; +} + +.label_folder3 { + color: #EBCB8D; +} + +.label_folder4 { + color: #71ABEB; +} + +.label_folder5 { + color: #BC7AD9; +} + +.label_folder6 { + color: #4D78CC; +} + +/** EOF *************************************************/ \ No newline at end of file diff --git a/hypr-configs/hyprland/eww/dashboard/[tokyo night]eww.scss b/hypr-configs/hyprland/eww/dashboard/[tokyo night]eww.scss new file mode 100644 index 0000000..fae73a6 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/[tokyo night]eww.scss @@ -0,0 +1,457 @@ +/** Global *******************************************/ +* { + all: unset; + font-family: feather; + font-family: Iosevka; +} + +/** Background ************************************** +.bg { + background-image: url("images/bg.png"); + background-color: #474D59; + opacity: 1; +} */ + +/** Generic window ***********************************/ +.genwin { + background-color: #15161E; + border-radius: 16px; +} + +/** Profile ******************************************/ +.face { + background-size: 200px; + min-height: 200px; + min-width: 200px; + margin: 65px 0px 0px 0px; + border-radius: 100%; +} + +.fullname { + color: #ef596f; + font-size: 30px; + font-weight: bold; +} + +.username { + color: #6BB2C0; + font-size: 22px; + font-weight: bold; + margin: -15px 0px 0px 0px; +} + +/** System ********************************************/ +.iconcpu, +.iconmem, +.iconbright, +.iconbat { + font-size: 32px; + font-weight: normal; +} + +.iconcpu { + color: #f7768e; +} + +.iconmem { + color: #9ece6a; +} + +.iconbright { + color: #e0af68; +} + +.iconbat { + color: #7aa2f7; +} + +.cpu_bar, +.mem_bar, +.bright_bar, +.bat_bar, +scale trough { + all: unset; + background-color: #282C34; + border-radius: 16px; + min-height: 28px; + min-width: 240px; +} + +.cpu_bar, +.mem_bar, +.bright_bar, +.bat_bar, +scale trough highlight { + all: unset; + border-radius: 16px; +} + +.cpu_bar scale trough highlight { + background-color: #f7768e; +} + +.mem_bar scale trough highlight { + background-color: #9ece6a; +} + +.bright_bar scale trough highlight { + background-color: #e0af68; +} + +.bat_bar scale trough highlight { + background-color: #7aa2f7; +} + +/** Clock ********************************************/ +.time_hour, +.time_min { + color: #7dcfff; + font-size: 70px; + font-weight: bold; +} + +.time_hour { + margin: 15px 0px 0px 20px; +} + +.time_min { + margin: 0px 0px 10px 0px; +} + +.time_mer { + color: #9ece6a; + font-size: 40px; + font-weight: bold; + margin: 20px 0px 0px 0px; +} + +.time_day { + color: #e0af68; + font-size: 30px; + font-weight: normal; + margin: 0px 0px 20px -20px; +} + +/** Uptime ********************************************/ +.icontimer { + color: #bb9af7; + font-size: 90px; + font-weight: normal; +} + +.uphour { + color: #c0caf5; + font-size: 42px; + font-weight: bold; +} + +.upmin { + color: #c0caf5; + font-size: 32px; + font-weight: bold; +} + +/** Music ***************************************/ +.album_art { + background-size: 240px; + min-height: 240px; + min-width: 240px; + margin: 20px; + border-radius: 14px; +} + +.song { + color: #6BB2C0; + font-size: 24px; + font-weight: bold; + margin: 40px 0px 0px 0px; +} + +.artist { + color: #e0af68; + font-size: 16px; + font-weight: normal; + margin: 0px 0px 15px 0px; +} + +.btn_prev, +.btn_play, +.btn_next { + font-family: Iosevka Nerd Font; +} + +.btn_prev { + color: #e0af68; + font-size: 32px; + font-weight: normal; +} + +.btn_play { + color: #9ece6a; + font-size: 48px; + font-weight: bold; +} + +.btn_next { + color: #e0af68; + font-size: 32px; + font-weight: normal; +} + +.music_bar scale trough highlight { + all: unset; + background-color: #bb9af7; + border-radius: 8px; +} + +.music_bar scale trough { + all: unset; + background-color: #282C34; + border-radius: 8px; + min-height: 20px; + min-width: 310px; + margin: 10px 0px 0px 0px; +} + +/** Weather ***************************************/ +.iconweather { + font-family: Iosevka Nerd Font; + font-size: 120px; + font-weight: normal; + margin: 15px 0px 0px 30px; +} + +.label_temp { + color: #7dcfff; + font-size: 80px; + font-weight: bold; + margin: -15px 30px 0px 0px; +} + +.label_stat { + color: #f7768e; + font-size: 38px; + font-weight: bold; +} + +.label_quote { + color: #a9b1d6; + font-size: 18px; + font-weight: normal; +} + +/** Applications ***************************************/ +.appbox { + margin: 15px 0px 0px 25px; +} + +.app_fox, +.app_telegram, +.app_discord, +.app_terminal, +.app_files, +.app_geany, +.app_code, +.app_gimp, +.app_vbox { + background-repeat: no-repeat; + background-size: 64px; + min-height: 64px; + min-width: 64px; + margin: 8px 8px 0px 8px; +} + +.app_fox {} + +.app_telegram {} + +.app_discord {} + +.app_terminal {} + +.app_files {} + +.app_geany {} + +.app_code {} + +.app_gimp {} + +.app_vbox {} + +/** Links ***************************************/ +.iconweb, +.iconmail { + color: #FFFFFF; + font-family: Iosevka Nerd Font; + font-size: 70px; + font-weight: normal; +} + +.iconmail { + color: #DF584E; +} + +.github { + background-color: #24292E; + border-radius: 16px; +} + +.reddit { + background-color: #E46231; + border-radius: 16px; +} + +.twitter { + background-color: #61AAD6; + border-radius: 16px; +} + +.youtube { + background-color: #DF584E; + border-radius: 16px; +} + +.mail { + background-color: #FFFFFF; + border-radius: 16px; +} + +.mailbox { + background-color: #E5E5E5; + border-radius: 10px; + margin: 48px 0px 48px 0px; +} + +.label_mails { + color: #404040; + font-size: 32px; + font-weight: bold; + margin: 0px 12px 0px 12px; +} + +/** Power buttons ***************************************/ +.btn_logout, +.btn_sleep, +.btn_reboot, +.btn_poweroff { + font-size: 48px; + font-weight: bold; +} + +.btn_logout { + color: #f7768e; +} + +.btn_sleep { + color: #9ece6a; +} + +.btn_reboot { + color: #e0af68; +} + +.btn_poweroff { + color: #7aa2f7; +} + +/** Home folders ***************************************/ +.hddbox { + background-color: #282C34; + border-radius: 10px; + margin: 15px; +} + +.hddicon { + color: #7dcfff; + font-family: Iosevka Nerd Font; + font-size: 70px; + font-weight: normal; + margin: 25px 20px 25px 40px; +} + +.hdd_label { + color: #c0caf5; + font-size: 48px; + font-weight: bold; + margin: 0px 0px 0px 15px; +} + +.fs_sep { + color: #15161E; + font-size: 36px; + font-weight: bold; +} + +.iconfolder1, +.iconfolder2, +.iconfolder3, +.iconfolder4, +.iconfolder5, +.iconfolder6 { + font-family: Iosevka Nerd Font; + font-size: 32px; + font-weight: normal; + margin: 0px 0px 0px 75px; +} + +.iconfolder1 { + color: #f7768e; +} + +.iconfolder2 { + color: #9ece6a; +} + +.iconfolder3 { + color: #e0af68; +} + +.iconfolder4 { + color: #7dcfff; +} + +.iconfolder5 { + color: #bb9af7; +} + +.iconfolder6 { + color: #7aa2f7; +} + +.label_folder1, +.label_folder2, +.label_folder3, +.label_folder4, +.label_folder5, +.label_folder6 { + font-size: 22px; + font-weight: normal; + margin: 0px 0px 0px 30px; +} + +.label_folder1 { + color: #f7768e; +} + +.label_folder2 { + color: #9ece6a; +} + +.label_folder3 { + color: #e0af68; +} + +.label_folder4 { + color: #7dcfff; +} + +.label_folder5 { + color: #bb9af7; +} + +.label_folder6 { + color: #7aa2f7; +} + +/** EOF *************************************************/ \ No newline at end of file diff --git a/hypr-configs/hyprland/eww/dashboard/eww.scss b/hypr-configs/hyprland/eww/dashboard/eww.scss new file mode 100644 index 0000000..57ba54c --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/eww.scss @@ -0,0 +1,377 @@ +/** Global *******************************************/ +*{ + all: unset; + font-family: feather; + font-family: Iosevka; +} + +/** Background ***************************************/ +.bg { + background-image: url("images/bg.png"); + background-color: #474D59; + opacity: 1; +} + +/** Generic window ***********************************/ +.genwin { + background-color: #2E3440; + border-radius: 16px; +} + +/** Profile ******************************************/ +.face { + background-size: 200px; + min-height: 200px; + min-width: 200px; + margin: 65px 0px 0px 0px; + border-radius: 100%; +} + +.fullname { + color: #D46389; + font-size : 30px; + font-weight : bold; +} + +.username { + color: #8FBCBB; + font-size : 22px; + font-weight : bold; + margin : -15px 0px 0px 0px; +} + +/** System ********************************************/ +.iconcpu, .iconmem, .iconbright, .iconbat { + font-size : 32px; + font-weight : normal; +} +.iconcpu { + color: #BF616A; +} +.iconmem { + color: #A3BE8C; +} +.iconbright { + color: #EBCB8B; +} +.iconbat { + color: #88C0D0; +} + +.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough { + all: unset; + background-color: #3A404C; + border-radius: 16px; + min-height: 28px; + min-width: 240px; +} + +.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough highlight { + all: unset; + border-radius: 16px; +} + +.cpu_bar scale trough highlight { + background-color: #BF616A; +} +.mem_bar scale trough highlight { + background-color: #A3BE8C; +} +.bright_bar scale trough highlight { + background-color: #EBCB8B; +} +.bat_bar scale trough highlight { + background-color: #88C0D0; +} + +/** Clock ********************************************/ +.time_hour, .time_min { + color: #81A1C1; + font-size : 70px; + font-weight : bold; +} +.time_hour { + margin : 15px 0px 0px 20px; +} +.time_min { + margin : 0px 0px 10px 0px; +} + +.time_mer { + color: #A3BE8C; + font-size : 40px; + font-weight : bold; + margin : 20px 0px 0px 0px; +} + +.time_day { + color: #EBCB8B; + font-size : 30px; + font-weight : normal; + margin : 0px 0px 20px -20px; +} + +/** Uptime ********************************************/ +.icontimer { + color: #B48EAD; + font-size : 90px; + font-weight : normal; +} + +.uphour { + color: #E5E9F0; + font-size : 42px; + font-weight : bold; +} + +.upmin { + color: #E5E9F0; + font-size : 32px; + font-weight : bold; +} + +/** Music ***************************************/ +.album_art { + background-size: 240px; + min-height: 240px; + min-width: 240px; + margin: 20px; + border-radius: 14px; +} + +.song { + color: #8FBCBB; + font-size : 24px; + font-weight : bold; + margin : 40px 0px 0px 0px; +} + +.artist { + color: #EBCB8B; + font-size : 16px; + font-weight : normal; + margin : 0px 0px 15px 0px; +} + +.btn_prev, .btn_play, .btn_next { + font-family: Iosevka Nerd Font; +} +.btn_prev { + color: #EBCB8B; + font-size : 32px; + font-weight : normal; +} +.btn_play { + color: #A3BE8C; + font-size : 48px; + font-weight : bold; +} +.btn_next { + color: #EBCB8B; + font-size : 32px; + font-weight : normal; +} + +.music_bar scale trough highlight { + all: unset; + background-color: #B48EAD; + border-radius: 8px; +} +.music_bar scale trough { + all: unset; + background-color: #3A404C; + border-radius: 8px; + min-height: 20px; + min-width: 310px; + margin : 10px 0px 0px 0px; +} + +/** Weather ***************************************/ +.iconweather { + font-family: Iosevka Nerd Font; + font-size : 120px; + font-weight : normal; + margin : 15px 0px 0px 30px; +} + +.label_temp { + color : #A6D1DD; + font-size : 80px; + font-weight : bold; + margin : -15px 30px 0px 0px; +} + +.label_stat { + color : #BF616A; + font-size : 38px; + font-weight : bold; +} + +.label_quote { + color : #E5E5E5; + font-size : 18px; + font-weight : normal; +} + +/** Applications ***************************************/ +.appbox { + margin : 15px 0px 0px 25px; +} + +.app_fox, .app_telegram, .app_discord, .app_terminal, +.app_files, .app_geany, .app_code, .app_gimp, .app_vbox { + background-repeat: no-repeat; + background-size: 64px; + min-height: 64px; + min-width: 64px; + margin: 8px 8px 0px 8px; +} + +.app_fox {} +.app_telegram {} +.app_discord {} +.app_terminal {} +.app_files {} +.app_geany {} +.app_code {} +.app_gimp {} +.app_vbox {} + +/** Links ***************************************/ +.iconweb, .iconmail { + color: #FFFFFF; + font-family: Iosevka Nerd Font; + font-size : 70px; + font-weight : normal; +} +.iconmail { + color: #DF584E; +} + +.github { + background-color: #24292E; + border-radius: 16px; +} +.reddit { + background-color: #E46231; + border-radius: 16px; +} +.twitter { + background-color: #61AAD6; + border-radius: 16px; +} +.youtube { + background-color: #DF584E; + border-radius: 16px; +} +.mail { + background-color: #FFFFFF; + border-radius: 16px; +} + +.mailbox { + background-color: #E5E5E5; + border-radius: 10px; + margin: 48px 0px 48px 0px; +} +.label_mails { + color: #404040; + font-size : 32px; + font-weight : bold; + margin: 0px 12px 0px 12px; +} + +/** Power buttons ***************************************/ +.btn_logout, .btn_sleep, .btn_reboot, .btn_poweroff { + font-size : 48px; + font-weight : bold; +} + +.btn_logout { + color: #BF616A; +} +.btn_sleep { + color: #A3BE8C; +} +.btn_reboot { + color: #EBCB8B; +} +.btn_poweroff { + color: #88C0D0; +} + +/** Home folders ***************************************/ +.hddbox { + background-color: #3A404C; + border-radius: 10px; + margin : 15px; +} +.hddicon { + color: #81A1C1; + font-family: Iosevka Nerd Font; + font-size : 70px; + font-weight : normal; + margin : 25px 20px 25px 40px; +} +.hdd_label { + color: #E5E9F0; + font-size : 48px; + font-weight : bold; + margin : 0px 0px 0px 15px; +} +.fs_sep { + color: #2E3440; + font-size : 36px; + font-weight : bold; +} + +.iconfolder1, .iconfolder2, .iconfolder3, .iconfolder4, .iconfolder5, .iconfolder6 { + font-family: Iosevka Nerd Font; + font-size : 32px; + font-weight : normal; + margin : 0px 0px 0px 75px; +} +.iconfolder1 { + color: #BF616A; +} +.iconfolder2 { + color: #A3BE8C; +} +.iconfolder3 { + color: #EBCB8B; +} +.iconfolder4 { + color: #81A1C1; +} +.iconfolder5 { + color: #B48EAD; +} +.iconfolder6 { + color: #88C0D0; +} + +.label_folder1, .label_folder2, .label_folder3, .label_folder4, .label_folder5, .label_folder6 { + font-size : 22px; + font-weight : normal; + margin : 0px 0px 0px 30px; +} +.label_folder1 { + color: #BF616A; +} +.label_folder2 { + color: #A3BE8C; +} +.label_folder3 { + color: #EBCB8B; +} +.label_folder4 { + color: #81A1C1; +} +.label_folder5 { + color: #B48EAD; +} +.label_folder6 { + color: #88C0D0; +} + +/** EOF *************************************************/ diff --git a/hypr-configs/hyprland/eww/dashboard/eww.yuck b/hypr-configs/hyprland/eww/dashboard/eww.yuck new file mode 100644 index 0000000..dfea761 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/eww.yuck @@ -0,0 +1,311 @@ +;; ** +;; ** Widgets config for EWW +;; ** Created by : @adi1090x +;; ** Converted by : @tripleo1 +;; ** + +;; ** Variables *********************************************************************** + +;; Profile vars +(defvar IMAGE "images/profile.jpg") +(defvar NAME "YOUR NAME") +(defpoll UNAME :interval "5m" `whoami`) + +;; System vars +(defpoll HOST :interval "5s" `hostname`) +(defpoll CPU_USAGE :interval "1s" `scripts/sys_info --cpu`) +(defpoll MEM_USAGE :interval "1s" `scripts/sys_info --mem`) +(defpoll BLIGHT :interval "1s" `scripts/sys_info --blight`) +(defpoll BATTERY :interval "5s" `scripts/sys_info --bat`) + +;; Time vars +(defpoll HOUR :interval "5s" `date +\"%I\"`) +(defpoll MIN :interval "5s" `date +\"%M\"`) +(defpoll MER :interval "5s" `date +\"%p\"`) +(defpoll DAY :interval "5s" `date +\"%A\"`) + +;; Uptime vars +(defpoll UPHOUR :interval "5s" `uptime -p | awk '{print $2 \" \" $3}' | sed 's/,//g'`) +(defpoll UPMIN :interval "5s" `uptime -p | awk '{print $4 \" \" $5}'`) + +;; Music vars +(defpoll SONG :interval "1s" `scripts/music_info --song`) +(defpoll ARTIST :interval "1s" `scripts/music_info --artist`) +(defpoll STATUS :interval "1s" `scripts/music_info --status`) +(defpoll CURRENT :interval "1s" `scripts/music_info --time`) +(defpoll COVER :interval "1s" `scripts/music_info --cover`) +(defpoll CTIME :interval "1s" `scripts/music_info --ctime`) +(defpoll TTIME :interval "1s" `scripts/music_info --ttime`) + +;; Weather vars +(defpoll ICON :interval "15m" `scripts/weather_info --icon`) +(defpoll STAT :interval "15m" `scripts/weather_info --stat`) +(defpoll TEMP :interval "15m" `scripts/weather_info --temp`) +(defpoll HEX :interval "15m" `scripts/weather_info --hex`) +(defpoll QUOTE :interval "15m" `scripts/weather_info --quote`) +(defpoll QUOTE2 :interval "15m" `scripts/weather_info --quote2`) + +;; Apps vars +(defpoll MAILS :interval "5m" `scripts/mails`) + +;; Files vars +(defpoll FREE :interval "5s" `df -h / | awk '{print $4}' | tail -n 1 | sed 's/G/GB/'`) + + +;; ** Widgets ************************************************************************* + + +;; background +(defwidget bg [] + (box :class "bg") +) + +;; profile +(defwidget user [] + (box :class "genwin" :orientation "v" :spacing 35 :space-evenly "false" :vexpand "false" :hexpand "false" + (box :style "background-image: url('${IMAGE}');" :class "face" :halign "center") + (label :class "fullname" :halign "center" :wrap "true" :limit-width 25 :text NAME) + (label :class "username" :halign "center" :wrap "true" :limit-width 25 :text UNAME))) + +;; system +(defwidget system [] + (box :class "genwin" :vexpand "false" :hexpand "false" + (box :orientation "v" :spacing 35 :halign "center" :valign "center" :space-evenly "false" :vexpand "false" :hexpand "false" + (box :class "cpu_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "iconcpu" :text "") + (scale :min 0 :max 100 :value CPU_USAGE :active "false")) + (box :class "mem_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "iconmem" :text "") + (scale :min 0 :max 100 :value MEM_USAGE :active "false")) + (box :class "bright_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "iconbright" :text "") + (scale :min 0 :max 100 :value BLIGHT :active "false")) + (box :class "bat_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "iconbat" :text "") + (scale :min 0 :max 100 :value BATTERY :active "false"))))) + +;; clock +(defwidget clock [] + (box :class "genwin" :orientation "h" :spacing 50 :space-evenly false :vexpand "false" :hexpand "false" + (box :orientation "h" :spacing 0 + (label :class "time_hour" :valign "start" :wrap "true" :limit-width 25 :text HOUR) + (label :class "time_min" :valign "end" :wrap "true" :limit-width 25 :text MIN)) + (box :orientation "v" :spacing 0 + (label :class "time_mer" :valign "start" :halign "end" :wrap "true" :limit-width 25 :text MER) + (label :class "time_day" :valign "end" :halign "end" :wrap "true" :limit-width 25 :text DAY)))) + +;; uptime +(defwidget uptime [] + (box :class "genwin" + (box :orientation "h" :halign "center" :spacing 40 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "icontimer" :valign "center" :text "祥") + (box :orientation "v" :valign "center" :spacing 0 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "uphour" :halign "start" :wrap "true" :limit-width 25 :text UPHOUR) + (label :class "upmin" :halign "start" :wrap "true" :limit-width 25 :text UPMIN))))) + +;; Music +(defwidget music [] + (box :class "genwin" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (box :class "album_art" :vexpand "false" :hexpand "false" :style "background-image: url('${COVER}');") + (box :orientation "v" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false" + (label :halign "center" :class "song" :wrap "true" :limit-width 20 :text SONG) + (label :halign "center" :class "artist" :wrap "true" :limit-width 15 :text ARTIST) + (box :orientation "h" :spacing 20 :halign "center" :space-evenly "true" :vexpand "false" :hexpand "false" + (button :class "btn_prev" :onclick "scripts/music_info --prev" "玲") + (button :class "btn_play" :onclick "scripts/music_info --toggle" STATUS) + (button :class "btn_next" :onclick "scripts/music_info --next" "怜")) + (box :class "music_bar" :halign "center" :vexpand "false" :hexpand "false" + (scale :onscroll "mpc -q seek +1" :min 0 :active "true" :max 100 :value CURRENT))))) + +;; github +(defwidget github [] + (box :class "github" :vexpand "false" :hexpand "false" + (button :class "iconweb" :onclick "scripts/open_links --gh" ""))) + +;; reddit +(defwidget reddit [] + (box :class "reddit" :vexpand "false" :hexpand "false" + (button :class "iconweb" :onclick "scripts/open_links --rd" "樓"))) + +;; twitter +(defwidget twitter [] + (box :class "twitter" :vexpand "false" :hexpand "false" + (button :class "iconweb" :onclick "scripts/open_links --tw" ""))) + +;; youtube +(defwidget youtube [] + (box :class "youtube" :vexpand "false" :hexpand "false" + (button :class "iconweb" :onclick "scripts/open_links --yt" ""))) + +;; mail +(defwidget mail [] + (box :class "mail" + (box :orientation "h" :halign "center" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconmail" :onclick "scripts/open_links --mail" "") + (box :class "mailbox" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "label_mails" :onclick "scripts/open_links --mail" MAILS))))) + +;; weather +(defwidget weather [] + (box :class "genwin" + (box :orientation "v" :spacing 10 :space-evenly "false" :vexpand "false" :hexpand "false" + (box :orientation "h" :vexpand "false" :hexpand "false" + (label :class "iconweather" :halign "start" :style "color: ${HEX};" :text ICON) + (label :class "label_temp" :halign "end" :text TEMP)) + (box :orientation "v" :spacing 10 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "label_stat" :text STAT) + (label :class "label_quote" :text QUOTE) + (label :class "label_quote" :text QUOTE2))))) + +;; apps +(defwidget apps [] + (box :class "genwin" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false" + (box :class "appbox" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :style "background-image: url('images/icons/firefox.svg');" :class "app_fox" :onclick "scripts/open_apps --ff") + (button :style "background-image: url('images/icons/telegram.svg');" :class "app_telegram" :onclick "scripts/open_apps --tg") + (button :style "background-image: url('images/icons/discord.svg');" :class "app_discord" :onclick "scripts/open_apps --dc")) + (box :class "appbox" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :style "background-image: url('images/icons/terminal.svg');" :class "app_terminal" :onclick "scripts/open_apps --tr") + (button :style "background-image: url('images/icons/files.svg');" :class "app_files" :onclick "scripts/open_apps --fm") + (button :style "background-image: url('images/icons/geany.svg');" :class "app_geany" :onclick "scripts/open_apps --ge")) + (box :class "appbox" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :style "background-image: url('images/icons/code.svg');" :class "app_code" :onclick "scripts/open_apps --cd") + (button :style "background-image: url('images/icons/gimp.svg');" :class "app_gimp" :onclick "scripts/open_apps --gp") + (button :style "background-image: url('images/icons/virtualbox.svg');" :class "app_vbox" :onclick "scripts/open_apps --vb")))) + +;; power buttons +(defwidget logout [] + (box :class "genwin" :vexpand "false" :hexpand "false" + (button :class "btn_logout" :onclick "openbox --exit" ""))) +(defwidget sleep [] + (box :class "genwin" :vexpand "false" :hexpand "false" + (button :class "btn_sleep" :onclick "systemctl suspend" ""))) +(defwidget reboot [] + (box :class "genwin" :vexpand "false" :hexpand "false" + (button :class "btn_reboot" :onclick "systemctl reboot" ""))) +(defwidget poweroff [] + (box :class "genwin" :vexpand "false" :hexpand "false" + (button :class "btn_poweroff" :onclick "systemctl poweroff" ""))) + +;; folders +(defwidget folders [] + (box :class "genwin" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false" + (box :class "hddbox" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (box :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "hddicon" :onclick "scripts/open_apps --fm" "") + (label :class "fs_sep" :text "|")) + (box :space-evenly "false" :vexpand "false" :hexpand "false" + (label :class "hdd_label" :wrap "true" :limit-width 25 :text FREE))) + (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconfolder1" :onclick "scripts/open_folders --docs" "") + (button :class "label_folder1" :onclick "scripts/open_folders --docs" "Documents")) + (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconfolder2" :onclick "scripts/open_folders --dl" "") + (button :class "label_folder2" :onclick "scripts/open_folders --dl" "Downloads")) + (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconfolder3" :onclick "scripts/open_folders --music" "") + (button :class "label_folder3" :onclick "scripts/open_folders --music" "Music")) + (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconfolder4" :onclick "scripts/open_folders --pics" "") + (button :class "label_folder4" :onclick "scripts/open_folders --pics" "Pictures")) + (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconfolder5" :onclick "scripts/open_folders --cfg" "ﮛ") + (button :class "label_folder5" :onclick "scripts/open_folders --cfg" "~/.config")) + (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false" + (button :class "iconfolder6" :onclick "scripts/open_folders --local" "ﮛ") + (button :class "label_folder6" :onclick "scripts/open_folders --local" "~/.local")))) + + +;; ** Windows ************************************************************************* + +;; background +(defwindow background :stacking "fg" :focusable "false" :monitor 1 + :geometry (geometry :x 0 :y 0 :width "1920px" :height "1080px") + (bg)) + + +;; profile +(defwindow profile + :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 150 :y 150 :width 350 :height 440) + (user)) + +;; system +(defwindow system :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 150 :y 605 :width 350 :height 325) + (system)) + +;; clock +(defwindow clock :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 515 :y 150 :width 350 :height 155) + (clock)) + +;; uptime +(defwindow uptime :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 515 :y 320 :width 350 :height 155) + (uptime)) + +;; music +(defwindow music :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 515 :y 490 :width 610 :height 280) + (music)) + +;; github +(defwindow github :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 515 :y 785 :width 141 :height 145) + (github)) + +;; reddit +(defwindow reddit :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 671 :y 785 :width 141 :height 145) + (reddit)) + +;; twitter +(defwindow twitter :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 827 :y 785 :width 141 :height 145) + (twitter)) + +;; youtube +(defwindow youtube :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 983 :y 785 :width 142 :height 145) + (youtube)) + +;; weather +(defwindow weather :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 880 :y 150 :width 550 :height 325) + (weather)) + +;; apps +(defwindow apps :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1140 :y 490 :width 290 :height 280) + (apps)) + +;; mail +(defwindow mail :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1140 :y 785 :width 290 :height 145) + (mail)) + +;; logout +(defwindow logout :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1445 :y 150 :width 155 :height 155) + (logout)) + +;; sleep +(defwindow sleep :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1615 :y 150 :width 155 :height 155) + (sleep)) + +;; reboot +(defwindow reboot :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1445 :y 320 :width 155 :height 155) + (reboot)) + +;; poweroff +(defwindow poweroff :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1615 :y 320 :width 155 :height 155) + (poweroff)) + +;; folders +(defwindow folders :stacking "fg" :focusable "false" :monitor 0 + :geometry (geometry :x 1445 :y 490 :width 325 :height 440) + (folders)) diff --git a/hypr-configs/hyprland/eww/dashboard/images/bg.png b/hypr-configs/hyprland/eww/dashboard/images/bg.png new file mode 100644 index 0000000..4a9b899 Binary files /dev/null and b/hypr-configs/hyprland/eww/dashboard/images/bg.png differ diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/code.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/code.svg new file mode 100644 index 0000000..b340b75 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/code.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/discord.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/discord.svg new file mode 100644 index 0000000..a02373d --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/discord.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/files.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/files.svg new file mode 100644 index 0000000..8a2c892 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/files.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/firefox.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/firefox.svg new file mode 100644 index 0000000..e14fafa --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/firefox.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/geany.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/geany.svg new file mode 100644 index 0000000..94029ba --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/geany.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/gimp.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/gimp.svg new file mode 100644 index 0000000..3a96df9 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/gimp.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/telegram.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/telegram.svg new file mode 100644 index 0000000..37c62cf --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/telegram.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/terminal.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/terminal.svg new file mode 100644 index 0000000..ea2f949 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/terminal.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/icons/virtualbox.svg b/hypr-configs/hyprland/eww/dashboard/images/icons/virtualbox.svg new file mode 100644 index 0000000..3883061 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/images/icons/virtualbox.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/hypr-configs/hyprland/eww/dashboard/images/music.png b/hypr-configs/hyprland/eww/dashboard/images/music.png new file mode 100644 index 0000000..3ded333 Binary files /dev/null and b/hypr-configs/hyprland/eww/dashboard/images/music.png differ diff --git a/hypr-configs/hyprland/eww/dashboard/images/profile.jpg b/hypr-configs/hyprland/eww/dashboard/images/profile.jpg new file mode 100644 index 0000000..575528e Binary files /dev/null and b/hypr-configs/hyprland/eww/dashboard/images/profile.jpg differ diff --git a/hypr-configs/hyprland/eww/dashboard/launch_dashboard b/hypr-configs/hyprland/eww/dashboard/launch_dashboard new file mode 100755 index 0000000..1196bb8 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/launch_dashboard @@ -0,0 +1,31 @@ +#!/bin/bash + +CFG="$HOME/.config/eww/dashboard" + +if [[ ! $(pidof eww) ]]; then + ${EWW} daemon + sleep 1 +fi + +run_eww() { + eww --config $CFG open-many \ + profile \ + system \ + clock \ + uptime \ + music \ + github \ + reddit \ + twitter \ + youtube \ + weather \ + apps \ + mail \ + logout \ + sleep \ + reboot \ + poweroff \ + folders +} + +run_eww diff --git a/hypr-configs/hyprland/eww/dashboard/scripts/mails b/hypr-configs/hyprland/eww/dashboard/scripts/mails new file mode 100755 index 0000000..974d00a --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/scripts/mails @@ -0,0 +1,7 @@ +#!/bin/python + +import imaplib +obj = imaplib.IMAP4_SSL('imap.gmail.com',993) +obj.login('username@gmail.com','PASSWORD') # write your email and password +obj.select() +print(len(obj.search(None, 'UnSeen')[1][0].split())) diff --git a/hypr-configs/hyprland/eww/dashboard/scripts/music_info b/hypr-configs/hyprland/eww/dashboard/scripts/music_info new file mode 100755 index 0000000..0c67079 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/scripts/music_info @@ -0,0 +1,103 @@ +#!/bin/bash + +## Get data +STATUS="$(mpc status)" +COVER="/tmp/.music_cover.jpg" +MUSIC_DIR="$HOME/Music" + +## Get status +get_status() { + if [[ $STATUS == *"[playing]"* ]]; then + echo "" + else + echo "喇" + fi +} + +## Get song +get_song() { + song=$(mpc -f %title% current) + if [[ -z "$song" ]]; then + echo "Offline" + else + echo "$song" + fi +} + +## Get artist +get_artist() { + artist=$(mpc -f %artist% current) + if [[ -z "$artist" ]]; then + echo "Offline" + else + echo "$artist" + fi +} + +## Get time +get_time() { + time=$(mpc status | grep "%)" | awk '{print $4}' | tr -d '(%)') + if [[ -z "$time" ]]; then + echo "0" + else + echo "$time" + fi +} +get_ctime() { + ctime=$(mpc status | grep "#" | awk '{print $3}' | sed 's|/.*||g') + if [[ -z "$ctime" ]]; then + echo "0:00" + else + echo "$ctime" + fi +} +get_ttime() { + ttime=$(mpc -f %time% current) + if [[ -z "$ttime" ]]; then + echo "0:00" + else + echo "$ttime" + fi +} + +## Get cover +get_cover() { + ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "${COVER}" -y &>/dev/null + STATUS=$? + + # Check if the file has a embbeded album art + if [ "$STATUS" -eq 0 ]; then + echo "$COVER" + else + echo "images/music.png" + fi +} + +## Execute accordingly +if [[ "$1" == "--song" ]]; then + get_song +elif [[ "$1" == "--artist" ]]; then + get_artist +elif [[ "$1" == "--status" ]]; then + get_status +elif [[ "$1" == "--time" ]]; then + get_time +elif [[ "$1" == "--ctime" ]]; then + get_ctime +elif [[ "$1" == "--ttime" ]]; then + get_ttime +elif [[ "$1" == "--cover" ]]; then + get_cover +elif [[ "$1" == "--toggle" ]]; then + mpc -q toggle +elif [[ "$1" == "--next" ]]; then + { + mpc -q next + get_cover + } +elif [[ "$1" == "--prev" ]]; then + { + mpc -q prev + get_cover + } +fi diff --git a/hypr-configs/hyprland/eww/dashboard/scripts/open_apps b/hypr-configs/hyprland/eww/dashboard/scripts/open_apps new file mode 100755 index 0000000..57d3718 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/scripts/open_apps @@ -0,0 +1,42 @@ +#!/bin/bash + +## Open Applications +FILE="$HOME/.cache/eww_launch.dashboard" +CFG="$HOME/.config/eww/dashboard" +EWW=`which eww` + +close_dash() { + ${EWW} --config "$CFG" close \ + background profile system clock uptime music github \ + reddit twitter youtube weather apps mail logout sleep reboot poweroff folders + rm -rf "$FILE" +} + +if [[ "$1" == "--ff" ]]; then + close_dash && firefox & + +elif [[ "$1" == "--tg" ]]; then + close_dash && telegram-desktop & + +elif [[ "$1" == "--dc" ]]; then + close_dash && discord & + +elif [[ "$1" == "--tr" ]]; then + close_dash && alacritty --working-directory ~ & + +elif [[ "$1" == "--fm" ]]; then + close_dash && thunar ~ & + +elif [[ "$1" == "--ge" ]]; then + close_dash && geany & + +elif [[ "$1" == "--cd" ]]; then + close_dash && code & + +elif [[ "$1" == "--gp" ]]; then + close_dash && gimp & + +elif [[ "$1" == "--vb" ]]; then + close_dash && virtualbox & + +fi diff --git a/hypr-configs/hyprland/eww/dashboard/scripts/open_folders b/hypr-configs/hyprland/eww/dashboard/scripts/open_folders new file mode 100755 index 0000000..c5a5628 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/scripts/open_folders @@ -0,0 +1,33 @@ +#!/bin/bash + +## Open folders in thunar +FILE="$HOME/.cache/eww_launch.dashboard" +CFG="$HOME/.config/eww/dashboard" +EWW=`which eww` + +close_dash() { + ${EWW} --config "$CFG" close \ + background profile system clock uptime music github \ + reddit twitter youtube weather apps mail logout sleep reboot poweroff folders + rm -rf "$FILE" +} + +if [[ "$1" == "--dl" ]]; then + close_dash && thunar ~/Downloads & + +elif [[ "$1" == "--docs" ]]; then + close_dash && thunar ~/Documents & + +elif [[ "$1" == "--music" ]]; then + close_dash && thunar ~/Music & + +elif [[ "$1" == "--pics" ]]; then + close_dash && thunar ~/Pictures & + +elif [[ "$1" == "--cfg" ]]; then + close_dash && thunar ~/.config & + +elif [[ "$1" == "--local" ]]; then + close_dash && thunar ~/.local/share & + +fi diff --git a/hypr-configs/hyprland/eww/dashboard/scripts/open_links b/hypr-configs/hyprland/eww/dashboard/scripts/open_links new file mode 100755 index 0000000..a338847 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/scripts/open_links @@ -0,0 +1,31 @@ +#!/bin/bash + +## Open links in firefox +FILE="$HOME/.cache/eww_launch.dashboard" +CFG="$HOME/.config/eww/dashboard" +EWW=`which eww` +cmd="firefox --new-tab" + +close_dash() { + ${EWW} --config "$CFG" close \ + background profile system clock uptime music github \ + reddit twitter youtube weather apps mail logout sleep reboot poweroff folders + rm -rf "$FILE" +} + +if [[ "$1" == "--mail" ]]; then + close_dash && ${cmd} "https://mail.google.com" + +elif [[ "$1" == "--gh" ]]; then + close_dash && ${cmd} "https://github.com" + +elif [[ "$1" == "--rd" ]]; then + close_dash && ${cmd} "https://reddit.com" + +elif [[ "$1" == "--tw" ]]; then + close_dash && ${cmd} "https://twitter.com" + +elif [[ "$1" == "--yt" ]]; then + close_dash && ${cmd} "https://youtube.com" + +fi diff --git a/hypr-configs/hyprland/eww/scripts/system b/hypr-configs/hyprland/eww/dashboard/scripts/sys_info old mode 100644 new mode 100755 similarity index 51% rename from hypr-configs/hyprland/eww/scripts/system rename to hypr-configs/hyprland/eww/dashboard/scripts/sys_info index 59f568b..fefc7f4 --- a/hypr-configs/hyprland/eww/scripts/system +++ b/hypr-configs/hyprland/eww/dashboard/scripts/sys_info @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash ## Files and Data PREV_TOTAL=0 @@ -13,9 +13,9 @@ get_cpu() { PREV_IDLE=$(echo "${fileCont}" | tail -n 1) fi - CPU=($(cat /proc/stat | grep '^cpu ')) # Get the total CPU statistics. - unset CPU[0] # Discard the "cpu" prefix. - IDLE=${CPU[4]} # Get the idle CPU time. + CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics. + unset CPU[0] # Discard the "cpu" prefix. + IDLE=${CPU[4]} # Get the idle CPU time. # Calculate the total CPU time. TOTAL=0 @@ -35,17 +35,35 @@ get_cpu() { fi # Remember the total and idle CPU times for the next check. - echo "${TOTAL}" >"${cpuFile}" - echo "${IDLE}" >>"${cpuFile}" + echo "${TOTAL}" > "${cpuFile}" + echo "${IDLE}" >> "${cpuFile}" } ## Get Used memory get_mem() { - printf "%.0f\n" "$(free -m | grep Mem | awk '{print ($3/$2)*100}')" + printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}') } -get_mem_mb() { - free -m | sed -n 's/^Mem:\s\+[0-9]\+\s\+\([0-9]\+\)\s.\+/\1/p' +## Get Brightness +get_blight() { + CARD=`ls /sys/class/backlight | head -n 1` + + if [[ "$CARD" == *"intel_"* ]]; then + BNESS=`xbacklight -get` + LIGHT=${BNESS%.*} + else + BNESS=`blight -d $CARD get brightness` + PERC="$(($BNESS*100/255))" + LIGHT=${PERC%.*} + fi + + echo "$LIGHT" +} + +## Get Battery +get_battery() { + BAT=`ls /sys/class/power_supply | grep BAT | head -n 1` + cat /sys/class/power_supply/${BAT}/capacity } ## Execute accordingly @@ -53,6 +71,8 @@ if [[ "$1" == "--cpu" ]]; then get_cpu elif [[ "$1" == "--mem" ]]; then get_mem -elif [[ "$1" == "--memb" ]]; then - get_mem_mb +elif [[ "$1" == "--blight" ]]; then + get_blight +elif [[ "$1" == "--bat" ]]; then + get_battery fi diff --git a/hypr-configs/hyprland/eww/dashboard/scripts/weather_info b/hypr-configs/hyprland/eww/dashboard/scripts/weather_info new file mode 100755 index 0000000..6fee821 --- /dev/null +++ b/hypr-configs/hyprland/eww/dashboard/scripts/weather_info @@ -0,0 +1,147 @@ +#!/bin/bash + +## Collect data +cache_dir="$HOME/.cache/eww/weather" +cache_weather_stat=${cache_dir}/weather-stat +cache_weather_degree=${cache_dir}/weather-degree +cache_weather_quote=${cache_dir}/weather-quote +cache_weather_hex=${cache_dir}/weather-hex +cache_weather_icon=${cache_dir}/weather-icon + +## Weather data +KEY="YOUR_KEY" +ID="CITY_ID" +UNIT="metric" # Available options : 'metric' or 'imperial' + +## Make cache dir +if [[ ! -d "$cache_dir" ]]; then + mkdir -p ${cache_dir} +fi + +## Get data +get_weather_data() { + weather=`curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID="$KEY"&id="$ID"&units="$UNIT""` + echo ${weather} + + if [ ! -z "$weather" ]; then + weather_temp=`echo "$weather" | jq ".main.temp" | cut -d "." -f 1` + weather_icon_code=`echo "$weather" | jq -r ".weather[].icon" | head -1` + weather_description=`echo "$weather" | jq -r ".weather[].description" | head -1 | sed -e "s/\b\(.\)/\u\1/g"` + + #Big long if statement of doom + if [ "$weather_icon_code" == "50d" ]; then + weather_icon=" " + weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..." + weather_hex="#84afdb" + elif [ "$weather_icon_code" == "50n" ]; then + weather_icon=" " + weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..." + weather_hex="#84afdb" + elif [ "$weather_icon_code" == "01d" ]; then + weather_icon=" " + weather_quote="It's a sunny day, gonna be fun! \nDon't go wandering all by yourself though..." + weather_hex="#ffd86b" + elif [ "$weather_icon_code" == "01n" ]; then + weather_icon=" " + weather_quote="It's a clear night \nYou might want to take a evening stroll to relax..." + weather_hex="#fcdcf6" + elif [ "$weather_icon_code" == "02d" ]; then + weather_icon=" " + weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..." + weather_hex="#adadff" + elif [ "$weather_icon_code" == "02n" ]; then + weather_icon=" " + weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?" + weather_hex="#adadff" + elif [ "$weather_icon_code" == "03d" ]; then + weather_icon=" " + weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..." + weather_hex="#adadff" + elif [ "$weather_icon_code" == "03n" ]; then + weather_icon=" " + weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?" + weather_hex="#adadff" + elif [ "$weather_icon_code" == "04d" ]; then + weather_icon=" " + weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..." + weather_hex="#adadff" + elif [ "$weather_icon_code" == "04n" ]; then + weather_icon=" " + weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?" + weather_hex="#adadff" + elif [ "$weather_icon_code" == "09d" ]; then + weather_icon=" " + weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..." + weather_hex="#6b95ff" + elif [ "$weather_icon_code" == "09n" ]; then + weather_icon=" " + weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..." + weather_hex="#6b95ff" + elif [ "$weather_icon_code" == "10d" ]; then + weather_icon=" " + weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..." + weather_hex="#6b95ff" + elif [ "$weather_icon_code" == "10n" ]; then + weather_icon=" " + weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..." + weather_hex="#6b95ff" + elif [ "$weather_icon_code" == "11d" ]; then + weather_icon="" + weather_quote="There's storm for forecast today \nMake sure you don't get blown away..." + weather_hex="#ffeb57" + elif [ "$weather_icon_code" == "11n" ]; then + weather_icon="" + weather_quote="There's gonna be storms tonight \nMake sure you're warm in bed and the windows are shut..." + weather_hex="#ffeb57" + elif [ "$weather_icon_code" == "13d" ]; then + weather_icon=" " + weather_quote="It's gonna snow today \nYou'd better wear thick clothes and make a snowman as well!" + weather_hex="#e3e6fc" + elif [ "$weather_icon_code" == "13n" ]; then + weather_icon=" " + weather_quote="It's gonna snow tonight \nMake sure you get up early tomorrow to see the sights..." + weather_hex="#e3e6fc" + elif [ "$weather_icon_code" == "40d" ]; then + weather_icon=" " + weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..." + weather_hex="#84afdb" + elif [ "$weather_icon_code" == "40n" ]; then + weather_icon=" " + weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..." + weather_hex="#84afdb" + else + weather_icon=" " + weather_quote="Sort of odd, I don't know what to forecast \nMake sure you have a good time!" + weather_hex="#adadff" + fi + echo "$weather_icon" > ${cache_weather_icon} + echo "$weather_description" > ${cache_weather_stat} + echo "$weather_temp""°C" > ${cache_weather_degree} + echo -e "$weather_quote" > ${cache_weather_quote} + echo "$weather_hex" > ${cache_weather_hex} + else + echo "Weather Unavailable" > ${cache_weather_stat} + echo " " > ${cache_weather_icon} + echo -e "Ah well, no weather huh? \nEven if there's no weather, it's gonna be a great day!" > ${cache_weather_quote} + echo "-" > ${cache_weather_degree} + echo "#adadff" > ${tcache_weather_hex} + fi +} + +## Execute +if [[ "$1" == "--getdata" ]]; then + get_weather_data +elif [[ "$1" == "--icon" ]]; then + cat ${cache_weather_icon} +elif [[ "$1" == "--temp" ]]; then + cat ${cache_weather_degree} +elif [[ "$1" == "--hex" ]]; then + cat ${cache_weather_hex} +elif [[ "$1" == "--stat" ]]; then + cat ${cache_weather_stat} +elif [[ "$1" == "--quote" ]]; then + cat ${cache_weather_quote} | head -n1 +elif [[ "$1" == "--quote2" ]]; then + cat ${cache_weather_quote} | tail -n1 +fi + diff --git a/hypr-configs/hyprland/eww/eww.scss b/hypr-configs/hyprland/eww/eww.scss deleted file mode 100644 index 11dc102..0000000 --- a/hypr-configs/hyprland/eww/eww.scss +++ /dev/null @@ -1,34 +0,0 @@ -/* Variables */ -* { - all: unset; - transition: 200ms; - } - -@mixin window { - background-color: $bg; - box-shadow: 0 0 0.3rem 0.3rem $shadow; - margin: 1rem; -} - - -$shadow: #151515; -$bg: #121013; -$bg-alt: #171518; -$bg-alt2: #312f32; -$fg: #f0f0f0; -$fg-alt: #cacaca; -$fg-alt2: #a0a0a0; -$black: #262626; -$gray: #bababa; -$red: #FA8E89; -$green: #9EC49F; -$yellow: #FAF889; -$blue: #89B4FA; -$magenta: #E889FA; -$cyan: #89EAFA; -$white: #ffffff; - -@import "bar/bar.scss"; -@import "central/central.scss"; -@import "notifications/notifications.scss"; -@import "volume/volume.scss"; diff --git a/hypr-configs/hyprland/eww/eww.yuck b/hypr-configs/hyprland/eww/eww.yuck deleted file mode 100644 index f46a6d0..0000000 --- a/hypr-configs/hyprland/eww/eww.yuck +++ /dev/null @@ -1,43 +0,0 @@ -(include "bar/bar.yuck") -(include "central/central.yuck") -(include "notifications/notifications.yuck") -(include "volume/volume.yuck") - -(deflisten hyprland `scripts/workspace`) -(deflisten name `scripts/sysinfo.sh --name`) -(deflisten kernel `scripts/sysinfo.sh --kernel`) -(deflisten os `scripts/sysinfo.sh --os`) -(deflisten wm `scripts/sysinfo.sh --wm`) -(deflisten uptime `scripts/sysinfo.sh --uptime`) - -(defvar perfil "assets/perfil.png") - - -;; Music -(defpoll music-art :interval "1s" "scripts/mediacontrol coverloc") -(defpoll music-title :interval "1s" "scripts/mediacontrol title") -(defpoll music-artist :interval "1s" "scripts/mediacontrol artist") -(defpoll music-toggle :interval "1s" "scripts/mediacontrol statusicon") -(defpoll music-status :interval "1s" "scripts/mediacontrol status") -(defpoll music-position :interval "1s" "scripts/mediacontrol position") -(defpoll music-length :interval "1s" "scripts/mediacontrol length") -(defpoll music-positions :interval "1s" "scripts/mediacontrol positions") -(defpoll music-lengths :interval "1s" "scripts/mediacontrol lengths") -(defpoll music-shuffle-color :interval "1s" "scripts/mediacontrol shufflecolor") -(defpoll music-shuffle-status :interval "1s" "playerctl -p spotify shuffle") -(defpoll music-loop-icon :interval "1s" "scripts/mediacontrol loopicon") -(defpoll music-loop-color :interval "1s" "scripts/mediacontrol loopcolor") -(defpoll music-loop-status :interval "1s" "playerctl -p spotify loop") -(defvar music-rev false) - -;; Volume -(deflisten volume `scripts/volume`) -(defvar volume_rev false) - -;; Date -(defpoll hour :interval "1s" "date '+%H'") -(defpoll minute :interval "1s" "date '+%M'") -(defpoll date :interval "1h" "date '+%a, %d %B'") -(defpoll calendar-day :interval "1h" "date '+%d'") -(defpoll calendar-month :interval "1h" "date '+%m'") -(defpoll calendar-year :interval "1h" "date '+%Y'") diff --git a/hypr-configs/hyprland/eww/notifications/notifications.scss b/hypr-configs/hyprland/eww/notifications/notifications.scss deleted file mode 100644 index 584bac2..0000000 --- a/hypr-configs/hyprland/eww/notifications/notifications.scss +++ /dev/null @@ -1,12 +0,0 @@ - -.notifications { - background-color: $bg; - color: $fg-alt; - margin: 1rem; - border-radius: .4rem; -} - -.title { - font-size: 1.5rem; - color: $fg; -} diff --git a/hypr-configs/hyprland/eww/notifications/notifications.yuck b/hypr-configs/hyprland/eww/notifications/notifications.yuck deleted file mode 100644 index 97d7e53..0000000 --- a/hypr-configs/hyprland/eww/notifications/notifications.yuck +++ /dev/null @@ -1,31 +0,0 @@ -(defwidget notifications [] - (box - :class "notifications" - (box - :class "title" - :space-evenly false - :valign "start" - :halign "center" - (label :text "Notifications") - ) - ) - -) - - - - - - - - - -(defwindow notifications - :monitor 0 - :geometry (geometry :x "1%" - :y "0%" - :height "75%" - :width "25%" - :anchor "center left") - :reserve (struts :side "top" :distance "4%") - (notifications)) diff --git a/hypr-configs/hyprland/eww/scripts/apps.py b/hypr-configs/hyprland/eww/scripts/apps.py deleted file mode 100644 index 2f6e501..0000000 --- a/hypr-configs/hyprland/eww/scripts/apps.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python - -import glob -import sys -import os -import json -import subprocess -import gi - -gi.require_version("Gtk", "3.0") - -from gi.repository import Gtk -from configparser import ConfigParser - -cache_file = os.path.expandvars("$XDG_CACHE_HOME/apps.json") - -def get_gtk_icon(icon_name): - theme = Gtk.IconTheme.get_default() - icon_info = theme.lookup_icon(icon_name, 128, 0) - - if icon_info is not None: - return icon_info.get_filename() - -def get_desktop_entries(query=None): - desktop_files = glob.glob(os.path.join("/usr/share/applications", "*.desktop")) - entries = [] - - for file_path in desktop_files: - parser = ConfigParser() - parser.read(file_path) - - if parser.getboolean("Desktop Entry", "NoDisplay", fallback=False): - continue # Skip entries with NoDisplay=true - - app_name = parser.get("Desktop Entry", "Name") - icon_path = get_gtk_icon(parser.get("Desktop Entry", "Icon", fallback="")) - comment = parser.get("Desktop Entry", "Comment", fallback="") - - entry = { - "name": app_name, - "icon": icon_path, - "comment": comment, - "desktop": os.path.basename(file_path), - } - entries.append(entry) - return entries - -def update_cache(entries): - with open(cache_file, "w") as file: - file.write(json.dumps(entries, indent=2)) - -def get_cached_entries(): - if os.path.exists(cache_file): - with open(cache_file, "r") as file: - content = file.read().strip() - if content: - try: - return json.loads(content) - except json.JSONDecodeError: - pass - - entries = get_desktop_entries() - update_cache(entries) - return entries - -def filter_entries(entries, query): - filtered_data = [ - entry for entry in entries - if query.lower() in entry["name"].lower() - or (entry["comment"] and query.lower() in entry["comment"].lower()) - ] - return filtered_data - -def update_eww(entries): - update = ["eww", "update", "apps={}".format(json.dumps(entries))] - subprocess.run(update) - -if __name__ == "__main__": - if len(sys.argv) > 2 and sys.argv[1] == "--query": - query = sys.argv[2] - else: - query = None - - entries = get_cached_entries() - - if query is not None: - filtered = filter_entries(entries, query) - update_eww(filtered) - else: - update_eww(entries) \ No newline at end of file diff --git a/hypr-configs/hyprland/eww/scripts/brightness b/hypr-configs/hyprland/eww/scripts/brightness deleted file mode 100644 index 7b49220..0000000 --- a/hypr-configs/hyprland/eww/scripts/brightness +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -current_brightness=1.0 - -function set_brightness() { - gdbus call -e -d de.mherzberg -o /de/mherzberg/wlrbrightness -m de.mherzberg.wlrbrightness.set $1 &> /dev/null -} - -echo "Ajuste o brilho com o scroll do mouse." -echo "Gire o scroll para cima para aumentar o brilho e para baixo para diminuir." -echo "Pressione Ctrl+C para sair." - -while true; do - read -r -n 1 scroll - if [[ "$scroll" == $'\x1b[A' ]]; then - # Scroll para cima - current_brightness=$(echo "$current_brightness + 0.1" | bc) - if (( $(echo "$current_brightness > 1.0" | bc -l) )); then - current_brightness=1.0 - fi - sudo bash -c "set_brightness $current_brightness" - elif [[ "$scroll" == $'\x1b[B' ]]; then - # Scroll para baixo - current_brightness=$(echo "$current_brightness - 0.1" | bc) - if (( $(echo "$current_brightness < 0.0" | bc -l) )); then - current_brightness=0.0 - fi - sudo bash -c "set_brightness $current_brightness" - fi -done diff --git a/hypr-configs/hyprland/eww/scripts/details b/hypr-configs/hyprland/eww/scripts/details deleted file mode 100644 index e80d436..0000000 --- a/hypr-configs/hyprland/eww/scripts/details +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/bash - -if [[ $1 == "--name" ]]; then - fullname=$(getent passwd "$(whoami)" | cut -d ':' -f 5 | cut -d ',' -f 1 | tr -d "\n") - if [ -z "$fullname" ]; then - echo "$(whoami)@$(hostnamectl | awk 'FNR==1 {print $3}')" - else - echo "$fullname" - fi -fi - -if [[ $1 == "--kernel" ]]; then - echo "$(uname -r)" -fi - -if [[ $1 == "--os" ]]; then - echo "$(cat /etc/os-release | awk 'NR==1' | awk -F '"' '{print $2}')" -fi - -if [[ $1 == "--pkgs" ]]; then - echo "$(yay -Q | wc -l)" -fi - -if [[ $1 == "--wm" ]]; then - echo "$XDG_CURRENT_DESKTOP" -fi \ No newline at end of file diff --git a/hypr-configs/hyprland/eww/scripts/mediacontrol b/hypr-configs/hyprland/eww/scripts/mediacontrol deleted file mode 100644 index 37a710b..0000000 --- a/hypr-configs/hyprland/eww/scripts/mediacontrol +++ /dev/null @@ -1,242 +0,0 @@ -#!/usr/bin/bash - -# ╔╦╗ ╦ ╦ ╔═╗ ╦ ╔═╗ -# ║║║ ║ ║ ╚═╗ ║ ║ -# ╩ ╩ ╚═╝ ╚═╝ ╩ ╚═╝ - -# author Niraj -# github niraj998 - -# ┌─┐┌─┐┌┐┌┌─┐┬┌─┐┬ ┬┬─┐┌─┐┌┬┐┬┌─┐┌┐┌┌─┐ -# │ │ ││││├┤ ││ ┬│ │├┬┘├─┤ │ ││ ││││└─┐ -# └─┘└─┘┘└┘└ ┴└─┘└─┘┴└─┴ ┴ ┴ ┴└─┘┘└┘└─┘ - -# uncomment your music players below. -# - -[ -n "$(pgrep spotify)" ] && Control="spotify" -#[ -n "$(pgrep firefox)" ] && Control="firefox" -# [ -n "$(pgrep rhythmbox)" ] && Control="rhythmbox" -# [ -n "$(pgrep audacious)" ] && Control="audacious" -# [ -n "$(pgrep clementine)" ] && Control="clementine" -# [ -n "$(pgrep strawberry)" ] && Control="strawberry" - -# saves covers here -Cover=/tmp/cover.png -# if cover not found in metadata use this instead -bkpCover=~/.config/bspwm/assets/fallback.webp - -# ┌─┐┬ ┌─┐┬ ┬┌─┐┬─┐┌─┐┌┬┐┬ ┌─┐┌─┐┬─┐┬┌─┐┌┬┐┌─┐ -# ├─┘│ ├─┤└┬┘├┤ ├┬┘│ │ │ └─┐│ ├┬┘│├─┘ │ └─┐ -# ┴ ┴─┘┴ ┴ ┴ └─┘┴└─└─┘ ┴ ┴─┘ └─┘└─┘┴└─┴┴ ┴ └─┘ - -########################## Title ########################## -title() { - title=$(playerctl --player=$Control metadata --format {{title}}) - [ -z "$title" ] && title="Eagerly awaiting the music." - echo "$title" -} - -########################## Artist ########################## -artist() { - artist=$(playerctl --player=$Control metadata --format {{artist}}) - [ -z "$artist" ] && artist="Artist" - echo "$artist" -} - -########################## Album ########################## -album() { - album=$(playerctl --player=$Control metadata --format {{album}}) - [ -z "$album" ] && album="Album" - echo "$album" -} - -########################## Status ########################## -status() { - status=$(playerctl --player=$Control status) - [ -z "$status" ] && status="Stopped" - echo "$status" -} - -########################## Time ########################## -position() { - time=$(playerctl --player=$Control position --format "{{ duration(position) }}") - [ -z "$time" ] && time="0:00" - echo "$time" -} - -positions() { - position=$(playerctl --player=$Control metadata --format "{{ duration(position) }}") - [ -z "$position" ] && position="0:00" - time=$position - if [[ $time == *:* ]]; then - minutes=${time%%:*} - seconds=${time#*:} - seconds=$((${seconds#0})) - else - minutes=${time:0:1} - seconds=${time:2:2} - fi - total_seconds=$((minutes * 60 + seconds)) - echo $total_seconds -} - -########################## Length ########################## -length() { - length=$(playerctl --player=$Control metadata --format "{{ duration(mpris:length) }}") - [ -z "$length" ] && length="0:00" - echo "$length" -} - -lengths() { - length=$(playerctl --player=$Control metadata --format "{{ duration(mpris:length) }}") - [ -z "$length" ] && length="0:00" - time=$length - if [[ $time == *:* ]]; then - minutes=${time%%:*} - seconds=${time#*:} - seconds=$((${seconds#0})) - else - minutes=${time:0:1} - seconds=${time:2:2} - fi - total_seconds=$((minutes * 60 + seconds)) - echo $total_seconds -} - -########################## trackNumber ########################## -playlist() { - playlist=$(playerctl --player=$Control metadata xesam:trackNumber) - [ -z "$playlist" ] && playlist="0" - echo "$playlist" -} - -########################## Cover ########################## -cover() { - albumart="$(playerctl --player=$Control metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')" - [ $(playerctl --player=$Control metadata mpris:artUrl) ] && curl -s "$albumart" --output $Cover || cp $bkpCover $Cover - echo "$Cover" -} - -########################## Statusicon ########################## -statusicon() { - icon="" - [ $(playerctl --player=$Control status) = "Playing" ] && icon="" - [ $(playerctl --player=$Control status) = "Paused" ] && icon="󰐊" - echo "$icon" -} - -########################## Shuffle ########################## -shufflecolor() { - color="#a0a0a0" - [ $(playerctl --player=$Control shuffle) = "On" ] && color="#9ec49f" - [ $(playerctl --player=$Control shuffle) = "Off" ] && color"#a0a0a0" - echo "$color" -} - -########################## Loop ########################## -loopicon() { - icon=" " - [ $(playerctl --player=$Control loop) = "None" ] && icon=" " - [ $(playerctl --player=$Control loop) = "Track" ] && icon" " - [ $(playerctl --player=$Control loop) = "Playlist" ] && icon=" " - echo "$icon" -} - -loopcheck() { - command=$(playerctl -p spotify loop) - - if [[ $command == "None" ]]; then - playerctl -p spotify loop Playlist - fi - - if [[ $command == "Playlist" ]]; then - playerctl -p spotify loop Track - fi - - if [[ $command == "Track" ]]; then - playerctl -p spotify loop None - fi -} - -loopcolor() { - color="#9ec49f" - [ $(playerctl --player=$Control loop) = "None" ] && color="#a0a0a0" - [ $(playerctl --player=$Control loop) = "Track" ] && color"#9ec49f" - [ $(playerctl --player=$Control loop) = "Playlist" ] && color"#9ec49f" - echo "$color" -} - -########################## Lyrics ########################## -lyrics() { - Title=$(playerctl --player=$Control metadata --format {{title}}) - Artist=$(playerctl --player=$Control metadata --format {{artist}}) - URL="https://api.lyrics.ovh/v1/$Artist/$Title" - lyrics=$(curl -s "$(echo "$URL" | sed s/" "/%20/g | sed s/"&"/%26/g | sed s/,/%2C/g | sed s/-/%2D/g)" | jq '.lyrics') - [ "$lyrics" = "null" ] && lyrics=$(curl -s --get "https://makeitpersonal.co/lyrics" --data-urlencode "artist=$Artist" --data-urlencode "title=$Title") - printf "$lyrics" | less -} - -# ┬ ┬┌─┐┬ ┌─┐ -# ├─┤├┤ │ ├─┘ -# ┴ ┴└─┘┴─┘┴ - -doc() { - echo "Usage: - MediaControl [Options] - -Options: - --previous previous song - --next next song - --toggle toggle between play-pause song - --stop stop song - --shuffle shuffle playlist - --loop loop toggle - title shows title of current song - album shows album of current song - artist shows artist of current song - status music status (playing/paused/stopped) - statusicon music status icons (playing/paused/stopped) - shufflecolor huffle status color - loopicon loop status icon - loopcolor loop status color - coverloc saves cover and shows location to cover of current song - showcover opens cover using feh - position shows current position of song - positions shows current position of song in seconds - length shows length of song - lengths shows length of song in seconds - playlist shows playlist position of current song - lyrics shows lyrics" -} - -# ┌─┐┌─┐┌┬┐┬┌─┐┌┐┌┌─┐ -# │ │├─┘ │ ││ ││││└─┐ -# └─┘┴ ┴ ┴└─┘┘└┘└─┘ - -case $1 in ---next) playerctl --player=$Control next ;; ---previous) playerctl --player=$Control previous ;; ---toggle) playerctl --player=$Control play-pause ;; ---stop) playerctl --player=$Control stop ;; ---shuffle) playerctl --player=$Control shuffle toggle ;; ---loop) loopcheck ;; -title) title ;; -artist) artist ;; -album) album ;; -status) status ;; -statusicon) statusicon ;; -shufflecolor) shufflecolor ;; -loopicon) loopicon ;; -loopcolor) loopcolor ;; -player) echo "$Control" ;; -coverloc) cover ;; -showcover) cover | xargs feh ;; -position) position ;; -positions) positions ;; -length) length ;; -lengths) lengths ;; -playlist) playlist ;; -lyrics) lyrics ;; -*) doc ;; -esac diff --git a/hypr-configs/hyprland/eww/scripts/netspeed b/hypr-configs/hyprland/eww/scripts/netspeed deleted file mode 100644 index 3b4b505..0000000 --- a/hypr-configs/hyprland/eww/scripts/netspeed +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# thanks to Luke Smith - -update() { - sum=0 - for arg; do - read -r i <"$arg" - sum=$((sum + i)) - done - cache=${XDG_CACHE_HOME:-$HOME/.cache}/${1##*/} - [ -f "$cache" ] && read -r old <"$cache" || old=0 - printf %d\\n "$sum" >"$cache" - printf %d\\n $((sum - old)) -} - -tx=$(update /sys/class/net/enp4s0/statistics/tx_bytes) -rx=$(update /sys/class/net/enp4s0/statistics/rx_bytes) - -[ "$1" = "down" ] && printf "%4sB\\n" $(numfmt --to=iec $rx) && exit -[ "$1" = "up" ] && printf "%4sB\\n" $(numfmt --to=iec $tx) && exit diff --git a/hypr-configs/hyprland/eww/scripts/network b/hypr-configs/hyprland/eww/scripts/network deleted file mode 100644 index 5f439c1..0000000 --- a/hypr-configs/hyprland/eww/scripts/network +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/bash - -ID="$(ip link | awk '/state UP/ {print $2}')" -NAME="$(ip link | awk '/state UP/ {print $2}' | cut -c 1-6)" - -net_stat() { - if (ping -c 1 archlinux.org || ping -c 1 google.com) &>/dev/null; then - if [[ $ID == e* ]]; then - echo " " - fi - else - echo " " - fi -} - -net_color() { - if (ping -c 1 archlinux.org || ping -c 1 google.com) &>/dev/null; then - echo "#A39EC4" - else - echo "#dd6777" - fi -} - -case "$1" in -stat) - net_stat | head -n1 - ;; -icon) - net_stat | tail -n1 - ;; -color) - net_color - ;; -esac diff --git a/hypr-configs/hyprland/eww/scripts/popup b/hypr-configs/hyprland/eww/scripts/popup deleted file mode 100644 index b6c5364..0000000 --- a/hypr-configs/hyprland/eww/scripts/popup +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/bash - -open_updates() { - $HOME/.config/eww/scripts/updates up -} - -case "$1" in -updates) - open_updates - ;; -esac diff --git a/hypr-configs/hyprland/eww/scripts/study b/hypr-configs/hyprland/eww/scripts/study deleted file mode 100644 index c194769..0000000 --- a/hypr-configs/hyprland/eww/scripts/study +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/bash - -cd ~/ESA\ 2024/ && okular Edital.pdf Horário.pdf & gnome-clocks diff --git a/hypr-configs/hyprland/eww/scripts/sysinfo.sh b/hypr-configs/hyprland/eww/scripts/sysinfo.sh deleted file mode 100644 index edc23b7..0000000 --- a/hypr-configs/hyprland/eww/scripts/sysinfo.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash - -get_username() { - fullname=$(getent passwd "$(whoami)" | cut -d ':' -f 5 | cut -d ',' -f 1 | tr -d "\n") - if [ -z "$fullname" ]; then - username="$(whoami)" - else - username="${fullname%% *}" - fi - - # Transforma todo o texto em maiúsculas - username="${username^}" - - echo "@$username" -} -get_kernel_version() { - echo "$(uname -r)" -} - -get_operating_system() { - echo "$(cat /etc/os-release | awk 'NR==1' | awk -F '"' '{print $2}')" -} - -get_installed_packages() { - echo "$(yay -Q | wc -l)" -} - -get_window_manager() { - echo "$XDG_CURRENT_DESKTOP" -} - -get_uptime() { - echo "$(uptime -p | sed -e 's/up //g')" -} - -# Main function -main() { - case "$1" in - "--name") - get_username - ;; - "--kernel") - get_kernel_version - ;; - "--os") - get_operating_system - ;; - "--pkgs") - get_installed_packages - ;; - "--wm") - get_window_manager - ;; - "--uptime") - get_uptime - ;; - *) - echo "Usage: $0 {--name|--kernel|--os|--pkgs|--wm|--uptime}" - exit 1 - ;; - esac -} - -# Call the main function with the provided arguments -main "$@" diff --git a/hypr-configs/hyprland/eww/scripts/updates b/hypr-configs/hyprland/eww/scripts/updates deleted file mode 100644 index 3f621b1..0000000 --- a/hypr-configs/hyprland/eww/scripts/updates +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -if ! updates_arch=$(checkupdates 2>/dev/null | wc -l); then - updates_arch=0 -fi - -if ! updates_aur=$(yay -Qum 2>/dev/null | wc -l); then - updates_aur=0 -fi - -updates=$((updates_arch + updates_aur)) - -check() { - if [ "$updates" -gt 0 ]; then - bspc rule -a \* -o state=floating && alacritty -e $SHELL -c 'yay -Syu' - fi -} - -case "$1" in -up) - check - ;; -get) - echo "$updates" - ;; -esac diff --git a/hypr-configs/hyprland/eww/scripts/user.sh b/hypr-configs/hyprland/eww/scripts/user.sh deleted file mode 100644 index a846ff4..0000000 --- a/hypr-configs/hyprland/eww/scripts/user.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -get_username() { - echo "$(whoami)" -} - -get_kernel_version() { - echo "$(uname -r)" -} - -get_operating_system() { - echo "$(cat /etc/os-release | awk 'NR==1' | awk -F '"' '{print $2}')" -} - -get_installed_packages() { - echo "$(yay -Q | wc -l)" -} - -get_window_manager() { - echo "$XDG_CURRENT_DESKTOP" -} - -# Main function -main() { - case "$1" in - "--name") - get_username - ;; - "--kernel") - get_kernel_version - ;; - "--os") - get_operating_system - ;; - "--pkgs") - get_installed_packages - ;; - "--wm") - get_window_manager - ;; - *) - echo "Usage: $0 {--name|--kernel|--os|--pkgs|--wm}" - exit 1 - ;; - esac -} - -# Call the main function with the provided arguments -main "$@" diff --git a/hypr-configs/hyprland/eww/scripts/volume b/hypr-configs/hyprland/eww/scripts/volume deleted file mode 100644 index 9399795..0000000 --- a/hypr-configs/hyprland/eww/scripts/volume +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -pamixer --get-volume-human | tr -d '%' - -pactl subscribe | rg --line-buffered "on sink" | while read -r _; do - pamixer --get-volume-human | tr -d '%' -done diff --git a/hypr-configs/hyprland/eww/scripts/workspace b/hypr-configs/hyprland/eww/scripts/workspace deleted file mode 100644 index 3bfbe8f..0000000 --- a/hypr-configs/hyprland/eww/scripts/workspace +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -WORKSPACES_NUMBER=5 - -workspaces() { - WORKSPACE_WINDOWS=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries') - CURRENT="$(hyprctl -j monitors | jq '.[0].activeWorkspace.name')" - - seq 1 $WORKSPACES_NUMBER | - jq --argjson windows "${WORKSPACE_WINDOWS}" \ - --argjson current "${CURRENT}" \ - --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0), current: ($current == .)})' -} - -workspaces -socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do - workspaces -done diff --git a/hypr-configs/hyprland/eww/volume/volume.scss b/hypr-configs/hyprland/eww/volume/volume.scss deleted file mode 100644 index e69de29..0000000 diff --git a/hypr-configs/hyprland/eww/volume/volume.yuck b/hypr-configs/hyprland/eww/volume/volume.yuck deleted file mode 100644 index 3d058b2..0000000 --- a/hypr-configs/hyprland/eww/volume/volume.yuck +++ /dev/null @@ -1,52 +0,0 @@ -(defwidget volume [] - (eventbox - :onhover "eww update volume_rev=true" - :onhoverlost "eww update volume_rev=false" - (box - :class "volume" - :space-evenly false - :orientation "v" - (revealer - :class "volume-bar" - :transition "slideup" - :reveal volume_rev - (eventbox - :cursor "pointer" - :halign "center" - (scale - :orientation "v" - :tooltip {volume == "muted" ? "Muted" : "${volume}%"} - :value {volume == "muted" ? "0" : volume} - :min 0 - :max 101 - :onchange "pamixer -u && pamixer --set-volume {}" - :flipped true - ) - ) - ) - (eventbox - :cursor "pointer" - :onscroll "echo {} | sed -e 's/up/--up/g' -e 's/down/--down/g' | xargs volume" - (button - :class "volume icon" - :style {volume == 0 || volume == "muted" ? "color: #dd6777;" : "color: #cacaca;"} - :tooltip {volume == "muted" ? "Muted" : "${volume}%" } - :onclick "volume --toggle" - {volume == 0 || volume == "muted" ? "󰝟" : - volume < 30 ? "" : - volume < 75 ? "" : ""} - ) - ) - ) - ) -) - -(defwindow volume - :monitor 0 - :geometry (geometry :x "1%" - :y "0%" - :height "75%" - :width "25%" - :anchor "center left") - :reserve (struts :side "top" :distance "4%") - (volume))