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"