diff --git a/eww/images/icons/apps/discord.png b/eww/images/icons/apps/discord.png
new file mode 100644
index 0000000..f7e6073
Binary files /dev/null and b/eww/images/icons/apps/discord.png differ
diff --git a/eww/images/icons/apps/files.png b/eww/images/icons/apps/files.png
new file mode 100644
index 0000000..728ca8b
Binary files /dev/null and b/eww/images/icons/apps/files.png differ
diff --git a/eww/images/icons/apps/firefox.png b/eww/images/icons/apps/firefox.png
new file mode 100644
index 0000000..483b03d
Binary files /dev/null and b/eww/images/icons/apps/firefox.png differ
diff --git a/eww/images/icons/apps/notes.png b/eww/images/icons/apps/notes.png
new file mode 100644
index 0000000..f197628
Binary files /dev/null and b/eww/images/icons/apps/notes.png differ
diff --git a/eww/images/icons/apps/reddit.png b/eww/images/icons/apps/reddit.png
new file mode 100644
index 0000000..8943d8a
Binary files /dev/null and b/eww/images/icons/apps/reddit.png differ
diff --git a/eww/images/icons/apps/telegram.png b/eww/images/icons/apps/telegram.png
new file mode 100644
index 0000000..0deac60
Binary files /dev/null and b/eww/images/icons/apps/telegram.png differ
diff --git a/eww/images/icons/apps/terminal.png b/eww/images/icons/apps/terminal.png
new file mode 100644
index 0000000..f16934a
Binary files /dev/null and b/eww/images/icons/apps/terminal.png differ
diff --git a/eww/images/icons/battery/battery-1.png b/eww/images/icons/battery/battery-1.png
new file mode 100644
index 0000000..4e07622
Binary files /dev/null and b/eww/images/icons/battery/battery-1.png differ
diff --git a/eww/images/icons/battery/battery-2.png b/eww/images/icons/battery/battery-2.png
new file mode 100644
index 0000000..9606aef
Binary files /dev/null and b/eww/images/icons/battery/battery-2.png differ
diff --git a/eww/images/icons/battery/battery-3.png b/eww/images/icons/battery/battery-3.png
new file mode 100644
index 0000000..bd80964
Binary files /dev/null and b/eww/images/icons/battery/battery-3.png differ
diff --git a/eww/images/icons/battery/charge.png b/eww/images/icons/battery/charge.png
new file mode 100644
index 0000000..04667ff
Binary files /dev/null and b/eww/images/icons/battery/charge.png differ
diff --git a/eww/images/icons/battery/full.png b/eww/images/icons/battery/full.png
new file mode 100644
index 0000000..9e0b12d
Binary files /dev/null and b/eww/images/icons/battery/full.png differ
diff --git a/eww/images/icons/battery/low.png b/eww/images/icons/battery/low.png
new file mode 100644
index 0000000..4e07622
Binary files /dev/null and b/eww/images/icons/battery/low.png differ
diff --git a/eww/images/icons/dashboard.svg b/eww/images/icons/dashboard.svg
new file mode 100644
index 0000000..f497a74
--- /dev/null
+++ b/eww/images/icons/dashboard.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/eww/images/icons/gmail.png b/eww/images/icons/gmail.png
new file mode 100644
index 0000000..94f05a2
Binary files /dev/null and b/eww/images/icons/gmail.png differ
diff --git a/eww/images/icons/music/next-button.png b/eww/images/icons/music/next-button.png
new file mode 100644
index 0000000..fa4ce72
Binary files /dev/null and b/eww/images/icons/music/next-button.png differ
diff --git a/eww/images/icons/music/pause-button.png b/eww/images/icons/music/pause-button.png
new file mode 100644
index 0000000..062d736
Binary files /dev/null and b/eww/images/icons/music/pause-button.png differ
diff --git a/eww/images/icons/music/play-button.png b/eww/images/icons/music/play-button.png
new file mode 100644
index 0000000..abaa5f3
Binary files /dev/null and b/eww/images/icons/music/play-button.png differ
diff --git a/eww/images/icons/music/previous-button.png b/eww/images/icons/music/previous-button.png
new file mode 100644
index 0000000..a727f66
Binary files /dev/null and b/eww/images/icons/music/previous-button.png differ
diff --git a/eww/images/icons/quotes.png b/eww/images/icons/quotes.png
new file mode 100644
index 0000000..11ef10f
Binary files /dev/null and b/eww/images/icons/quotes.png differ
diff --git a/eww/images/icons/search.svg b/eww/images/icons/search.svg
new file mode 100644
index 0000000..ab5c50a
--- /dev/null
+++ b/eww/images/icons/search.svg
@@ -0,0 +1,22 @@
+
+
+
diff --git a/eww/images/icons/system/no-wifi.png b/eww/images/icons/system/no-wifi.png
new file mode 100644
index 0000000..1e00942
Binary files /dev/null and b/eww/images/icons/system/no-wifi.png differ
diff --git a/eww/images/icons/system/poweroff.png b/eww/images/icons/system/poweroff.png
new file mode 100644
index 0000000..80e89d1
Binary files /dev/null and b/eww/images/icons/system/poweroff.png differ
diff --git a/eww/images/icons/system/shutdown.png b/eww/images/icons/system/shutdown.png
new file mode 100644
index 0000000..7f113b5
Binary files /dev/null and b/eww/images/icons/system/shutdown.png differ
diff --git a/eww/images/icons/system/sys-exit.png b/eww/images/icons/system/sys-exit.png
new file mode 100644
index 0000000..cf1ab31
Binary files /dev/null and b/eww/images/icons/system/sys-exit.png differ
diff --git a/eww/images/icons/system/sys-lock.png b/eww/images/icons/system/sys-lock.png
new file mode 100644
index 0000000..72530d6
Binary files /dev/null and b/eww/images/icons/system/sys-lock.png differ
diff --git a/eww/images/icons/system/sys-reboot.png b/eww/images/icons/system/sys-reboot.png
new file mode 100644
index 0000000..b433e24
Binary files /dev/null and b/eww/images/icons/system/sys-reboot.png differ
diff --git a/eww/images/icons/system/sys-sleep.png b/eww/images/icons/system/sys-sleep.png
new file mode 100644
index 0000000..a425d19
Binary files /dev/null and b/eww/images/icons/system/sys-sleep.png differ
diff --git a/eww/images/icons/system/wifi.png b/eww/images/icons/system/wifi.png
new file mode 100644
index 0000000..142a2df
Binary files /dev/null and b/eww/images/icons/system/wifi.png differ
diff --git a/eww/images/icons/volume/mute.png b/eww/images/icons/volume/mute.png
new file mode 100644
index 0000000..33488c1
Binary files /dev/null and b/eww/images/icons/volume/mute.png differ
diff --git a/eww/images/icons/volume/volume.png b/eww/images/icons/volume/volume.png
new file mode 100644
index 0000000..0be34b8
Binary files /dev/null and b/eww/images/icons/volume/volume.png differ
diff --git a/eww/images/music.png b/eww/images/music.png
new file mode 100644
index 0000000..3ded333
Binary files /dev/null and b/eww/images/music.png differ
diff --git a/eww/images/profile.jpg b/eww/images/profile.jpg
new file mode 100644
index 0000000..575528e
Binary files /dev/null and b/eww/images/profile.jpg differ
diff --git a/eww/ml4w-dashboard/eww.scss b/eww/ml4w-dashboard/eww.scss
new file mode 100644
index 0000000..37aa574
--- /dev/null
+++ b/eww/ml4w-dashboard/eww.scss
@@ -0,0 +1,80 @@
+/** Global *******************************************/
+*{
+ all: unset;
+ font-family: feather;
+ font-family: "JetBrains Mono";
+ color: #151515;
+}
+
+
+/** Boxes ***********************************/
+.winbox {
+ background-color: #F5EEE6;
+ border: 1px solid #161616;
+ border-radius: 12px;
+}
+
+/** Resources ***********************************/
+.res_box {
+ background-color: #F0E9E1;
+ border: 1px solid #E6DFD7;
+ border-radius: 12px;
+ padding: 14px 18px 14px 18px;
+}
+
+.res_circle {
+ background-color: #E1DCD2;
+ border: 0px solid #161616;
+ border-radius: 100%;
+ padding: 0px;
+}
+
+.res_circle_small {
+ background-color: #F5EEE6;
+ border: 0px solid #161616;
+ border-radius: 100%;
+ padding: 40px;
+}
+
+.res_text {
+ background-color: #E6E1D7;
+ border: 1px solid #161616;
+ border-radius: 16px;
+ font-size : 14px;
+ padding: 0px 8px 0px 8px;
+ margin: 0px 0px 0px 0px;
+ font-weight : bold;
+}
+
+.res_cpu {
+ color: #FD6B85;
+}
+
+.res_mem {
+ color: #B1A6EE;
+}
+
+.res_disk {
+ color: #67D4F1;
+}
+
+/** Power Buttons ***********************************/
+.powericons {
+ background-repeat: no-repeat;
+ background-size: 48px;
+ min-height: 48px;
+ min-width: 48px;
+}
+
+/** Quotes ***********************************/
+.quote_box {
+ margin: 20px;
+}
+
+.quote_text {
+ font-size : 14px;
+ font-style: italic;
+ font-weight : bold;
+}
+
+/** EOF *************************************************/
\ No newline at end of file
diff --git a/eww/ml4w-dashboard/eww.yuck b/eww/ml4w-dashboard/eww.yuck
new file mode 100644
index 0000000..23e949b
--- /dev/null
+++ b/eww/ml4w-dashboard/eww.yuck
@@ -0,0 +1,145 @@
+;; **
+;; ** Widgets config for EWW
+;; ** Created by : @adi1090x
+;; **
+
+;; ** Variables ***********************************************************************
+
+;; 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 DISK_USAGE :interval "1s" `../scripts/sys_info --disk`)
+(defpoll BLIGHT :interval "1s" `../scripts/sys_info --blight`)
+(defpoll BATTERY :interval "5s" `../scripts/sys_info --bat`)
+(defpoll QUOTE :interval "5m" `../scripts/quotes`)
+
+;; ** Widgets *************************************************************************
+
+;; resources
+(defwidget resources []
+ (box :class "winbox"
+ (centerbox :orientation "h"
+ (box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
+ (box :class "res_circle" :orientation "v" :valign "center" :halign "center"
+ (circular-progress :class "res_cpu" :value CPU_USAGE :thickness 15
+ (label :class "res_circle_small" :text "CPU")))
+ (label :class "res_text" :valign "end" :halign "center" :text "${CPU_USAGE}%"))
+ (box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
+ (box :class "res_circle" :orientation "v" :valign "center" :halign "center"
+ (circular-progress :class "res_mem" :value MEM_USAGE :thickness 15
+ (label :class "res_circle_small" :text "MEMORY")))
+ (label :class "res_text" :valign "end" :halign "center" :text "${MEM_USAGE}%"))
+ (box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
+ (box :class "res_circle" :orientation "v" :valign "center" :halign "center"
+ (circular-progress :class "res_disk" :value DISK_USAGE :thickness 15
+ (label :class "res_circle_small" :text "DISK")))
+ (label :class "res_text" :valign "end" :halign "center" :text "${DISK_USAGE}%")))))
+
+;; powermenus
+(defwidget logout []
+ (box :class "winbox"
+ (button :style "background-image: url('../images/icons/system/sys-exit.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --logout")))
+(defwidget suspend []
+ (box :class "winbox"
+ (button :style "background-image: url('../images/icons/system/sys-sleep.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --suspend")))
+(defwidget lock []
+ (box :class "winbox"
+ (button :style "background-image: url('../images/icons/system/sys-lock.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --suspend")))
+(defwidget reboot []
+ (box :class "winbox"
+ (button :style "background-image: url('../images/icons/system/sys-reboot.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --reboot")))
+(defwidget shutdown []
+ (box :class "winbox"
+ (button :style "background-image: url('../images/icons/system/poweroff.png');" :class "powericons" :valign "center" :halign "center" :onclick "../scripts/system --shutdown")))
+
+;; quotes
+(defwidget quotes []
+ (box :class "winbox"
+ (box :class "quote_box" :orientation "h" :valign "center" :halign "center" :spacing 10 :space-evenly "false"
+ (box :class "powericons" :style "background-image: url('../images/icons/quotes.png');")
+ (box :class "powericons" :style "background-image: url('../images/icons/quotes.png');")
+ (box :class "powericons" :style "background-image: url('../images/icons/quotes.png');")
+ (label :class "quote_text" :valign "center" :halign "center" :text QUOTE :wrap true :limit-width 90 ))))
+
+;; ** Windows *************************************************************************
+
+;; resources
+(defwindow resources
+ :monitor 0
+ :geometry (geometry :x "15px"
+ :y "15px"
+ :width "480px"
+ :height "200px"
+ :anchor "top right")
+ :stacking "fg"
+ :wm-ignore false
+(resources))
+
+;; powermenu
+(defwindow logout
+ :monitor 0
+ :geometry (geometry :x "1420px"
+ :y "320px"
+ :width "80px"
+ :height "80px"
+ :anchor "top left")
+ :stacking "fg"
+ :wm-ignore false
+(logout))
+
+(defwindow suspend
+ :monitor 0
+ :geometry (geometry :x "1520px"
+ :y "320px"
+ :width "80px"
+ :height "80px"
+ :anchor "top left")
+ :stacking "fg"
+ :wm-ignore false
+(suspend))
+
+(defwindow lock
+ :monitor 0
+ :geometry (geometry :x "1620px"
+ :y "320px"
+ :width "80px"
+ :height "80px"
+ :anchor "top left")
+ :stacking "fg"
+ :wm-ignore false
+(lock))
+
+(defwindow reboot
+ :monitor 0
+ :geometry (geometry :x "1720px"
+ :y "320px"
+ :width "80px"
+ :height "80px"
+ :anchor "top left")
+ :stacking "fg"
+ :wm-ignore false
+(reboot))
+
+(defwindow shutdown
+ :monitor 0
+ :geometry (geometry :x "1820px"
+ :y "320px"
+ :width "80px"
+ :height "80px"
+ :anchor "top left")
+ :stacking "fg"
+ :wm-ignore false
+(shutdown))
+
+;; quotes
+(defwindow quotes
+ :monitor 0
+ :geometry (geometry :x "1420px"
+ :y "420px"
+ :width "480px"
+ :height "100px"
+ :anchor "top left")
+ :stacking "fg"
+ :wm-ignore false
+(quotes))
\ No newline at end of file
diff --git a/eww/ml4w-dashboard/launch.sh b/eww/ml4w-dashboard/launch.sh
new file mode 100755
index 0000000..9dc5f98
--- /dev/null
+++ b/eww/ml4w-dashboard/launch.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+## Files and CMD
+FILE="$HOME/.cache/eww_launch.sidebar"
+CFG="$HOME/dotfiles/eww/ml4w-dashboard"
+EWW=`which eww`
+
+## Run eww daemon if not running already
+if [[ ! `pidof eww` ]]; then
+ ${EWW} daemon
+ sleep 1
+fi
+
+## Open widgets
+run_eww() {
+ ${EWW} --config "$CFG" open-many \
+ resources \
+ logout \
+ suspend \
+ lock \
+ reboot \
+ shutdown \
+ quotes
+}
+
+## Launch or close widgets accordingly
+if [[ ! -f "$FILE" ]]; then
+ touch "$FILE"
+ run_eww
+else
+ ${EWW} --config "$CFG" close resources logout suspend lock reboot shutdown quotes
+ rm "$FILE"
+fi
\ No newline at end of file
diff --git a/eww/scripts/battery b/eww/scripts/battery
new file mode 100755
index 0000000..97b7f95
--- /dev/null
+++ b/eww/scripts/battery
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+## Get battery info
+BATTERY="$(acpi | awk -F ' ' 'END {print $4}' | tr -d \%,)"
+CHARGE="$(acpi | awk -F ' ' 'END {print $3}' | tr -d \,)"
+
+main() {
+ if [[ ($CHARGE = *"Charging"*) && ($BATTERY -lt "100") ]]; then
+ echo "images/icons/battery/charge.png"
+ elif [[ $CHARGE = *"Full"* ]]; then
+ echo "images/icons/battery/full.png"
+ else
+ if [[ ($BATTERY -lt 100) && (($BATTERY -gt 65) || ($BATTERY -eq 65)) ]]; then
+ echo "images/icons/battery/battery-3.png"
+ elif [[ ($BATTERY -lt 65) && (($BATTERY -gt 35) || ($BATTERY -eq 35)) ]]; then
+ echo "images/icons/battery/battery-2.png"
+ elif [[ ($BATTERY -lt 35) && (($BATTERY -gt 10) || ($BATTERY -eq 10)) ]]; then
+ echo "images/icons/battery/battery-1.png"
+ elif [[ ($BATTERY -lt 10) && (($BATTERY -gt 0) || ($BATTERY -eq 0)) ]]; then
+ echo "images/icons/battery/low.png"
+ fi
+ fi
+}
+
+if [[ $1 == '--icon' ]]; then
+ main
+elif [[ $1 == '--perc' ]]; then
+ echo "${BATTERY}%"
+fi
diff --git a/eww/scripts/check-network b/eww/scripts/check-network
new file mode 100755
index 0000000..9efc80f
--- /dev/null
+++ b/eww/scripts/check-network
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+count=0
+
+ID="$(ip link | awk '/state UP/ {print $2}')"
+SSID="$(iwgetid -r)"
+
+net_stat () {
+ if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
+ if [[ $ID == e* ]]; then
+ echo "Online"
+ echo "images/icons/system/wifi.png"
+ else
+ echo "$SSID"
+ echo "images/icons/system/wifi.png"
+ fi
+ else
+ echo "Offline"
+ echo "images/icons/system/no-wifi.png"
+ fi
+}
+
+if [[ $1 == '--stat' ]]; then
+ net_stat | head -n1
+elif [[ $1 == '--icon' ]]; then
+ net_stat | tail -n1
+fi
diff --git a/eww/scripts/mails b/eww/scripts/mails
new file mode 100755
index 0000000..974d00a
--- /dev/null
+++ b/eww/scripts/mails
@@ -0,0 +1,7 @@
+#!/bin/python
+
+import imaplib
+obj = imaplib.IMAP4_SSL('imap.gmail.com',993)
+obj.login('username@gmail.com','PASSWORD') # write your email and password
+obj.select()
+print(len(obj.search(None, 'UnSeen')[1][0].split()))
diff --git a/eww/scripts/music_info b/eww/scripts/music_info
new file mode 100755
index 0000000..6831cc6
--- /dev/null
+++ b/eww/scripts/music_info
@@ -0,0 +1,97 @@
+#!/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 "images/icons/music/pause-button.png"
+ else
+ echo "images/icons/music/play-button.png"
+ fi
+}
+
+## Get song
+get_song() {
+ song=`mpc -f %title% current`
+ if [[ -z "$song" ]]; then
+ echo "Offline"
+ else
+ echo "$song"
+ fi
+}
+
+## Get artist
+get_artist() {
+ artist=`mpc -f %artist% current`
+ if [[ -z "$artist" ]]; then
+ echo "Offline"
+ else
+ echo "$artist"
+ fi
+}
+
+## Get time
+get_time() {
+ time=`mpc status | grep "%)" | awk '{print $4}' | tr -d '(%)'`
+ if [[ -z "$time" ]]; then
+ echo "0"
+ else
+ echo "$time"
+ fi
+}
+get_ctime() {
+ ctime=`mpc status | grep "#" | awk '{print $3}' | sed 's|/.*||g'`
+ if [[ -z "$ctime" ]]; then
+ echo "0:00"
+ else
+ echo "$ctime"
+ fi
+}
+get_ttime() {
+ ttime=`mpc -f %time% current`
+ if [[ -z "$ttime" ]]; then
+ echo "0:00"
+ else
+ echo "$ttime"
+ fi
+}
+
+## Get cover
+get_cover() {
+ ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "${COVER}" -y &> /dev/null
+ STATUS=$?
+
+ # Check if the file has a embbeded album art
+ if [ "$STATUS" -eq 0 ];then
+ echo "$COVER"
+ else
+ echo "images/music.png"
+ fi
+}
+
+## Execute accordingly
+if [[ "$1" == "--song" ]]; then
+ get_song
+elif [[ "$1" == "--artist" ]]; then
+ get_artist
+elif [[ "$1" == "--status" ]]; then
+ get_status
+elif [[ "$1" == "--time" ]]; then
+ get_time
+elif [[ "$1" == "--ctime" ]]; then
+ get_ctime
+elif [[ "$1" == "--ttime" ]]; then
+ get_ttime
+elif [[ "$1" == "--cover" ]]; then
+ get_cover
+elif [[ "$1" == "--toggle" ]]; then
+ mpc -q toggle
+elif [[ "$1" == "--next" ]]; then
+ { mpc -q next; get_cover; }
+elif [[ "$1" == "--prev" ]]; then
+ { mpc -q prev; get_cover; }
+fi
diff --git a/eww/scripts/quotes b/eww/scripts/quotes
new file mode 100755
index 0000000..8706cb3
--- /dev/null
+++ b/eww/scripts/quotes
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+quote="`fortune -n 90 -s | head -n 1`"
+echo "$quote"
diff --git a/eww/scripts/sys_info b/eww/scripts/sys_info
new file mode 100755
index 0000000..27a589a
--- /dev/null
+++ b/eww/scripts/sys_info
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+## Files and Data
+PREV_TOTAL=0
+PREV_IDLE=0
+cpuFile="/tmp/.cpu_usage"
+
+## Get CPU usage
+get_cpu() {
+ if [[ -f "${cpuFile}" ]]; then
+ fileCont=$(cat "${cpuFile}")
+ PREV_TOTAL=$(echo "${fileCont}" | head -n 1)
+ 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.
+
+ # Calculate the total CPU time.
+ TOTAL=0
+
+ for VALUE in "${CPU[@]:0:4}"; do
+ let "TOTAL=$TOTAL+$VALUE"
+ done
+
+ if [[ "${PREV_TOTAL}" != "" ]] && [[ "${PREV_IDLE}" != "" ]]; then
+ # Calculate the CPU usage since we last checked.
+ let "DIFF_IDLE=$IDLE-$PREV_IDLE"
+ let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
+ let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10"
+ echo "${DIFF_USAGE}"
+ else
+ echo "?"
+ fi
+
+ # Remember the total and idle CPU times for the next check.
+ echo "${TOTAL}" > "${cpuFile}"
+ echo "${IDLE}" >> "${cpuFile}"
+}
+
+## Get Used memory
+get_mem() {
+ printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')
+}
+
+## 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
+}
+
+## Get Disk Usage
+get_disk() {
+ df -h / | awk '{print $5}' | tail -n1 | sed 's/%//g'
+}
+
+## Execute accordingly
+if [[ "$1" == "--cpu" ]]; then
+ get_cpu
+elif [[ "$1" == "--mem" ]]; then
+ get_mem
+elif [[ "$1" == "--blight" ]]; then
+ get_blight
+elif [[ "$1" == "--bat" ]]; then
+ get_battery
+elif [[ "$1" == "--disk" ]]; then
+ get_disk
+fi
diff --git a/eww/scripts/system b/eww/scripts/system
new file mode 100755
index 0000000..4d805df
--- /dev/null
+++ b/eww/scripts/system
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+
+CFG="$HOME/.config/eww/arin/sidedar"
+EWW=`which eww`
+
+close_eww() {
+ ${EWW} --config "$CFG" close resources logout suspend lock reboot shutdown quotes
+}
+
+## Options #############################################
+if [[ $1 = "--lock" ]]; then
+ close_eww
+ betterlockscreen --lock
+
+elif [[ $1 = "--logout" ]]; then
+ close_eww
+ #openbox --exit
+ berryc quit
+
+elif [[ $1 = "--suspend" ]]; then
+ close_eww
+ amixer set Master mute
+ systemctl suspend
+
+elif [[ $1 = "--reboot" ]]; then
+ close_eww
+ systemctl reboot
+
+elif [[ $1 = "--shutdown" ]]; then
+ close_eww
+ systemctl poweroff
+
+## Help Menu #############################################
+else
+echo "
+Available options:
+--lock --logout --suspend --reboot --shutdown
+"
+fi
diff --git a/eww/scripts/volume b/eww/scripts/volume
new file mode 100755
index 0000000..4e679a2
--- /dev/null
+++ b/eww/scripts/volume
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# Get Volume
+get_volume() {
+ status=`amixer get Master | tail -n1 | grep -wo 'on'`
+
+ if [[ "$status" == "on" ]]; then
+ volume=`amixer get Master | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`
+ echo "$volume"
+ else
+ echo "Mute"
+ fi
+}
+
+# Get icons
+get_icon() {
+ vol="$(get_volume)"
+ current="${vol%%%}"
+ status=`amixer get Master | tail -n1 | grep -wo 'on'`
+
+ if [[ "$status" == "on" ]]; then
+ if [[ "$current" -eq "0" ]]; then
+ echo "images/icons/volume/mute.png"
+ elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
+ echo "images/icons/volume/volume.png"
+ elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
+ echo "images/icons/volume/volume.png"
+ elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
+ echo "images/icons/volume/volume.png"
+ fi
+ else
+ echo "images/icons/volume/mute.png"
+ fi
+}
+
+# Increase Volume
+inc_volume() {
+ amixer -Mq set Master,0 5%+ unmute
+}
+
+# Decrease Volume
+dec_volume() {
+ amixer -Mq set Master,0 5%- unmute
+}
+
+# Toggle Mute
+toggle_mute() {
+ status=`amixer get Master | tail -n1 | grep -wo 'on'`
+
+ if [[ "$status" == "on" ]]; then
+ amixer set Master toggle
+ else
+ amixer set Master toggle
+ fi
+}
+
+# Execute accordingly
+if [[ "$1" == "--get" ]]; then
+ get_volume
+elif [[ "$1" == "--icon" ]]; then
+ get_icon
+elif [[ "$1" == "--inc" ]]; then
+ inc_volume
+elif [[ "$1" == "--dec" ]]; then
+ dec_volume
+elif [[ "$1" == "--toggle" ]]; then
+ toggle_mute
+else
+ get_volume
+fi
diff --git a/eww/scripts/weather_info b/eww/scripts/weather_info
new file mode 100755
index 0000000..6fee821
--- /dev/null
+++ b/eww/scripts/weather_info
@@ -0,0 +1,147 @@
+#!/bin/bash
+
+## Collect data
+cache_dir="$HOME/.cache/eww/weather"
+cache_weather_stat=${cache_dir}/weather-stat
+cache_weather_degree=${cache_dir}/weather-degree
+cache_weather_quote=${cache_dir}/weather-quote
+cache_weather_hex=${cache_dir}/weather-hex
+cache_weather_icon=${cache_dir}/weather-icon
+
+## Weather data
+KEY="YOUR_KEY"
+ID="CITY_ID"
+UNIT="metric" # Available options : 'metric' or 'imperial'
+
+## Make cache dir
+if [[ ! -d "$cache_dir" ]]; then
+ mkdir -p ${cache_dir}
+fi
+
+## Get data
+get_weather_data() {
+ weather=`curl -sf "http://api.openweathermap.org/data/2.5/weather?APPID="$KEY"&id="$ID"&units="$UNIT""`
+ echo ${weather}
+
+ if [ ! -z "$weather" ]; then
+ weather_temp=`echo "$weather" | jq ".main.temp" | cut -d "." -f 1`
+ weather_icon_code=`echo "$weather" | jq -r ".weather[].icon" | head -1`
+ weather_description=`echo "$weather" | jq -r ".weather[].description" | head -1 | sed -e "s/\b\(.\)/\u\1/g"`
+
+ #Big long if statement of doom
+ if [ "$weather_icon_code" == "50d" ]; then
+ weather_icon=" "
+ weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
+ weather_hex="#84afdb"
+ elif [ "$weather_icon_code" == "50n" ]; then
+ weather_icon=" "
+ weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
+ weather_hex="#84afdb"
+ elif [ "$weather_icon_code" == "01d" ]; then
+ weather_icon=" "
+ weather_quote="It's a sunny day, gonna be fun! \nDon't go wandering all by yourself though..."
+ weather_hex="#ffd86b"
+ elif [ "$weather_icon_code" == "01n" ]; then
+ weather_icon=" "
+ weather_quote="It's a clear night \nYou might want to take a evening stroll to relax..."
+ weather_hex="#fcdcf6"
+ elif [ "$weather_icon_code" == "02d" ]; then
+ weather_icon=" "
+ weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
+ weather_hex="#adadff"
+ elif [ "$weather_icon_code" == "02n" ]; then
+ weather_icon=" "
+ weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
+ weather_hex="#adadff"
+ elif [ "$weather_icon_code" == "03d" ]; then
+ weather_icon=" "
+ weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
+ weather_hex="#adadff"
+ elif [ "$weather_icon_code" == "03n" ]; then
+ weather_icon=" "
+ weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
+ weather_hex="#adadff"
+ elif [ "$weather_icon_code" == "04d" ]; then
+ weather_icon=" "
+ weather_quote="It's cloudy, sort of gloomy \nYou'd better get a book to read..."
+ weather_hex="#adadff"
+ elif [ "$weather_icon_code" == "04n" ]; then
+ weather_icon=" "
+ weather_quote="It's a cloudy night \nHow about some hot chocolate and a warm bed?"
+ weather_hex="#adadff"
+ elif [ "$weather_icon_code" == "09d" ]; then
+ weather_icon=" "
+ weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
+ weather_hex="#6b95ff"
+ elif [ "$weather_icon_code" == "09n" ]; then
+ weather_icon=" "
+ weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
+ weather_hex="#6b95ff"
+ elif [ "$weather_icon_code" == "10d" ]; then
+ weather_icon=" "
+ weather_quote="It's rainy, it's a great day! \nGet some ramen and watch as the rain falls..."
+ weather_hex="#6b95ff"
+ elif [ "$weather_icon_code" == "10n" ]; then
+ weather_icon=" "
+ weather_quote=" It's gonna rain tonight it seems \nMake sure your clothes aren't still outside..."
+ weather_hex="#6b95ff"
+ elif [ "$weather_icon_code" == "11d" ]; then
+ weather_icon=""
+ weather_quote="There's storm for forecast today \nMake sure you don't get blown away..."
+ weather_hex="#ffeb57"
+ elif [ "$weather_icon_code" == "11n" ]; then
+ weather_icon=""
+ weather_quote="There's gonna be storms tonight \nMake sure you're warm in bed and the windows are shut..."
+ weather_hex="#ffeb57"
+ elif [ "$weather_icon_code" == "13d" ]; then
+ weather_icon=" "
+ weather_quote="It's gonna snow today \nYou'd better wear thick clothes and make a snowman as well!"
+ weather_hex="#e3e6fc"
+ elif [ "$weather_icon_code" == "13n" ]; then
+ weather_icon=" "
+ weather_quote="It's gonna snow tonight \nMake sure you get up early tomorrow to see the sights..."
+ weather_hex="#e3e6fc"
+ elif [ "$weather_icon_code" == "40d" ]; then
+ weather_icon=" "
+ weather_quote="Forecast says it's misty \nMake sure you don't get lost on your way..."
+ weather_hex="#84afdb"
+ elif [ "$weather_icon_code" == "40n" ]; then
+ weather_icon=" "
+ weather_quote="Forecast says it's a misty night \nDon't go anywhere tonight or you might get lost..."
+ weather_hex="#84afdb"
+ else
+ weather_icon=" "
+ weather_quote="Sort of odd, I don't know what to forecast \nMake sure you have a good time!"
+ weather_hex="#adadff"
+ fi
+ echo "$weather_icon" > ${cache_weather_icon}
+ echo "$weather_description" > ${cache_weather_stat}
+ echo "$weather_temp""°C" > ${cache_weather_degree}
+ echo -e "$weather_quote" > ${cache_weather_quote}
+ echo "$weather_hex" > ${cache_weather_hex}
+ else
+ echo "Weather Unavailable" > ${cache_weather_stat}
+ echo " " > ${cache_weather_icon}
+ echo -e "Ah well, no weather huh? \nEven if there's no weather, it's gonna be a great day!" > ${cache_weather_quote}
+ echo "-" > ${cache_weather_degree}
+ echo "#adadff" > ${tcache_weather_hex}
+ fi
+}
+
+## Execute
+if [[ "$1" == "--getdata" ]]; then
+ get_weather_data
+elif [[ "$1" == "--icon" ]]; then
+ cat ${cache_weather_icon}
+elif [[ "$1" == "--temp" ]]; then
+ cat ${cache_weather_degree}
+elif [[ "$1" == "--hex" ]]; then
+ cat ${cache_weather_hex}
+elif [[ "$1" == "--stat" ]]; then
+ cat ${cache_weather_stat}
+elif [[ "$1" == "--quote" ]]; then
+ cat ${cache_weather_quote} | head -n1
+elif [[ "$1" == "--quote2" ]]; then
+ cat ${cache_weather_quote} | tail -n1
+fi
+
diff --git a/eww/scripts/widget_apps b/eww/scripts/widget_apps
new file mode 100755
index 0000000..5d24e8f
--- /dev/null
+++ b/eww/scripts/widget_apps
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+if [[ "$1" == "--tr" ]]; then
+ alacritty --working-directory ~ &
+
+elif [[ "$1" == "--ff" ]]; then
+ firefox &
+
+elif [[ "$1" == "--fm" ]]; then
+ thunar ~ &
+
+elif [[ "$1" == "--ge" ]]; then
+ geany &
+
+elif [[ "$1" == "--dc" ]]; then
+ discord &
+
+elif [[ "$1" == "--tg" ]]; then
+ telegram-desktop &
+
+elif [[ "$1" == "--rd" ]]; then
+ firefox --new-tab "https://reddit.com"
+
+elif [[ "$1" == "--ml" ]]; then
+ firefox --new-tab "https://mail.google.com"
+
+elif [[ "$1" == "--pow" ]]; then
+ xfce4-power-manager-settings &
+
+elif [[ "$1" == "--nm" ]]; then
+ networkmanager_dmenu
+
+fi
diff --git a/eww/scripts/widget_search b/eww/scripts/widget_search
new file mode 100755
index 0000000..176fcfd
--- /dev/null
+++ b/eww/scripts/widget_search
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+if [[ "$1" == "--menu" ]]; then
+ rofi -show drun
+
+elif [[ "$1" == "--search" ]]; then
+ firefox --new-tab "https://google.com"
+
+fi