diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ed9c51c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,146 @@
+# Byte-compiled / optimized / DLL files
+.git
+.idea
+.vscode
+eww/.coverart
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+# For a library or package, you might want to ignore these files since the
+# code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in
+# version control.
+# However, in case of collaboration, if having platform-specific dependencies
+# or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't
+# work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
diff --git a/eww/.coverart/cover.png b/eww/.coverart/cover.png
new file mode 100644
index 0000000..0bf7c62
Binary files /dev/null and b/eww/.coverart/cover.png differ
diff --git a/eww/eww.scss b/eww/eww.scss
new file mode 100644
index 0000000..1d6838e
--- /dev/null
+++ b/eww/eww.scss
@@ -0,0 +1,377 @@
+/** Global *******************************************/
+*{
+ all: unset;
+ font-family: feather;
+ font-family: Iosevka;
+}
+
+/** Background ***************************************/
+.bg {
+ background-image: url("images/bg.png");
+ background-color: #474D59;
+ opacity: 1;
+}
+
+/** Generic window ***********************************/
+.genwin {
+ background-color: #2E3440;
+ border-radius: 16px;
+}
+
+/** Profile ******************************************/
+.face {
+ background-size: 200px;
+ min-height: 200px;
+ min-width: 200px;
+ margin: 65px 0px 0px 0px;
+ border-radius: 100%;
+}
+
+.fullname {
+ color: #D46389;
+ font-size : 30px;
+ font-weight : bold;
+}
+
+.username {
+ color: #8FBCBB;
+ font-size : 22px;
+ font-weight : bold;
+ margin : -15px 0px 0px 0px;
+}
+
+/** System ********************************************/
+.iconcpu, .iconmem, .iconbright, .iconbat {
+ font-size : 32px;
+ font-weight : normal;
+}
+.iconcpu {
+ color: #BF616A;
+}
+.iconmem {
+ color: #A3BE8C;
+}
+.iconbright {
+ color: #EBCB8B;
+}
+.iconbat {
+ color: #88C0D0;
+}
+
+.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough {
+ all: unset;
+ background-color: #3A404C;
+ border-radius: 16px;
+ min-height: 28px;
+ min-width: 240px;
+}
+
+.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough highlight {
+ all: unset;
+ border-radius: 16px;
+}
+
+.cpu_bar scale trough highlight {
+ background-color: #BF616A;
+}
+.mem_bar scale trough highlight {
+ background-color: #A3BE8C;
+}
+.bright_bar scale trough highlight {
+ background-color: #EBCB8B;
+}
+.bat_bar scale trough highlight {
+ background-color: #88C0D0;
+}
+
+/** Clock ********************************************/
+.time_hour, .time_min {
+ color: #81A1C1;
+ font-size : 70px;
+ font-weight : bold;
+}
+.time_hour {
+ margin : 20px 0px 0px 25px;
+}
+.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 0px 25px;
+}
+
+/** Uptime ********************************************/
+.icontimer {
+ color: #B48EAD;
+ font-size : 90px;
+ font-weight : normal;
+}
+
+.uphour {
+ color: #E5E9F0;
+ font-size : 42px;
+ font-weight : bold;
+}
+
+.upmin {
+ color: #E5E9F0;
+ font-size : 32px;
+ font-weight : bold;
+}
+
+/** Music ***************************************/
+.album_art {
+ background-size: 240px;
+ min-height: 240px;
+ min-width: 240px;
+ margin: 20px;
+ border-radius: 14px;
+}
+
+.song {
+ color: #8FBCBB;
+ font-size : 24px;
+ font-weight : bold;
+ margin : 40px 0px 0px 0px;
+}
+
+.artist {
+ color: #EBCB8B;
+ font-size : 16px;
+ font-weight : normal;
+ margin : 0px 0px 15px 0px;
+}
+
+.btn_prev, .btn_play, .btn_next {
+ font-family: Iosevka Nerd Font;
+}
+.btn_prev {
+ color: #EBCB8B;
+ font-size : 32px;
+ font-weight : normal;
+}
+.btn_play {
+ color: #A3BE8C;
+ font-size : 48px;
+ font-weight : bold;
+}
+.btn_next {
+ color: #EBCB8B;
+ font-size : 32px;
+ font-weight : normal;
+}
+
+.music_bar scale trough highlight {
+ all: unset;
+ background-color: #B48EAD;
+ border-radius: 8px;
+}
+.music_bar scale trough {
+ all: unset;
+ background-color: #3A404C;
+ border-radius: 8px;
+ min-height: 20px;
+ min-width: 310px;
+ margin : 10px 0px 0px 0px;
+}
+
+/** Weather ***************************************/
+.iconweather {
+ font-family: Iosevka Nerd Font;
+ font-size : 120px;
+ font-weight : normal;
+ margin : 15px 0px 0px 30px;
+}
+
+.label_temp {
+ color : #A6D1DD;
+ font-size : 80px;
+ font-weight : bold;
+ margin : -15px 30px 0px 0px;
+}
+
+.label_stat {
+ color : #BF616A;
+ font-size : 38px;
+ font-weight : bold;
+}
+
+.label_quote {
+ color : #E5E5E5;
+ font-size : 18px;
+ font-weight : normal;
+}
+
+/** Applications ***************************************/
+.appbox {
+ margin : 15px 0px 0px 25px;
+}
+
+.app_fox, .app_telegram, .app_discord, .app_terminal,
+.app_files, .app_geany, .app_code, .app_gimp, .app_vbox {
+ background-repeat: no-repeat;
+ background-size: 64px;
+ min-height: 64px;
+ min-width: 64px;
+ margin: 8px 8px 0px 8px;
+}
+
+.app_fox {}
+.app_telegram {}
+.app_discord {}
+.app_terminal {}
+.app_files {}
+.app_geany {}
+.app_code {}
+.app_gimp {}
+.app_vbox {}
+
+/** Links ***************************************/
+.iconweb, .iconmail {
+ color: #FFFFFF;
+ font-family: Iosevka Nerd Font;
+ font-size : 70px;
+ font-weight : normal;
+}
+.iconmail {
+ color: #DF584E;
+}
+
+.github {
+ background-color: #24292E;
+ border-radius: 16px;
+}
+.reddit {
+ background-color: #E46231;
+ border-radius: 16px;
+}
+.twitter {
+ background-color: #61AAD6;
+ border-radius: 16px;
+}
+.youtube {
+ background-color: #DF584E;
+ border-radius: 16px;
+}
+.mail {
+ background-color: #FFFFFF;
+ border-radius: 16px;
+}
+
+.mailbox {
+ background-color: #E5E5E5;
+ border-radius: 10px;
+ margin: 48px 0px 48px 0px;
+}
+.label_mails {
+ color: #404040;
+ font-size : 32px;
+ font-weight : bold;
+ margin: 0px 12px 0px 12px;
+}
+
+/** Power buttons ***************************************/
+.btn_logout, .btn_sleep, .btn_reboot, .btn_poweroff {
+ font-size : 48px;
+ font-weight : bold;
+}
+
+.btn_logout {
+ color: #BF616A;
+}
+.btn_sleep {
+ color: #A3BE8C;
+}
+.btn_reboot {
+ color: #EBCB8B;
+}
+.btn_poweroff {
+ color: #88C0D0;
+}
+
+/** Home folders ***************************************/
+.hddbox {
+ background-color: #3A404C;
+ border-radius: 10px;
+ margin : 15px;
+}
+.hddicon {
+ color: #81A1C1;
+ font-family: Iosevka Nerd Font;
+ font-size : 70px;
+ font-weight : normal;
+ margin : 25px 20px 25px 40px;
+}
+.hdd_label {
+ color: #E5E9F0;
+ font-size : 48px;
+ font-weight : bold;
+ margin : 0px 0px 0px 15px;
+}
+.fs_sep {
+ color: #2E3440;
+ font-size : 36px;
+ font-weight : bold;
+}
+
+.iconfolder1, .iconfolder2, .iconfolder3, .iconfolder4, .iconfolder5, .iconfolder6 {
+ font-family: Iosevka Nerd Font;
+ font-size : 32px;
+ font-weight : normal;
+ margin : 0px 0px 0px 75px;
+}
+.iconfolder1 {
+ color: #BF616A;
+}
+.iconfolder2 {
+ color: #A3BE8C;
+}
+.iconfolder3 {
+ color: #EBCB8B;
+}
+.iconfolder4 {
+ color: #81A1C1;
+}
+.iconfolder5 {
+ color: #B48EAD;
+}
+.iconfolder6 {
+ color: #88C0D0;
+}
+
+.label_folder1, .label_folder2, .label_folder3, .label_folder4, .label_folder5, .label_folder6 {
+ font-size : 22px;
+ font-weight : normal;
+ margin : 0px 0px 0px 30px;
+}
+.label_folder1 {
+ color: #BF616A;
+}
+.label_folder2 {
+ color: #A3BE8C;
+}
+.label_folder3 {
+ color: #EBCB8B;
+}
+.label_folder4 {
+ color: #81A1C1;
+}
+.label_folder5 {
+ color: #B48EAD;
+}
+.label_folder6 {
+ color: #88C0D0;
+}
+
+/** EOF *************************************************/
diff --git a/eww/eww.xml b/eww/eww.xml
new file mode 100644
index 0000000..cfec6e7
--- /dev/null
+++ b/eww/eww.xml
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+ images/profile.jpg
+ YOUR NAME
+ whoami
+
+
+ hostname
+ ~/.config/eww/scripts/sys_info --cpu
+ ~/.config/eww/scripts/sys_info --mem
+ ~/.config/eww/scripts/sys_info --blight
+ ~/.config/eww/scripts/sys_info --bat
+
+
+ date +"%I"
+ date +"%M"
+ date +"%p"
+ date +"%A"
+
+
+ uptime -p | awk '{print $2 " " $3}' | sed 's/,//g'
+ uptime -p | awk '{print $4 " " $5}'
+
+
+ ~/.config/eww/scripts/music_info --song
+ ~/.config/eww/scripts/music_info --artist
+ ~/.config/eww/scripts/music_info --status
+ ~/.config/eww/scripts/music_info --time
+ ~/.config/eww/scripts/music_info --cover
+ ~/.config/eww/scripts/music_info --ctime
+ ~/.config/eww/scripts/music_info --ttime
+
+
+ ~/.config/eww/scripts/weather_info --icon
+ ~/.config/eww/scripts/weather_info --stat
+ ~/.config/eww/scripts/weather_info --temp
+ ~/.config/eww/scripts/weather_info --hex
+ ~/.config/eww/scripts/weather_info --quote
+ ~/.config/eww/scripts/weather_info --quote2
+
+
+ ~/.config/eww/scripts/mails
+
+
+ df -h / | awk '{print $4}' | tail -n 1 | sed 's/G/GB/'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eww/eww.yuck b/eww/eww.yuck
new file mode 100644
index 0000000..76061f4
--- /dev/null
+++ b/eww/eww.yuck
@@ -0,0 +1,311 @@
+;; **
+;; ** Widgets config for EWW
+;; ** Created by : @adi1090x
+;; **
+ ;; Profile vars
+ (defvar IMAGE "~/Pictures/KanyeAndLavar.jpg")
+ (defvar NAME "YOUR NAME")
+ (defpoll UNAME :interval "5m" "whoami")
+
+ ;; System vars
+ (defpoll HOST :interval "5s" "hostname")
+ (defpoll CPU_USAGE :interval "1s" "~/.config/eww/scripts/sys_info --cpu")
+ (defpoll MEM_USAGE :interval "1s" "~/.config/eww/scripts/sys_info --mem")
+ (defpoll BLIGHT :interval "1s" "~/.config/eww/scripts/sys_info --blight")
+ (defpoll BATTERY :interval "5s" "~/.config/eww/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" "~/.config/eww/scripts/music_info --song")
+ (defpoll ARTIST :interval "1s" "~/.config/eww/scripts/music_info --artist")
+ (defpoll STATUS :interval "1s" "~/.config/eww/scripts/music_info --status")
+ (defpoll CURRENT :interval "1s" "~/.config/eww/scripts/music_info --time")
+ (defpoll COVER :interval "1s" "~/.config/eww/scripts/music_info --cover")
+ (defpoll CTIME :interval "1s" "~/.config/eww/scripts/music_info --ctime")
+ (defpoll TTIME :interval "1s" "~/.config/eww/scripts/music_info --ttime")
+
+ ;; Weather vars
+ (defpoll ICON :interval "15m" "~/.config/eww/scripts/weather_info --icon")
+ (defpoll STAT :interval "15m" "~/.config/eww/scripts/weather_info --stat")
+ (defpoll TEMP :interval "15m" "~/.config/eww/scripts/weather_info --temp")
+ (defpoll HEX :interval "15m" "~/.config/eww/scripts/weather_info --hex")
+ (defpoll QUOTE :interval "15m" "~/.config/eww/scripts/weather_info --quote")
+ (defpoll QUOTE2 :interval "15m" "~/.config/eww/scripts/weather_info --quote2")
+
+ ;; Apps vars
+ (defpoll MAILS :interval "5m" "~/.config/eww/scripts/mails")
+
+ ;; Files vars
+ (defpoll FREE :interval "5s" "df -h / | awk '{print $4}' | tail -n 1 | sed 's/G/GB/'")
+
+
+
+;; ********************************************************************************
+
+
+
+ ;; 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" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (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 25 :space-evenly "false" :vexpand "false" :hexpand "false"
+ (label :class "time_mer" :halign "end" :wrap "true" :limit-width 25 :text MER)
+ (label :class "time_day" :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('.coverart/cover.png');")
+ (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 "~/.config/eww/scripts/music_info --prev" "玲")
+ (button :class "btn_play" :onclick "~/.config/eww/scripts/music_info --toggle" STATUS)
+ (button :class "btn_next" :onclick "~/.config/eww/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 "~/.config/eww/scripts/open_links --gh" "")))
+
+ ;; reddit
+ (defwidget reddit []
+ (box :class "reddit" :vexpand "false" :hexpand "false"
+ (button :class "iconweb" :onclick "~/.config/eww/scripts/open_links --rd" "樓")))
+
+ ;; twitter
+ (defwidget twitter []
+ (box :class "twitter" :vexpand "false" :hexpand "false"
+ (button :class "iconweb" :onclick "~/.config/eww/scripts/open_links --tw" "")))
+
+ ;; youtube
+ (defwidget youtube []
+ (box :class "youtube" :vexpand "false" :hexpand "false"
+ (button :class "iconweb" :onclick "~/.config/eww/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 "~/.config/eww/scripts/open_links --mail" "")
+ (box :class "mailbox" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (button :class "label_mails" :onclick "~/.config/eww/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 "~/.config/eww/scripts/open_apps --ff")
+ (button :style "background-image: url('images/icons/telegram.svg');" :class "app_telegram" :onclick "~/.config/eww/scripts/open_apps --tg")
+ (button :style "background-image: url('images/icons/discord.svg');" :class "app_discord" :onclick "~/.config/eww/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 "~/.config/eww/scripts/open_apps --tr")
+ (button :style "background-image: url('images/icons/files.svg');" :class "app_files" :onclick "~/.config/eww/scripts/open_apps --fm")
+ (button :style "background-image: url('images/icons/geany.svg');" :class "app_geany" :onclick "~/.config/eww/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 "~/.config/eww/scripts/open_apps --cd")
+ (button :style "background-image: url('images/icons/gimp.svg');" :class "app_gimp" :onclick "~/.config/eww/scripts/open_apps --gp")
+ (button :style "background-image: url('images/icons/virtualbox.svg');" :class "app_vbox" :onclick "~/.config/eww/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 "~/.config/eww/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 "~/.config/eww/scripts/open_folders --docs" "")
+ (button :class "label_folder1" :onclick "~/.config/eww/scripts/open_folders --docs" "Documents"))
+ (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (button :class "iconfolder2" :onclick "~/.config/eww/scripts/open_folders --dl" "")
+ (button :class "label_folder2" :onclick "~/.config/eww/scripts/open_folders --dl" "Downloads"))
+ (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (button :class "iconfolder3" :onclick "~/.config/eww/scripts/open_folders --music" "")
+ (button :class "label_folder3" :onclick "~/.config/eww/scripts/open_folders --music" "Music"))
+ (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (button :class "iconfolder4" :onclick "~/.config/eww/scripts/open_folders --pics" "")
+ (button :class "label_folder4" :onclick "~/.config/eww/scripts/open_folders --pics" "Pictures"))
+ (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (button :class "iconfolder5" :onclick "~/.config/eww/scripts/open_folders --cfg" "ﮛ")
+ (button :class "label_folder5" :onclick "~/.config/eww/scripts/open_folders --cfg" "~/.config"))
+ (box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
+ (button :class "iconfolder6" :onclick "~/.config/eww/scripts/open_folders --local" "ﮛ")
+ (button :class "label_folder6" :onclick "~/.config/eww/scripts/open_folders --local" "~/.local"))))
+
+
+
+;; ********************************************************************************
+
+
+
+ ;; background
+ (defwindow background :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 0 :y 0 :width "1920px" :height "1080px")
+ (bg))
+
+ ;; profile
+ (defwindow profile :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 150 :y 150 :width 350 :height 440)
+ (user))
+
+ ;; system
+ (defwindow system :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 150 :y 605 :width 350 :height 325)
+ (system))
+
+ ;; clock
+ (defwindow clock :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 515 :y 150 :width 350 :height 155)
+ (clock))
+
+ ;; uptime
+ (defwindow uptime :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 515 :y 320 :width 350 :height 155)
+ (uptime))
+
+ ;; music
+ (defwindow music :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 515 :y 490 :width 610 :height 280)
+ (music))
+
+ ;; github
+ (defwindow github :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 515 :y 785 :width 141 :height 145)
+ (github))
+
+ ;; reddit
+ (defwindow reddit :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 671 :y 785 :width 141 :height 145)
+ (reddit))
+
+ ;; twitter
+ (defwindow twitter :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 827 :y 785 :width 141 :height 145)
+ (twitter))
+
+ ;; youtube
+ (defwindow youtube :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 983 :y 785 :width 142 :height 145)
+ (youtube))
+
+ ;; weather
+ (defwindow weather :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 880 :y 150 :width 550 :height 325)
+ (weather))
+
+ ;; apps
+ (defwindow apps :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1140 :y 490 :width 290 :height 280)
+ (apps))
+
+ ;; mail
+ (defwindow mail :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1140 :y 785 :width 290 :height 145)
+ (mail))
+
+ ;; logout
+ (defwindow logout :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1445 :y 150 :width 155 :height 155)
+ (logout))
+
+ ;; sleep
+ (defwindow sleep :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1615 :y 150 :width 155 :height 155)
+ (sleep))
+
+ ;; reboot
+ (defwindow reboot :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1445 :y 320 :width 155 :height 155)
+ (reboot))
+
+ ;; poweroff
+ (defwindow poweroff :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1615 :y 320 :width 155 :height 155)
+ (poweroff))
+
+ ;; folders
+ (defwindow folders :stacking "fg" :focusable "false" :screen 1
+ :geometry (geometry :x 1445 :y 490 :width 325 :height 440)
+ (folders))
+
+
+
diff --git a/eww/images/bg.png b/eww/images/bg.png
new file mode 100644
index 0000000..4a9b899
Binary files /dev/null and b/eww/images/bg.png differ
diff --git a/eww/images/icons/code.svg b/eww/images/icons/code.svg
new file mode 100644
index 0000000..b340b75
--- /dev/null
+++ b/eww/images/icons/code.svg
@@ -0,0 +1,8 @@
+
diff --git a/eww/images/icons/discord.svg b/eww/images/icons/discord.svg
new file mode 100644
index 0000000..a02373d
--- /dev/null
+++ b/eww/images/icons/discord.svg
@@ -0,0 +1,6 @@
+
diff --git a/eww/images/icons/files.svg b/eww/images/icons/files.svg
new file mode 100644
index 0000000..8a2c892
--- /dev/null
+++ b/eww/images/icons/files.svg
@@ -0,0 +1,16 @@
+
diff --git a/eww/images/icons/firefox.svg b/eww/images/icons/firefox.svg
new file mode 100644
index 0000000..e14fafa
--- /dev/null
+++ b/eww/images/icons/firefox.svg
@@ -0,0 +1,14 @@
+
diff --git a/eww/images/icons/geany.svg b/eww/images/icons/geany.svg
new file mode 100644
index 0000000..94029ba
--- /dev/null
+++ b/eww/images/icons/geany.svg
@@ -0,0 +1,5 @@
+
diff --git a/eww/images/icons/gimp.svg b/eww/images/icons/gimp.svg
new file mode 100644
index 0000000..3a96df9
--- /dev/null
+++ b/eww/images/icons/gimp.svg
@@ -0,0 +1,22 @@
+
diff --git a/eww/images/icons/telegram.svg b/eww/images/icons/telegram.svg
new file mode 100644
index 0000000..37c62cf
--- /dev/null
+++ b/eww/images/icons/telegram.svg
@@ -0,0 +1,20 @@
+
diff --git a/eww/images/icons/terminal.svg b/eww/images/icons/terminal.svg
new file mode 100644
index 0000000..ea2f949
--- /dev/null
+++ b/eww/images/icons/terminal.svg
@@ -0,0 +1,14 @@
+
diff --git a/eww/images/icons/virtualbox.svg b/eww/images/icons/virtualbox.svg
new file mode 100644
index 0000000..3883061
--- /dev/null
+++ b/eww/images/icons/virtualbox.svg
@@ -0,0 +1,11 @@
+
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/launch_eww b/eww/launch_eww
new file mode 100755
index 0000000..ccae802
--- /dev/null
+++ b/eww/launch_eww
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+## Files and cmd
+FILE="$HOME/.cache/eww_launch.xyz"
+EWW="$HOME/.bin/eww"
+
+## Run eww daemon if not running already
+if [[ ! `pidof eww` ]]; then
+ ${EWW} daemon
+ sleep 1
+fi
+
+## Open widgets
+run_eww() {
+ ${EWW} open-many \
+ background \
+ profile \
+ system \
+ clock \
+ uptime \
+ music \
+ github \
+ reddit \
+ twitter \
+ youtube \
+ weather \
+ apps \
+ mail \
+ logout \
+ sleep \
+ reboot \
+ poweroff \
+ folders
+}
+
+## Launch or close widgets accordingly
+if [[ ! -f "$FILE" ]]; then
+ touch "$FILE"
+ run_eww
+else
+ ${EWW} close-all
+ rm "$FILE"
+fi
diff --git a/eww/scripts/mails b/eww/scripts/mails
new file mode 100755
index 0000000..b2006e2
--- /dev/null
+++ b/eww/scripts/mails
@@ -0,0 +1,7 @@
+#!/bin/python
+
+import imaplib
+obj = imaplib.IMAP4_SSL('imap.gmail.com',993)
+obj.login('YOU@EMAIL.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..c7b3a98
--- /dev/null
+++ b/eww/scripts/music_info
@@ -0,0 +1,113 @@
+#!/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 "cover.png"
+ # fi
+ current=$(mpc current -f '%file%')
+ artist=$(printf "%s\n" "$current" | awk -F '/' '{print $1}')
+ album=$(printf "%s\n" "$current" | awk -F '/' '{print $2}')
+ dir="$MUSIC_DIR/$artist/$album"
+ cover_path=$(find "$dir/" -type f -name "cover*")
+ if [[ $(echo "$cover_path" | wc -l) -eq 1 ]]; then
+ cp "$cover_path" "$HOME/.config/eww/.coverart/cover.png"
+ return 0
+ else
+ song=$(printf "%s\n" "$current" | awk -F "/" '{print $3}')
+ dir="$MUSIC_DIR/$artist/$album/$song/cover.png"
+ [ ! -f "$dir" ] && dir="$MUSIC_DIR/$artist/$album/$song/cover.jpg"
+ [ ! -f "$dir" ] && exit 1
+ # pth=$(echo "$dir" | sed -E 's/ /\\ /g')
+ cp "$dir" "$HOME/.config/eww/.coverart/cover.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/open_apps b/eww/scripts/open_apps
new file mode 100755
index 0000000..994e25d
--- /dev/null
+++ b/eww/scripts/open_apps
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+## Open Applications
+FILE="$HOME/.cache/eww_launch.xyz"
+EWW="$HOME/.bin/eww"
+
+if [[ "$1" == "--ff" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && firefox &
+
+elif [[ "$1" == "--tg" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && telegram-desktop &
+
+elif [[ "$1" == "--dc" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && discord &
+
+elif [[ "$1" == "--tr" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && alacritty --working-directory ~ &
+
+elif [[ "$1" == "--fm" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~ &
+
+elif [[ "$1" == "--ge" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && geany &
+
+elif [[ "$1" == "--cd" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && code &
+
+elif [[ "$1" == "--gp" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && gimp &
+
+elif [[ "$1" == "--vb" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && virtualbox &
+
+fi
diff --git a/eww/scripts/open_folders b/eww/scripts/open_folders
new file mode 100755
index 0000000..27659c4
--- /dev/null
+++ b/eww/scripts/open_folders
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+## Open folders in thunar
+FILE="$HOME/.cache/eww_launch.xyz"
+EWW="$HOME/.bin/eww"
+
+if [[ "$1" == "--dl" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~/Downloads &
+
+elif [[ "$1" == "--docs" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~/Documents &
+
+elif [[ "$1" == "--music" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~/Music &
+
+elif [[ "$1" == "--pics" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~/Pictures &
+
+elif [[ "$1" == "--cfg" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~/.config &
+
+elif [[ "$1" == "--local" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && thunar ~/.local/share &
+
+fi
diff --git a/eww/scripts/open_links b/eww/scripts/open_links
new file mode 100755
index 0000000..e101c25
--- /dev/null
+++ b/eww/scripts/open_links
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+## Open links in firefox
+FILE="$HOME/.cache/eww_launch.xyz"
+EWW="$HOME/.bin/eww"
+cmd="firefox --new-tab"
+
+if [[ "$1" == "--mail" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && ${cmd} "https://mail.google.com"
+
+elif [[ "$1" == "--gh" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && ${cmd} "https://github.com"
+
+elif [[ "$1" == "--rd" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && ${cmd} "https://reddit.com"
+
+elif [[ "$1" == "--tw" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && ${cmd} "https://twitter.com"
+
+elif [[ "$1" == "--yt" ]]; then
+ ${EWW} close-all && rm -rf "$FILE" && ${cmd} "https://youtube.com"
+
+fi
diff --git a/eww/scripts/sys_info b/eww/scripts/sys_info
new file mode 100755
index 0000000..fefc7f4
--- /dev/null
+++ b/eww/scripts/sys_info
@@ -0,0 +1,78 @@
+#!/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
+}
+
+## 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
+fi
diff --git a/eww/scripts/weather_info b/eww/scripts/weather_info
new file mode 100755
index 0000000..3307ea8
--- /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="YOUR_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/test.sh b/eww/test.sh
new file mode 100644
index 0000000..d95a838
--- /dev/null
+++ b/eww/test.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+teststr=$(mpc current -f "%file%")
+echo "$teststr"
+artist=$(echo "$teststr" | awk -F "/" '{print $1}')
+album=$(echo "$teststr" | awk -F "/" '{print $2}')
+
+echo "ARTIST: $artist ALBUM: $album"