feat: eww dashboard

This commit is contained in:
hesam-init 2024-06-27 12:10:15 +03:30
parent 0c0d734fb6
commit ee6bc2f633
49 changed files with 2600 additions and 1715 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View file

@ -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;
}
}
}

View file

@ -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))

View file

@ -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;
}
}

View file

@ -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))

View file

@ -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 *************************************************/

View file

@ -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 *************************************************/

View file

@ -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 *************************************************/

View file

@ -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 *************************************************/

View file

@ -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))

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

View file

@ -0,0 +1,8 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg">
<circle cx="8.4665" cy="8.4665" r="7.1436" fill="#f9f9f9" style="paint-order:stroke fill markers"/>
<g transform="matrix(1.1855 0 0 1.1855 -14.244 .37886)" fill-rule="evenodd" stroke-width=".26458">
<path d="m21.068 2.6024c-0.09052 0.010102-0.17861 0.04111-0.26664 0.099217 0.13772 0.17144-0.1403 1.7855 0.20785 2.004l0.2717 0.17053v3.8922l-0.42679 0.31977c-0.32895 0.24647 0.02978 1.6662-0.05651 1.8488 0.09533 0.05818 0.23775 0.12029 0.36237 0.10514 0.03992-0.0049 0.08033-0.01602 0.1204-0.03566l1.7368-0.85162c0.18929-0.09277 0.38033-0.16953 0.38033-0.38033v-5.9043c0-0.2108-0.19104-0.28757-0.38033-0.38033l-1.7368-0.85162c-0.04007-0.01964-0.08048-0.030802-0.1204-0.035657-0.03116-0.00379-0.06181-0.00337-0.09198 0z" fill="#35a0f3" style="paint-order:stroke fill markers"/>
<path d="m15.041 8.0035 5.6511-5.2228c0.25656-0.23712 0.58887-0.15304 0.58887 0.33742v1.7579l-5.2244 3.9957c-0.09136 0.07175-0.32943 0.24313-0.53715 0.04563l-0.52855-0.50252c-0.1387-0.13186-0.05988-0.30961 0.0501-0.41126z" fill="#115fb7" style="paint-order:stroke fill markers"/>
<path d="m15.041 5.6381 5.6511 5.2228c0.25656 0.23712 0.58887 0.15304 0.58887-0.33742v-1.7579l-5.2244-3.9957c-0.09136-0.071751-0.32943-0.24313-0.53715-0.045627l-0.52855 0.50251c-0.1387 0.13187-0.05988 0.30961 0.0501 0.41126z" fill="#1a81da" style="paint-order:stroke fill markers"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,6 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg">
<circle cx="8.4665" cy="8.4665" r="7.1436" fill="#867de0" style="paint-order:stroke fill markers"/>
<g transform="matrix(2.2415 0 0 2.2415 3.7221 -652.3)" fill="#fff" stroke-width=".44648">
<path d="m1.5689 293.37c-0.052606 2.2e-4 -0.4878 0.0126-0.94691 0.35371 0 0-0.48972 0.88082-0.48972 1.9657 0 0 0.28566 0.48973 1.0372 0.51353 0 0 0.12583-0.14963 0.22785-0.27887-0.4319-0.12923-0.59514-0.39788-0.59514-0.39788s0.034015 0.0238 0.09523 0.0578c0.003403 0 0.006787 4e-3 0.013593 7e-3 0.010203 7e-3 0.020408 0.0102 0.03061 0.017 0.08502 0.0476 0.17004 0.085 0.24826 0.11563 0.13943 0.0579 0.30608 0.10883 0.49992 0.14623 0.25506 0.0476 0.55433 0.0646 0.88081 4e-3 0.15984-0.0306 0.32309-0.0748 0.49313-0.14623 0.11903-0.0442 0.25166-0.10882 0.39109-0.20064 0 0-0.17004 0.27546-0.61554 0.4013 0.10202 0.12583 0.22446 0.27205 0.22446 0.27205 0.75158-0.0238 1.0372-0.51353 1.0372-0.51013 0-1.0849-0.48972-1.9657-0.48972-1.9657-0.48632-0.36388-0.95224-0.35368-0.95224-0.35368l-0.047602 0.0544c0.57814 0.17343 0.8468 0.42851 0.8468 0.42851-0.35369-0.19044-0.70056-0.28568-1.0236-0.32309-0.24486-0.0272-0.47952-0.0204-0.68697 7e-3 -0.020405 0-0.037404 4e-3 -0.05781 7e-3 -0.11903 0.0136-0.4081 0.0544-0.77198 0.21425-0.12583 0.0544-0.20065 0.0952-0.20065 0.0952s0.27887-0.26868 0.89101-0.44211l-0.034009-0.0408s-0.0018-3e-5 -0.00531-2e-5zm-0.086511 1.2549c0.19385 0 0.35029 0.16664 0.34689 0.37409 0 0.20745-0.15304 0.37409-0.34689 0.37409-0.19045 0-0.34689-0.16664-0.34689-0.37409s0.15304-0.37409 0.34689-0.37409zm1.2413 0c0.19045 0 0.34689 0.16664 0.34689 0.37409s-0.15304 0.37409-0.34689 0.37409c-0.19045 0-0.34689-0.16664-0.34689-0.37409s0.15304-0.37409 0.34689-0.37409z" fill="#fff" stroke-width=".44648"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,16 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="b">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
<linearGradient id="c" x1="32" x2="32" y1="13" y2="9" gradientTransform="scale(.26458)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
<linearGradient id="a" x1="30" x2="57" y1="44" y2="44" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
</defs>
<circle cx="8.4665" cy="8.4665" r="6.6145" fill="#3578c7" style="paint-order:stroke markers fill"/>
<path transform="scale(.26458)" d="m19.398 14a22 22 0 0 0-9.3984 18 22 22 0 0 0 22 22 22 22 0 0 0 22-22 22 22 0 0 0-9.3711-18z" fill="#fff" stroke-width="3.7796" style="paint-order:stroke markers fill"/>
<path d="m8.4665 1.852a6.6145 6.6145 0 0 0-3.9444 1.3229h7.8976a6.6145 6.6145 0 0 0-3.9532-1.3229z" fill="url(#c)" opacity=".15" style="paint-order:stroke markers fill"/>
<path d="m8.466 4.2332c-0.29211 6.879e-4 -0.38134 0.27599-0.52916 0.52967l-0.30799 0.52812-5.5525 5.167e-4a7.1436 7.1436 0 0 0-0.75343 3.1749 7.1436 7.1436 0 0 0 7.1436 7.1436 7.1436 7.1436 0 0 0 7.1436-7.1436 7.1436 7.1436 0 0 0-1.3999-4.2332h-5.7432z" fill="#5294e2" style="paint-order:stroke markers fill"/>
<rect x="9.2599" y="4.762" width="3.969" height=".529" ry=".265" opacity=".25" style="paint-order:stroke markers fill"/>
<path transform="scale(.26458)" d="m59 32-27 27a27 27 0 0 0 27-27z" fill="url(#a)" opacity=".15" stroke-width="3.7796" style="paint-order:stroke markers fill"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,14 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg">
<circle cx="296.65" cy="5.7567" r="0" enable-background="new" fill="#d5d3cf" stroke-width=".87152"/>
<g stroke-width=".18455">
<path d="m15.093 5.809c-0.31078-0.74779-0.94116-1.5551-1.4349-1.8104a7.431 7.431 0 0 1 0.72435 2.1711l0.0013 0.012027c-0.80869-2.0162-2.1801-2.8291-3.3001-4.5993-0.056658-0.089506-0.11332-0.17919-0.16849-0.27387-0.03156-0.054034-0.05684-0.1028-0.0788-0.14764a1.3016 1.3016 0 0 1-0.10667-0.28328 0.018455 0.018455 0 0 0-0.01624-0.018476 0.025468 0.025468 0 0 0-0.01347 0c-9.59e-4 0-0.0024 0.001743-0.0035 0.001743-0.0011 3.6604e-4 -0.0035 0.001743-0.0051 0.002615l0.0028-0.005229c-1.7966 1.0519-2.4062 2.9993-2.4623 3.9734a3.5779 3.5779 0 0 0-1.9684 0.75868 2.1384 2.1384 0 0 0-0.18455-0.13989 3.316 3.316 0 0 1-0.020116-1.7483 5.2975 5.2975 0 0 0-1.7217 1.3306h-0.00332c-0.28355-0.35847-0.26362-1.5433-0.24738-1.7907a1.2785 1.2785 0 0 0-0.23881 0.12678 5.2089 5.2089 0 0 0-0.69907 0.59887 6.246 6.246 0 0 0-0.66862 0.80223v8.715e-4 -8.715e-4a6.0408 6.0408 0 0 0-0.95964 2.1671l-0.0096 0.047237c-0.013472 0.062924-0.062008 0.37814-0.070313 0.4466 0 0.00523-0.00111 0.010371-0.00166 0.015688a6.8167 6.8167 0 0 0-0.11608 0.98604v0.036865a7.1529 7.1529 0 0 0 14.201 1.2095c0.01199-0.092277 0.02178-0.18363 0.03248-0.27682a7.3556 7.3556 0 0 0-0.46395-3.5929zm-8.2438 5.5988c0.033403 0.01604 0.064777 0.03338 0.099101 0.04872l0.00499 0.0035q-0.052048-0.02494-0.10409-0.05187zm1.6385-4.314m5.8967-0.91057v-0.00697l0.0013 0.00784z" fill="#ff3944"/>
<path d="m11.618 6.6457c0.0155 0.010894 0.02989 0.021788 0.04447 0.032682a3.894 3.894 0 0 0-0.66438-0.86645c-2.2231-2.2234-0.58262-4.821-0.30598-4.953l0.0028-0.004358c-1.7966 1.0519-2.4062 2.9993-2.4622 3.9734 0.083416-0.0061 0.1661-0.012724 0.25136-0.012724a3.6098 3.6098 0 0 1 3.134 1.8302z" fill="#ffcd34"/>
<path d="m8.4881 7.0901c-0.011811 0.1779-0.64039 0.79153-0.86019 0.79153-2.0339 0-2.3641 1.2304-2.3641 1.2304 0.090063 1.0361 0.81202 1.8894 1.6847 2.3408 0.039863 0.02065 0.080279 0.03931 0.1207 0.05761q0.10501 0.04654 0.21002 0.08602a3.1807 3.1807 0 0 0 0.9307 0.17957c3.565 0.1672 4.2555-4.2631 1.6829-5.5486a2.4693 2.4693 0 0 1 1.7246 0.41874 3.6098 3.6098 0 0 0-3.134-1.8302c-0.084893 0-0.16794 0.00697-0.25136 0.012724a3.5779 3.5779 0 0 0-1.9684 0.75868c0.10907 0.092268 0.23217 0.21555 0.49145 0.47115 0.48536 0.47816 1.7301 0.97349 1.7329 1.0316z" fill="#9a46eb"/>
<path d="m5.9303 5.3471c0.057949 0.036865 0.10575 0.069025 0.14764 0.097994a3.316 3.316 0 0 1-0.020116-1.7483 5.2975 5.2975 0 0 0-1.7217 1.3306c0.03488-8.715e-4 1.0724-0.019522 1.5941 0.31964z" fill="#ff9633"/>
<path d="m1.3883 8.6327c0.55199 3.2617 3.5081 5.7521 6.8641 5.8471 3.1059 0.08784 5.0902-1.7152 5.91-3.4742a6.4777 6.4777 0 0 0 0.22257-4.8275v-0.00697c0-0.00523-0.0011-0.00872 0-0.00697l0.0013 0.012027c0.25375 1.6567-0.5889 3.2617-1.9062 4.3471l-0.0041 0.0092c-2.5667 2.0904-5.023 1.2612-5.5202 0.92277q-0.052031-0.024892-0.10407-0.051822c-1.4965-0.71531-2.1148-2.0788-1.9823-3.2481a1.8368 1.8368 0 0 1-1.6943-1.0658 2.6977 2.6977 0 0 1 2.6296-0.10557 3.5618 3.5618 0 0 0 2.6855 0.10557c-0.0027715-0.058131-1.2476-0.55364-1.7329-1.0316-0.25929-0.2556-0.38238-0.37869-0.49145-0.47115a2.1384 2.1384 0 0 0-0.18455-0.13989c-0.042447-0.028935-0.090246-0.06031-0.14764-0.097994-0.52172-0.3392-1.5592-0.32056-1.5936-0.31963h-0.00332c-0.28345-0.35907-0.26351-1.5439-0.24728-1.7913a1.2785 1.2785 0 0 0-0.23881 0.12678 5.2089 5.2089 0 0 0-0.69907 0.59886 6.246 6.246 0 0 0-0.67139 0.80039v8.715e-4 -8.715e-4a6.0408 6.0408 0 0 0-0.95964 2.1671c-0.0035061 0.014554-0.25763 1.1256-0.13232 1.7017z" fill="#ff6333"/>
<path d="m10.998 5.8177a3.894 3.894 0 0 1 0.66438 0.86738c0.0393 0.029719 0.07603 0.059264 0.10722 0.087841 1.6216 1.4948 0.77197 3.6079 0.70867 3.7584 1.3173-1.0853 2.1592-2.6904 1.9062-4.3471-0.80906-2.0171-2.1805-2.83-3.3005-4.6003-0.05666-0.089506-0.11332-0.17919-0.16849-0.27387-0.03156-0.054034-0.05684-0.1028-0.0788-0.14764a1.3016 1.3016 0 0 1-0.10667-0.28328 0.018455 0.018455 0 0 0-0.01624-0.018476 0.025468 0.025468 0 0 0-0.01347 0c-9.59e-4 0-0.0024 0.001743-0.0035 0.001743-0.0011 3.6604e-4 -0.0035 0.001743-0.0051 0.002615-0.27664 0.13121-1.9171 2.7287 0.30635 4.9522z" fill="#ff8619"/>
<path d="m11.768 6.7677c-0.03119-0.028586-0.06791-0.058131-0.10722-0.08785-0.01458-0.010894-0.02898-0.021788-0.04447-0.032682a2.4693 2.4693 0 0 0-1.7246-0.41874c2.5727 1.2863 1.8824 5.7158-1.6829 5.5486a3.1807 3.1807 0 0 1-0.9307-0.17955q-0.10501-0.039306-0.21002-0.08602c-0.040416-0.01848-0.080832-0.03687-0.1207-0.05761l0.00499 0.0035c0.49718 0.33938 2.9528 1.1685 5.5202-0.92277l0.0041-0.0092c0.06404-0.14948 0.91371-2.2631-0.70867-3.7574z" fill="#ffa316"/>
<path d="m5.2638 9.1121s0.33016-1.2304 2.3641-1.2304c0.2198 0 0.84893-0.61362 0.86019-0.79153a3.5618 3.5618 0 0 1-2.6855-0.10556 2.6977 2.6977 0 0 0-2.6296 0.10556 1.8368 1.8368 0 0 0 1.6943 1.0658c-0.13251 1.1695 0.48574 2.5329 1.9823 3.2481 0.033403 0.01604 0.064777 0.03338 0.099101 0.04872-0.87344-0.45122-1.5947-1.3046-1.6847-2.3407z" fill="#ffbb27"/>
</g>
<circle cx="-15.774" cy="13.461" r="0" enable-background="new" fill="#d5d3cf" stroke-width=".87152"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,5 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg">
<path d="m8.3803 1.3234a7.1436 7.1436 0 1 1 0 14.286 7.1436 7.1436 0 0 1 0-14.286z" fill="#f6d32e"/>
<path d="m8.467 2.646a5.82 5.82 0 1 1 0 11.641 5.82 5.82 0 0 1 0-11.641z" fill="#fff" opacity=".15"/>
<path d="M8.404 5.396c-.24.003-.471.108-.54.286-.02.056-.022.073-.008.155.03.17.138.383.265.52.087.094.145.133.228.155.069.018.116.012.192-.023.17-.08.372-.377.424-.629.033-.154-.013-.26-.152-.352a.728.728 0 0 0-.409-.112zm-.74.532c-.017-.01-.295.03-.494.072-.464.098-.793.235-.978.407-.1.093-.132.152-.132.24s.032.147.132.24c.297.277 1.019.476 1.867.515.419.02.916-.012 1.314-.084.765-.137 1.286-.435 1.236-.708-.048-.26-.571-.523-1.27-.64l-.18-.031-.033.092c-.146.398-.416.671-.682.69-.21.015-.416-.12-.593-.386a1.59 1.59 0 0 1-.17-.363c-.004-.02-.012-.04-.018-.044zm3.151.688l-.008.074c-.038.352-.536.657-1.322.81-1.43.278-3.139-.008-3.546-.594l-.04-.058-.01.064c-.017.131-.01.82.01 1.057.011.128.018.235.015.238-.01.01-.256-.097-.324-.142-.23-.153-.336-.383-.376-.815l-.015-.156-.224-.004-.225-.003.01.08c.077.703.328 1.375.704 1.886.582.79 1.51 1.3 2.576 1.418.184.02.562.023.718.006.586-.065 1.056-.28 1.405-.643.424-.44.66-1.018.752-1.841.01-.097.016-.31.015-.61-.002-.501-.008-.547-.079-.694zm1.093.41a.75.75 0 0 0-.692.312c-.064.09-.136.237-.136.28 0 .07.075.142.148.142.068 0 .098-.028.159-.146a.603.603 0 0 1 .249-.274c.296-.15.644.044.7.39.014.078.008.156-.051.715-.076.722-.066.686-.22.778-.199.12-.51.182-1.017.201-.231.01-.233.01-.268.045-.053.053-.05.117.008.175l.044.044h.199c.547 0 .982-.093 1.235-.262a.544.544 0 0 0 .223-.27c.017-.063.144-1.25.144-1.344 0-.1-.035-.235-.089-.343a.793.793 0 0 0-.636-.443zm-5.156.488c.004 0 .094.176.202.39l.196.392-.192.387c-.106.212-.196.388-.2.39a5.234 5.234 0 0 1-.206-.385l-.198-.391.195-.392c.108-.215.2-.391.203-.391zm3.426.007l.2.398.198.397-.194.389a8.469 8.469 0 0 1-.2.388c-.004 0-.096-.176-.203-.392l-.196-.391.198-.395zm-1.711.42c.012 0 .588.936.585.949-.002.007-.133.218-.29.47a8.99 8.99 0 0 1-.295.458c-.01 0-.577-.9-.585-.928-.004-.015.572-.95.585-.949zm1.737 2.137l-.07.059c-.382.318-.872.501-1.467.548a4.085 4.085 0 0 1-1.362-.155 3.677 3.677 0 0 1-.705-.274l-.152-.077-.086.04c-.193.087-.372.232-.426.346a.33.33 0 0 0-.008.253c.104.235.53.455 1.128.583.306.065.507.092.964.129.029.002.215.006.414.007.39.002.603-.01.939-.05 1.411-.175 2.058-.714 1.39-1.158a1.84 1.84 0 0 0-.432-.206l-.127-.044z" fill="#d11616"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,22 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="d" x1="34.601" x2="34.601" y1="50.4" y2="45.086" gradientUnits="userSpaceOnUse">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
</defs>
<circle cx="8.4665" cy="8.4665" r="7.1436" fill="#f9f9f9" style="paint-order:stroke fill markers"/>
<g transform="matrix(.69229 0 0 .69229 2.5955 2.9766)">
<path d="m2.57 2.117s-0.982 0-0.982 0.977c0 0-0.053 4.779 0.982 6.838 0.62 1.236 3.927 3.908 3.927 3.908h3.928s3.306-2.672 3.927-3.908c1.035-2.06 0.982-6.838 0.982-6.838 0.139-0.968-0.982-0.977-0.982-0.977 0 1.954-1.964 1.954-1.964 1.954h-7.855s-1.963 0-1.963-1.954z" fill="#5c4e3c"/>
<g transform="matrix(.34395 0 0 .34223 -43.43 -80.23)">
<circle cx="159.87" cy="259.33" r="4" fill="#fff"/>
<path d="m159.74 257.33a3 3 0 0 0-2.874 2.995 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-2.85-2.992 1.5 1.5 0 0 1 1.35 1.492 1.5 1.5 0 0 1-1.5 1.5 1.5 1.5 0 0 1-1.5-1.5 1.5 1.5 0 0 1 1.374-1.495z" opacity=".8"/>
</g>
<g transform="matrix(.34395 0 0 .34223 -49.622 -80.23)">
<circle cx="159.87" cy="259.33" r="4" fill="#fff"/>
<path d="m159.74 257.33a3 3 0 0 0-2.874 2.995 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-2.85-2.992 1.5 1.5 0 0 1 1.35 1.492 1.5 1.5 0 0 1-1.5 1.5 1.5 1.5 0 0 1-1.5-1.5 1.5 1.5 0 0 1 1.374-1.495z" opacity=".8"/>
</g>
<path d="m6.497 13.84s0.575 0.977 1.964 0.977c1.388 0 1.964-0.977 1.964-0.977s-0.491-0.977-1.964-0.977-1.964 0.977-1.964 0.977z" fill="#252525" fill-rule="evenodd"/>
<path transform="matrix(.34395 0 0 .34223 -2.546 -2.432)" d="m34.537 45.086a5.5 5 0 0 1 0.072 0.791 5.5 5 0 0 1-3.117 4.502c0.167 0.01 0.332 0.021 0.508 0.021 4.037 0 5.709-2.855 5.709-2.855s-0.846-1.677-3.172-2.46z" fill="url(#d)" fill-rule="evenodd" opacity=".25"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -0,0 +1,20 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="a" x1="135" x2="160" y1="120" y2="160" gradientTransform="matrix(.05623 0 0 .05623 .071601 -.05278)" gradientUnits="userSpaceOnUse">
<stop stop-color="#eff7fc" offset="0"/>
<stop stop-color="#fff" offset="1"/>
</linearGradient>
</defs>
<g transform="matrix(1.1739 0 0 1.1739 -5.5652 -5.5652)" stroke-width=".85185">
<g transform="translate(8,8)" fill="#3db0e3">
<path d="m24 1.0001c12.703 0 23 10.297 23 23 0 12.703-10.297 23-23 23-12.703 0-23-10.297-23-23 0-12.703 10.297-23 23-23z" stroke-width=".85186"/>
</g>
<g transform="matrix(3.5433 0 0 3.5433 27 6.8895)">
<g transform="translate(-5.0801)" stroke-width=".85185">
<path d="m5.582 9.787c-0.219 0-0.181-0.083-0.257-0.291l-0.643-2.116 3.981-2.487 0.465 0.122-0.386 1.058z" fill="#c8daea"/>
<path d="m5.582 9.787c0.169 0 0.243-0.077 0.337-0.169 0.145-0.142 2.024-1.968 2.024-1.968l-1.151-0.279-1.068 0.675-0.142 1.684z" fill="#a7c2d1"/>
<path d="m5.697 8.07 2.719 2.01c0.31 0.171 0.534 0.083 0.612-0.288l1.107-5.216c0.113-0.454-0.173-0.66-0.47-0.526l-6.5 2.507c-0.444 0.178-0.441 0.425-0.081 0.536l1.668 0.521 3.861-2.436c0.182-0.111 0.35-0.051 0.212 0.071z" fill="url(#a)"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,14 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="a" x1="43" x2="49" y1="44" y2="50" gradientTransform="scale(.26458)" gradientUnits="userSpaceOnUse">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
</defs>
<g>
<circle cx="8.4665" cy="8.4665" r="7.1436" fill="#72787e" style="paint-order:stroke fill markers"/>
<rect x="5.821" y="9.525" width="4.233" height=".529" ry=".265" fill="#fff" style="paint-order:stroke markers fill"/>
<path d="m4.502 4.725a0.264 0.264 0 0 0-0.262 0.13 0.264 0.264 0 0 0 0.097 0.362l2.842 1.64-2.842 1.641a0.264 0.264 0 0 0-0.097 0.362c0.074 0.127 0.235 0.17 0.362 0.097l3.207-1.852a0.26 0.26 0 0 0 0.127-0.225c0.00201-8e-3 0.00101-0.014999 0.00201-0.022 0-8e-3 0-0.014999-0.00201-0.023a0.26 0.26 0 0 0-0.127-0.224l-3.207-1.853a0.266 0.266 0 0 0-0.1-0.033z" fill="#fff" style="paint-order:stroke markers fill"/>
</g>
<path d="m15.582 9.0235-6.5629 6.5629a7.1437 7.1437 0 0 0 6.5629-6.5629z" fill="url(#a)" opacity=".25" stroke-width=".26458" style="paint-order:stroke fill markers"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,11 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg">
<circle cx="8.4665" cy="8.4665" r="7.1436" fill="#f9f9f9" style="paint-order:stroke fill markers"/>
<g transform="matrix(.68 0 0 .68 2.7093 2.7093)">
<g fill-rule="evenodd" stroke-width=".015243">
<path d="m8.4658 15.671 6.6152-3.7386-0.04503-7.0332-6.5701 3.6002z" fill="#3585f3"/>
<path d="m8.4672 15.686-6.6152-3.7386 0.045025-7.0332 6.5701 3.6002z" fill="#1c69d0"/>
<path d="m1.878 4.9333 6.6205-3.6863 6.5618 3.6878-6.5973 3.6146z" fill="#5997f3"/>
</g>
<path d="m9.4829 5.2897c-0.051527 0.044681-0.14489 0.050032-0.20844 0.011627l-0.70395-0.4256c-0.057483-0.034751-0.071673-0.093824-0.032627-0.13855l0.60212-0.70525-2.1207 1.4692c-0.050056 0.034525-0.12916 0.038571-0.18765 0.00807-0.00344-0.00178-0.00641-0.0032-0.00985-0.00534-0.051323-0.031038-0.069143-0.082186-0.041974-0.12573l0.70895-1.1658-0.93877 0.2713c-0.056427 0.016385-0.12357 0.00653-0.16478-0.02698-0.042914-0.032769-0.053627-0.080369-0.027858-0.12004l0.40426-0.6147-0.86581-0.52345c-0.063261-0.038197-0.07299-0.10597-0.021522-0.15059 0.051705-0.044829 0.1453-0.049788 0.20853-0.011556l0.95538 0.57763c0.052678 0.031851 0.069763 0.085154 0.040742 0.12891l-0.28859 0.43888 0.92318-0.26653c0.05581-0.016515 0.12159-7e-3 0.16307 0.025497 0.042617 0.031702 0.054837 0.07859 0.031405 0.11841l-0.55304 0.9093 2.427-1.6807c0.052868-0.03685 0.13647-0.038571 0.19555-0.00394 0.060188 0.042972 0.073132 0.09461 0.034442 0.13999l-1.1542 1.3504 0.60392 0.36512c0.06332 0.038334 0.072669 0.10582 0.021202 0.15045zm0.70171 0.28666-0.36361-0.21983c-0.06319-0.038203-0.15702-0.033042-0.20849 0.011627-0.051527 0.044681-0.041739 0.1124 0.021451 0.1506l0.36361 0.21983c0.063059 0.038132 0.15695 0.033102 0.20849-0.011627 0.0515-0.044657 0.04162-0.11247-0.02145-0.1506zm0.78297 0.47337-0.38695-0.23394c-0.06306-0.038132-0.15702-0.033042-0.20848 0.011627-0.05154 0.044681-0.04162 0.11247 0.02145 0.1506l0.38695 0.23394c0.06302 0.038096 0.15695 0.033102 0.20848-0.011627 0.0515-0.044657 0.04157-0.1125-0.02145-0.1506z" fill="#fff" stroke-width=".044893"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View file

@ -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

View file

@ -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()))

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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";

View file

@ -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'")

View file

@ -1,12 +0,0 @@
.notifications {
background-color: $bg;
color: $fg-alt;
margin: 1rem;
border-radius: .4rem;
}
.title {
font-size: 1.5rem;
color: $fg;
}

View file

@ -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))

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,11 +0,0 @@
#!/usr/bin/bash
open_updates() {
$HOME/.config/eww/scripts/updates up
}
case "$1" in
updates)
open_updates
;;
esac

View file

@ -1,3 +0,0 @@
#!/usr/bin/bash
cd ~/ESA\ 2024/ && okular Edital.pdf Horário.pdf & gnome-clocks

View file

@ -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 "$@"

View file

@ -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

View file

@ -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 "$@"

View file

@ -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

View file

@ -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

View file

@ -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))