From a4fe44fe8e5f5d68c5e8b2e07fb099f086d48525 Mon Sep 17 00:00:00 2001 From: mgrotke Date: Thu, 25 Jun 2020 01:42:28 -0400 Subject: [PATCH] First commit --- README.md | 17 +- conf | 228 +++++++++++++++++++++++++++ conf_full | 247 +++++++++++++++++++++++++++++ mint_logo.png | Bin 0 -> 100790 bytes rounding.lua | 145 +++++++++++++++++ weather/Make_Icons/README.txt | 15 ++ weather/Make_Icons/SVG/200.svg | 1 + weather/Make_Icons/SVG/201.svg | 1 + weather/Make_Icons/SVG/202.svg | 1 + weather/Make_Icons/SVG/210.svg | 1 + weather/Make_Icons/SVG/211.svg | 1 + weather/Make_Icons/SVG/212.svg | 1 + weather/Make_Icons/SVG/221.svg | 1 + weather/Make_Icons/SVG/230.svg | 1 + weather/Make_Icons/SVG/231.svg | 1 + weather/Make_Icons/SVG/232.svg | 1 + weather/Make_Icons/SVG/300.svg | 1 + weather/Make_Icons/SVG/301.svg | 1 + weather/Make_Icons/SVG/302.svg | 1 + weather/Make_Icons/SVG/310.svg | 1 + weather/Make_Icons/SVG/311.svg | 1 + weather/Make_Icons/SVG/312.svg | 1 + weather/Make_Icons/SVG/313.svg | 1 + weather/Make_Icons/SVG/314.svg | 1 + weather/Make_Icons/SVG/321.svg | 1 + weather/Make_Icons/SVG/500.svg | 1 + weather/Make_Icons/SVG/501.svg | 1 + weather/Make_Icons/SVG/502.svg | 1 + weather/Make_Icons/SVG/503.svg | 1 + weather/Make_Icons/SVG/504.svg | 1 + weather/Make_Icons/SVG/511.svg | 1 + weather/Make_Icons/SVG/520.svg | 1 + weather/Make_Icons/SVG/521.svg | 1 + weather/Make_Icons/SVG/522.svg | 1 + weather/Make_Icons/SVG/531.svg | 1 + weather/Make_Icons/SVG/600.svg | 1 + weather/Make_Icons/SVG/601.svg | 1 + weather/Make_Icons/SVG/602.svg | 1 + weather/Make_Icons/SVG/611.svg | 1 + weather/Make_Icons/SVG/612.svg | 1 + weather/Make_Icons/SVG/615.svg | 1 + weather/Make_Icons/SVG/616.svg | 1 + weather/Make_Icons/SVG/620.svg | 1 + weather/Make_Icons/SVG/621.svg | 1 + weather/Make_Icons/SVG/622.svg | 1 + weather/Make_Icons/SVG/701.svg | 1 + weather/Make_Icons/SVG/711.svg | 1 + weather/Make_Icons/SVG/721.svg | 1 + weather/Make_Icons/SVG/731.svg | 1 + weather/Make_Icons/SVG/741.svg | 1 + weather/Make_Icons/SVG/751.svg | 1 + weather/Make_Icons/SVG/761.svg | 1 + weather/Make_Icons/SVG/762.svg | 1 + weather/Make_Icons/SVG/771.svg | 1 + weather/Make_Icons/SVG/781.svg | 1 + weather/Make_Icons/SVG/800.svg | 1 + weather/Make_Icons/SVG/801.svg | 1 + weather/Make_Icons/SVG/802.svg | 1 + weather/Make_Icons/SVG/803.svg | 1 + weather/Make_Icons/SVG/804.svg | 1 + weather/Make_Icons/SVG/900.svg | 1 + weather/Make_Icons/SVG/901.svg | 1 + weather/Make_Icons/SVG/902.svg | 1 + weather/Make_Icons/SVG/903.svg | 1 + weather/Make_Icons/SVG/904.svg | 1 + weather/Make_Icons/SVG/905.svg | 1 + weather/Make_Icons/SVG/906.svg | 1 + weather/Make_Icons/SVG/951.svg | 1 + weather/Make_Icons/SVG/952.svg | 1 + weather/Make_Icons/SVG/953.svg | 1 + weather/Make_Icons/SVG/954.svg | 1 + weather/Make_Icons/SVG/955.svg | 1 + weather/Make_Icons/SVG/956.svg | 1 + weather/Make_Icons/SVG/957.svg | 1 + weather/Make_Icons/SVG/958.svg | 1 + weather/Make_Icons/SVG/959.svg | 1 + weather/Make_Icons/SVG/960.svg | 1 + weather/Make_Icons/SVG/961.svg | 1 + weather/Make_Icons/SVG/962.svg | 1 + weather/Make_Icons/SVG/null.svg | 1 + weather/Make_Icons/render_pngs.sh | 157 ++++++++++++++++++ weather/get_weather.sh | 71 +++++++++ weather/lime32/200.png | Bin 0 -> 600 bytes weather/lime32/201.png | Bin 0 -> 675 bytes weather/lime32/202.png | Bin 0 -> 675 bytes weather/lime32/210.png | Bin 0 -> 600 bytes weather/lime32/211.png | Bin 0 -> 600 bytes weather/lime32/212.png | Bin 0 -> 600 bytes weather/lime32/221.png | Bin 0 -> 600 bytes weather/lime32/230.png | Bin 0 -> 600 bytes weather/lime32/231.png | Bin 0 -> 600 bytes weather/lime32/232.png | Bin 0 -> 675 bytes weather/lime32/300.png | Bin 0 -> 587 bytes weather/lime32/301.png | Bin 0 -> 587 bytes weather/lime32/302.png | Bin 0 -> 573 bytes weather/lime32/310.png | Bin 0 -> 573 bytes weather/lime32/311.png | Bin 0 -> 573 bytes weather/lime32/312.png | Bin 0 -> 573 bytes weather/lime32/313.png | Bin 0 -> 605 bytes weather/lime32/314.png | Bin 0 -> 605 bytes weather/lime32/321.png | Bin 0 -> 605 bytes weather/lime32/500.png | Bin 0 -> 587 bytes weather/lime32/501.png | Bin 0 -> 573 bytes weather/lime32/502.png | Bin 0 -> 605 bytes weather/lime32/503.png | Bin 0 -> 605 bytes weather/lime32/504.png | Bin 0 -> 605 bytes weather/lime32/511.png | Bin 0 -> 543 bytes weather/lime32/520.png | Bin 0 -> 605 bytes weather/lime32/521.png | Bin 0 -> 605 bytes weather/lime32/522.png | Bin 0 -> 605 bytes weather/lime32/531.png | Bin 0 -> 605 bytes weather/lime32/600.png | Bin 0 -> 568 bytes weather/lime32/601.png | Bin 0 -> 561 bytes weather/lime32/602.png | Bin 0 -> 575 bytes weather/lime32/611.png | Bin 0 -> 593 bytes weather/lime32/612.png | Bin 0 -> 732 bytes weather/lime32/615.png | Bin 0 -> 643 bytes weather/lime32/616.png | Bin 0 -> 643 bytes weather/lime32/620.png | Bin 0 -> 575 bytes weather/lime32/621.png | Bin 0 -> 575 bytes weather/lime32/622.png | Bin 0 -> 575 bytes weather/lime32/701.png | Bin 0 -> 184 bytes weather/lime32/711.png | Bin 0 -> 184 bytes weather/lime32/721.png | Bin 0 -> 184 bytes weather/lime32/731.png | Bin 0 -> 439 bytes weather/lime32/741.png | Bin 0 -> 184 bytes weather/lime32/751.png | Bin 0 -> 439 bytes weather/lime32/761.png | Bin 0 -> 439 bytes weather/lime32/762.png | Bin 0 -> 583 bytes weather/lime32/771.png | Bin 0 -> 339 bytes weather/lime32/781.png | Bin 0 -> 260 bytes weather/lime32/800.png | Bin 0 -> 520 bytes weather/lime32/801.png | Bin 0 -> 455 bytes weather/lime32/802.png | Bin 0 -> 455 bytes weather/lime32/803.png | Bin 0 -> 658 bytes weather/lime32/804.png | Bin 0 -> 648 bytes weather/lime32/900.png | Bin 0 -> 260 bytes weather/lime32/901.png | Bin 0 -> 518 bytes weather/lime32/902.png | Bin 0 -> 518 bytes weather/lime32/903.png | Bin 0 -> 492 bytes weather/lime32/904.png | Bin 0 -> 628 bytes weather/lime32/905.png | Bin 0 -> 339 bytes weather/lime32/906.png | Bin 0 -> 732 bytes weather/lime32/951.png | Bin 0 -> 395 bytes weather/lime32/952.png | Bin 0 -> 395 bytes weather/lime32/953.png | Bin 0 -> 395 bytes weather/lime32/954.png | Bin 0 -> 395 bytes weather/lime32/955.png | Bin 0 -> 339 bytes weather/lime32/956.png | Bin 0 -> 339 bytes weather/lime32/957.png | Bin 0 -> 339 bytes weather/lime32/958.png | Bin 0 -> 339 bytes weather/lime32/959.png | Bin 0 -> 339 bytes weather/lime32/960.png | Bin 0 -> 675 bytes weather/lime32/961.png | Bin 0 -> 675 bytes weather/lime32/962.png | Bin 0 -> 518 bytes weather/lime32/null.png | Bin 0 -> 546 bytes weather/lime64/200.png | Bin 0 -> 1158 bytes weather/lime64/201.png | Bin 0 -> 1344 bytes weather/lime64/202.png | Bin 0 -> 1344 bytes weather/lime64/210.png | Bin 0 -> 1158 bytes weather/lime64/211.png | Bin 0 -> 1158 bytes weather/lime64/212.png | Bin 0 -> 1158 bytes weather/lime64/221.png | Bin 0 -> 1158 bytes weather/lime64/230.png | Bin 0 -> 1158 bytes weather/lime64/231.png | Bin 0 -> 1158 bytes weather/lime64/232.png | Bin 0 -> 1344 bytes weather/lime64/300.png | Bin 0 -> 1142 bytes weather/lime64/301.png | Bin 0 -> 1142 bytes weather/lime64/302.png | Bin 0 -> 1155 bytes weather/lime64/310.png | Bin 0 -> 1155 bytes weather/lime64/311.png | Bin 0 -> 1155 bytes weather/lime64/312.png | Bin 0 -> 1155 bytes weather/lime64/313.png | Bin 0 -> 1187 bytes weather/lime64/314.png | Bin 0 -> 1187 bytes weather/lime64/321.png | Bin 0 -> 1187 bytes weather/lime64/500.png | Bin 0 -> 1142 bytes weather/lime64/501.png | Bin 0 -> 1155 bytes weather/lime64/502.png | Bin 0 -> 1187 bytes weather/lime64/503.png | Bin 0 -> 1187 bytes weather/lime64/504.png | Bin 0 -> 1187 bytes weather/lime64/511.png | Bin 0 -> 1085 bytes weather/lime64/520.png | Bin 0 -> 1187 bytes weather/lime64/521.png | Bin 0 -> 1187 bytes weather/lime64/522.png | Bin 0 -> 1187 bytes weather/lime64/531.png | Bin 0 -> 1187 bytes weather/lime64/600.png | Bin 0 -> 1169 bytes weather/lime64/601.png | Bin 0 -> 1164 bytes weather/lime64/602.png | Bin 0 -> 1186 bytes weather/lime64/611.png | Bin 0 -> 1226 bytes weather/lime64/612.png | Bin 0 -> 1495 bytes weather/lime64/615.png | Bin 0 -> 1356 bytes weather/lime64/616.png | Bin 0 -> 1356 bytes weather/lime64/620.png | Bin 0 -> 1186 bytes weather/lime64/621.png | Bin 0 -> 1186 bytes weather/lime64/622.png | Bin 0 -> 1186 bytes weather/lime64/701.png | Bin 0 -> 253 bytes weather/lime64/711.png | Bin 0 -> 253 bytes weather/lime64/721.png | Bin 0 -> 253 bytes weather/lime64/731.png | Bin 0 -> 751 bytes weather/lime64/741.png | Bin 0 -> 253 bytes weather/lime64/751.png | Bin 0 -> 751 bytes weather/lime64/761.png | Bin 0 -> 751 bytes weather/lime64/762.png | Bin 0 -> 1137 bytes weather/lime64/771.png | Bin 0 -> 597 bytes weather/lime64/781.png | Bin 0 -> 450 bytes weather/lime64/800.png | Bin 0 -> 1118 bytes weather/lime64/801.png | Bin 0 -> 902 bytes weather/lime64/802.png | Bin 0 -> 902 bytes weather/lime64/803.png | Bin 0 -> 1380 bytes weather/lime64/804.png | Bin 0 -> 1303 bytes weather/lime64/900.png | Bin 0 -> 450 bytes weather/lime64/901.png | Bin 0 -> 1037 bytes weather/lime64/902.png | Bin 0 -> 1037 bytes weather/lime64/903.png | Bin 0 -> 920 bytes weather/lime64/904.png | Bin 0 -> 1281 bytes weather/lime64/905.png | Bin 0 -> 597 bytes weather/lime64/906.png | Bin 0 -> 1495 bytes weather/lime64/951.png | Bin 0 -> 656 bytes weather/lime64/952.png | Bin 0 -> 656 bytes weather/lime64/953.png | Bin 0 -> 656 bytes weather/lime64/954.png | Bin 0 -> 656 bytes weather/lime64/955.png | Bin 0 -> 597 bytes weather/lime64/956.png | Bin 0 -> 597 bytes weather/lime64/957.png | Bin 0 -> 597 bytes weather/lime64/958.png | Bin 0 -> 597 bytes weather/lime64/959.png | Bin 0 -> 597 bytes weather/lime64/960.png | Bin 0 -> 1344 bytes weather/lime64/961.png | Bin 0 -> 1344 bytes weather/lime64/962.png | Bin 0 -> 1037 bytes weather/lime64/null.png | Bin 0 -> 999 bytes weather/parse_forecast.sh | 253 ++++++++++++++++++++++++++++++ weather/parse_weather.sh | 71 +++++++++ 232 files changed, 1276 insertions(+), 2 deletions(-) create mode 100644 conf create mode 100644 conf_full create mode 100644 mint_logo.png create mode 100644 rounding.lua create mode 100644 weather/Make_Icons/README.txt create mode 100644 weather/Make_Icons/SVG/200.svg create mode 100644 weather/Make_Icons/SVG/201.svg create mode 100644 weather/Make_Icons/SVG/202.svg create mode 100644 weather/Make_Icons/SVG/210.svg create mode 100644 weather/Make_Icons/SVG/211.svg create mode 100644 weather/Make_Icons/SVG/212.svg create mode 100644 weather/Make_Icons/SVG/221.svg create mode 100644 weather/Make_Icons/SVG/230.svg create mode 100644 weather/Make_Icons/SVG/231.svg create mode 100644 weather/Make_Icons/SVG/232.svg create mode 100644 weather/Make_Icons/SVG/300.svg create mode 100644 weather/Make_Icons/SVG/301.svg create mode 100644 weather/Make_Icons/SVG/302.svg create mode 100644 weather/Make_Icons/SVG/310.svg create mode 100644 weather/Make_Icons/SVG/311.svg create mode 100644 weather/Make_Icons/SVG/312.svg create mode 100644 weather/Make_Icons/SVG/313.svg create mode 100644 weather/Make_Icons/SVG/314.svg create mode 100644 weather/Make_Icons/SVG/321.svg create mode 100644 weather/Make_Icons/SVG/500.svg create mode 100644 weather/Make_Icons/SVG/501.svg create mode 100644 weather/Make_Icons/SVG/502.svg create mode 100644 weather/Make_Icons/SVG/503.svg create mode 100644 weather/Make_Icons/SVG/504.svg create mode 100644 weather/Make_Icons/SVG/511.svg create mode 100644 weather/Make_Icons/SVG/520.svg create mode 100644 weather/Make_Icons/SVG/521.svg create mode 100644 weather/Make_Icons/SVG/522.svg create mode 100644 weather/Make_Icons/SVG/531.svg create mode 100644 weather/Make_Icons/SVG/600.svg create mode 100644 weather/Make_Icons/SVG/601.svg create mode 100644 weather/Make_Icons/SVG/602.svg create mode 100644 weather/Make_Icons/SVG/611.svg create mode 100644 weather/Make_Icons/SVG/612.svg create mode 100644 weather/Make_Icons/SVG/615.svg create mode 100644 weather/Make_Icons/SVG/616.svg create mode 100644 weather/Make_Icons/SVG/620.svg create mode 100644 weather/Make_Icons/SVG/621.svg create mode 100644 weather/Make_Icons/SVG/622.svg create mode 100644 weather/Make_Icons/SVG/701.svg create mode 100644 weather/Make_Icons/SVG/711.svg create mode 100644 weather/Make_Icons/SVG/721.svg create mode 100644 weather/Make_Icons/SVG/731.svg create mode 100644 weather/Make_Icons/SVG/741.svg create mode 100644 weather/Make_Icons/SVG/751.svg create mode 100644 weather/Make_Icons/SVG/761.svg create mode 100644 weather/Make_Icons/SVG/762.svg create mode 100644 weather/Make_Icons/SVG/771.svg create mode 100644 weather/Make_Icons/SVG/781.svg create mode 100644 weather/Make_Icons/SVG/800.svg create mode 100644 weather/Make_Icons/SVG/801.svg create mode 100644 weather/Make_Icons/SVG/802.svg create mode 100644 weather/Make_Icons/SVG/803.svg create mode 100644 weather/Make_Icons/SVG/804.svg create mode 100644 weather/Make_Icons/SVG/900.svg create mode 100644 weather/Make_Icons/SVG/901.svg create mode 100644 weather/Make_Icons/SVG/902.svg create mode 100644 weather/Make_Icons/SVG/903.svg create mode 100644 weather/Make_Icons/SVG/904.svg create mode 100644 weather/Make_Icons/SVG/905.svg create mode 100644 weather/Make_Icons/SVG/906.svg create mode 100644 weather/Make_Icons/SVG/951.svg create mode 100644 weather/Make_Icons/SVG/952.svg create mode 100644 weather/Make_Icons/SVG/953.svg create mode 100644 weather/Make_Icons/SVG/954.svg create mode 100644 weather/Make_Icons/SVG/955.svg create mode 100644 weather/Make_Icons/SVG/956.svg create mode 100644 weather/Make_Icons/SVG/957.svg create mode 100644 weather/Make_Icons/SVG/958.svg create mode 100644 weather/Make_Icons/SVG/959.svg create mode 100644 weather/Make_Icons/SVG/960.svg create mode 100644 weather/Make_Icons/SVG/961.svg create mode 100644 weather/Make_Icons/SVG/962.svg create mode 100644 weather/Make_Icons/SVG/null.svg create mode 100755 weather/Make_Icons/render_pngs.sh create mode 100755 weather/get_weather.sh create mode 100644 weather/lime32/200.png create mode 100644 weather/lime32/201.png create mode 100644 weather/lime32/202.png create mode 100644 weather/lime32/210.png create mode 100644 weather/lime32/211.png create mode 100644 weather/lime32/212.png create mode 100644 weather/lime32/221.png create mode 100644 weather/lime32/230.png create mode 100644 weather/lime32/231.png create mode 100644 weather/lime32/232.png create mode 100644 weather/lime32/300.png create mode 100644 weather/lime32/301.png create mode 100644 weather/lime32/302.png create mode 100644 weather/lime32/310.png create mode 100644 weather/lime32/311.png create mode 100644 weather/lime32/312.png create mode 100644 weather/lime32/313.png create mode 100644 weather/lime32/314.png create mode 100644 weather/lime32/321.png create mode 100644 weather/lime32/500.png create mode 100644 weather/lime32/501.png create mode 100644 weather/lime32/502.png create mode 100644 weather/lime32/503.png create mode 100644 weather/lime32/504.png create mode 100644 weather/lime32/511.png create mode 100644 weather/lime32/520.png create mode 100644 weather/lime32/521.png create mode 100644 weather/lime32/522.png create mode 100644 weather/lime32/531.png create mode 100644 weather/lime32/600.png create mode 100644 weather/lime32/601.png create mode 100644 weather/lime32/602.png create mode 100644 weather/lime32/611.png create mode 100644 weather/lime32/612.png create mode 100644 weather/lime32/615.png create mode 100644 weather/lime32/616.png create mode 100644 weather/lime32/620.png create mode 100644 weather/lime32/621.png create mode 100644 weather/lime32/622.png create mode 100644 weather/lime32/701.png create mode 100644 weather/lime32/711.png create mode 100644 weather/lime32/721.png create mode 100644 weather/lime32/731.png create mode 100644 weather/lime32/741.png create mode 100644 weather/lime32/751.png create mode 100644 weather/lime32/761.png create mode 100644 weather/lime32/762.png create mode 100644 weather/lime32/771.png create mode 100644 weather/lime32/781.png create mode 100644 weather/lime32/800.png create mode 100644 weather/lime32/801.png create mode 100644 weather/lime32/802.png create mode 100644 weather/lime32/803.png create mode 100644 weather/lime32/804.png create mode 100644 weather/lime32/900.png create mode 100644 weather/lime32/901.png create mode 100644 weather/lime32/902.png create mode 100644 weather/lime32/903.png create mode 100644 weather/lime32/904.png create mode 100644 weather/lime32/905.png create mode 100644 weather/lime32/906.png create mode 100644 weather/lime32/951.png create mode 100644 weather/lime32/952.png create mode 100644 weather/lime32/953.png create mode 100644 weather/lime32/954.png create mode 100644 weather/lime32/955.png create mode 100644 weather/lime32/956.png create mode 100644 weather/lime32/957.png create mode 100644 weather/lime32/958.png create mode 100644 weather/lime32/959.png create mode 100644 weather/lime32/960.png create mode 100644 weather/lime32/961.png create mode 100644 weather/lime32/962.png create mode 100644 weather/lime32/null.png create mode 100644 weather/lime64/200.png create mode 100644 weather/lime64/201.png create mode 100644 weather/lime64/202.png create mode 100644 weather/lime64/210.png create mode 100644 weather/lime64/211.png create mode 100644 weather/lime64/212.png create mode 100644 weather/lime64/221.png create mode 100644 weather/lime64/230.png create mode 100644 weather/lime64/231.png create mode 100644 weather/lime64/232.png create mode 100644 weather/lime64/300.png create mode 100644 weather/lime64/301.png create mode 100644 weather/lime64/302.png create mode 100644 weather/lime64/310.png create mode 100644 weather/lime64/311.png create mode 100644 weather/lime64/312.png create mode 100644 weather/lime64/313.png create mode 100644 weather/lime64/314.png create mode 100644 weather/lime64/321.png create mode 100644 weather/lime64/500.png create mode 100644 weather/lime64/501.png create mode 100644 weather/lime64/502.png create mode 100644 weather/lime64/503.png create mode 100644 weather/lime64/504.png create mode 100644 weather/lime64/511.png create mode 100644 weather/lime64/520.png create mode 100644 weather/lime64/521.png create mode 100644 weather/lime64/522.png create mode 100644 weather/lime64/531.png create mode 100644 weather/lime64/600.png create mode 100644 weather/lime64/601.png create mode 100644 weather/lime64/602.png create mode 100644 weather/lime64/611.png create mode 100644 weather/lime64/612.png create mode 100644 weather/lime64/615.png create mode 100644 weather/lime64/616.png create mode 100644 weather/lime64/620.png create mode 100644 weather/lime64/621.png create mode 100644 weather/lime64/622.png create mode 100644 weather/lime64/701.png create mode 100644 weather/lime64/711.png create mode 100644 weather/lime64/721.png create mode 100644 weather/lime64/731.png create mode 100644 weather/lime64/741.png create mode 100644 weather/lime64/751.png create mode 100644 weather/lime64/761.png create mode 100644 weather/lime64/762.png create mode 100644 weather/lime64/771.png create mode 100644 weather/lime64/781.png create mode 100644 weather/lime64/800.png create mode 100644 weather/lime64/801.png create mode 100644 weather/lime64/802.png create mode 100644 weather/lime64/803.png create mode 100644 weather/lime64/804.png create mode 100644 weather/lime64/900.png create mode 100644 weather/lime64/901.png create mode 100644 weather/lime64/902.png create mode 100644 weather/lime64/903.png create mode 100644 weather/lime64/904.png create mode 100644 weather/lime64/905.png create mode 100644 weather/lime64/906.png create mode 100644 weather/lime64/951.png create mode 100644 weather/lime64/952.png create mode 100644 weather/lime64/953.png create mode 100644 weather/lime64/954.png create mode 100644 weather/lime64/955.png create mode 100644 weather/lime64/956.png create mode 100644 weather/lime64/957.png create mode 100644 weather/lime64/958.png create mode 100644 weather/lime64/959.png create mode 100644 weather/lime64/960.png create mode 100644 weather/lime64/961.png create mode 100644 weather/lime64/962.png create mode 100644 weather/lime64/null.png create mode 100755 weather/parse_forecast.sh create mode 100755 weather/parse_weather.sh diff --git a/README.md b/README.md index 2fce2a8..f562f22 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,15 @@ -# mgconky -My configuration script for Conky +TO INSTALL THIS CONKY CONFIG... + + (1) If you do not alrady have a folder called ".conky" inside your home dir, then create it. + mkdir ~/.conky + + (2) Place the "mgconky" folder (from this repo) inside your new ".conky" folder. + + (3) Open up the conf file (~/.conky/mgconky/conf) in a text editor + + * Perform the steps outlined in the section marked "!!!IMPORTANT!!!". + + * To change colors, change the variables in the "Define Colors" section. + + (4) To change weather icon colors, go into the "weather/Make_Icons/" subfolder and read the instructions located in the readme file there. + diff --git a/conf b/conf new file mode 100644 index 0000000..de8afb2 --- /dev/null +++ b/conf @@ -0,0 +1,228 @@ +################################################################################################################################### +# This Conky configuration file was created by Matt Grotke (mgrotke@gmail.com) and is in the public domain. +# --------------------------------------------------------------------------------------------------------------------------------- +# TO RUN THIS CONKY CONFIG, YOU CAN TYPE THE FOLLOWING IN A TERMINAL: +# conky -c ~/.conky/mgconky/conf +# +# TO STOP CONKY, YOU CAN TYPE THE FOLLOWING IN A TERMINAL: +# killall conky +# +# TO HAVE THIS CONKY RUN EVERY TIME AT BOOT, GO INTO "STARTUP SOFTWARE" APP AND ADD THE FOLLOWING COMMAND WITH A DELAY OF 10 SECONDS: +# conky -p 10 -c /home//.conky/mgconky/conf +# NOTE: It seems you must actually use the full path (/home/) as the shortcut (~/) does not work. +# +# !!!IMPORTANT!!! THE FOLLOWING ARE REQUIREMENTS FOR THIS SCRIPT TO WORK PROPERLY: +# (1) Install software, if not already installed: +# "Conky" sudo apt-get install conky-all (or use software manager) +# "Jq" sudo apt-get install jq (or use software manager) +# "Curl" sudo apt-get install curl (or use software manager) +# "Wget" sudo apt-get install wget (or use software manager) +# "lm-sensors" sudo apt-get install lm-sensors (or use software manager) +# (2) Install custom fonts: +# "Neuropolitical" Place .ttf file in ~/.fonts/ https://www.dafont.com/font-comment.php?file=neuropolitical +# "StyleBats" Place .ttf file in ~/.fonts/ https://www.dafont.com/search.php?q=StyleBats +# (3) Set the included bash script(s) as executable +# chmod +x ~/.conky/mgconky/weather/get_weather.sh +# chmod +x ~/.conky/mgconky/weather/parse_weather.sh +# chmod +x ~/.conky/mgconky/weather/parse_forecast.sh +# (4) Make a free account at https://openweathermap.org/ +# (5) Write down your API key, which is found on the "API keys" tab after you log in. (https://home.openweathermap.org/api_keys) +# (6) Find your city's location ID by entering your CITY NAME in the search box and select your city from the search results. +# Your location ID will be the number in the URL (for example: https://openweathermap.org/city/5128581) +# (7) In this conf file below, set the following variables: +# "template6" Set to your API key. +# "template7" Set to your location ID. +# "template8" Set to either "imperial" (for Fahrenheit) or "metric" (for Celsius). +# (8) Modify the drive names below with your device name(s), i.e. "/dev/sda", "/dev/sdb", "/dev/sdc", etc. +# (9) Modify the filesystems below with your mount name(s), i.e. "/" (root), "/mnt/MyData", "/media//MyUSBStick", etc. +# (10) Replace "enp34s0" below with name of your ethernet device. (Find name of ethernet device by typing "ip a" in terminal.) +# (11) If you use Wi-Fi instead of ethernet, change the Network section. The following variables are available from Conky: +# ${wireless_ap } Wireless access point MAC address +# ${wireless_bitrate } Wireless bitrate (ie 11 Mb/s) +# ${wireless_essid } Wireless access point ESSID +# ${wireless_link_bar , } Wireless link quality bar +# ${wireless_link_qual } Wireless link quality +# ${wireless_link_qual_max } Wireless link quality maximum value +# ${wireless_link_qual_perc } Wireless link quality in percents +# ${wireless_mode } Wireless mode (Managed/Ad-Hoc/Master) +################################################################################################################################### + +#-------------------------- +# Window and drawing properties +#-------------------------- +alignment top_right +minimum_size 225 +maximum_width 225 +gap_x 15 +gap_y 15 +background no +own_window yes +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_type normal +double_buffer yes +draw_shades no +draw_outline no +draw_borders no +draw_graph_borders yes +no_buffers yes +imlib_cache_size 0 +cpu_avg_samples 2 +update_interval 1.5 +total_run_times 0 + +#-------------------------- +# Define fonts +#-------------------------- +use_xft yes +xftalpha 0.9 +#xftfont DejaVu Sans:size=8 +xftfont Courier:size=9 +override_utf8_locale yes # Force UTF8? Requires XFT (see above)... will displays degree symbol, instead of °, etc. +short_units yes +uppercase no + +#-------------------------- +# Define Colors +#-------------------------- +default_color white +default_shade_color black +default_outline_color green +color0 orange # Titles +color1 slategrey # Horizonal lines +color2 white # Not used +color3 lime # Values +color4 yellow # Important +color5 lime # Bar graphs + +#-------------------------- +# Weather variables +#-------------------------- +template6 "" # OpenWeatherMap API key (https://home.openweathermap.org/api_keys) +template7 "" # OpenWeatherMap City ID (the number in the URL of your city, for example: https://openweathermap.org/city/5128581) +template8 "imperial" # Temp unit ("default" for Kelvin, "metric" for Celcius, "imperial" for Fahrenheit) +template9 "" # Locale (e.g. "es_ES.UTF-8") # Leave empty for default + +#-------------------------- +# Load Lua script(s) -- If multiple files, separate each path with a space. They should all be loaded on a single lua_load command. +#-------------------------- +lua_load ~/.conky/mgconky/rounding.lua + +TEXT +#-------------------------- +# Linux Mint Logo and Text +#-------------------------- +${image ~/.conky/mgconky/mint_logo.png -s 35x35 -p 0,0}\ +${voffset 0}${goto 50}${font Neuropolitical:pixelsize=12}${color0}${execi 100000 lsb_release -sd || cat /etc/*release}${color}${font} +${voffset 0}${goto 50}${font Neuropolitical:size=10}${nodename}${font} +${voffset 8}Kernel: ${color3}${alignr}${sysname} ${kernel}${color} +${voffset 2}Uptime: ${color3}${alignr}${uptime_short}${color} +${voffset 2}CPU:${goto 50}${color4}${execi 10 sensors | grep "Tdie" | cut -c16-17}°C${color}${goto 100}${alignr}GPU: ${color4}${nvidia temp}°C${color} + +#-------------------------- +# Weather +#-------------------------- +# ***** Download weather data and position icons ***** +${execi 300 ~/.conky/mgconky/weather/get_weather.sh ${template6} ${template7} ${template8} ${template9}}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime64/$(~/.conky/mgconky/weather/parse_weather.sh 'iconid').png ~/.cache/mgconky/weather0.png}${image ~/.cache/mgconky/weather0.png -p 40,135 -s 64x64}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime32/$(~/.conky/mgconky/weather/parse_forecast.sh 'first' '.weather[0].id' '1').png ~/.cache/mgconky/weather1.png}${image ~/.cache/mgconky/weather1.png -p 20,219 -s 32x32}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime32/$(~/.conky/mgconky/weather/parse_forecast.sh 'first' '.weather[0].id' '2').png ~/.cache/mgconky/weather2.png}${image ~/.cache/mgconky/weather2.png -p 96,219 -s 32x32}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime32/$(~/.conky/mgconky/weather/parse_forecast.sh 'first' '.weather[0].id' '3').png ~/.cache/mgconky/weather3.png}${image ~/.cache/mgconky/weather3.png -p 175,219 -s 32x32} +# ***** Today's date ***** +${voffset -15}${color0}${alignc}${font Neuropolitical:size=10}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'location'}${font}${color} +${voffset -4}${color0}${alignc}${font Neuropolitical:size=10}${execi 300 LANG=${template9} LC_TIME=${template9} date +'%^a, %e %^B'}${font}${color} +# ***** Temperature right now ***** +${voffset 7}${alignc -40}${color3}${font Courier:size=20:bold}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'temperature'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${font}${color} +# ***** Today's high/low temps ***** +${voffset 5}${alignc -40}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '0'}${color}\ +/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '0'}\ +${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +# ***** Description of weather right now ***** +#${voffset 0}${alignc}${color3}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'description'}${color} +# ***** Forecast day labels (MON, TUES, WED, etc) ***** +${voffset 15}${color0}${font Neuropolitical:size=10}${alignc 77}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +1day +%^a}${font}${color} +${voffset -18}${color0}${font Neuropolitical:size=10}${alignc}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +2day +%^a}${font}${color} +${voffset -18}${color0}${font Neuropolitical:size=10}${alignc -77}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +3day +%^a}${font}${color} +# ***** Forecast high/low temps ***** +${voffset 32}${alignc 77}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '1'}${color}/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '1'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +${voffset -13}${alignc}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '2'}${color}/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '2'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +${voffset -13}${alignc -77}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '3'}${color}/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '3'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +# +#-------------------------- +# Memory +#-------------------------- +#${voffset -10}${color0}${font Neuropolitical:size=8:bold}MEMORY ${color1}${hr 2}${color}${font} +#${voffset 4}RAM:${alignr}${color3}${lua MyRound ${mem} 1 halfup G hideUnit}${color} of ${color3}${lua MyRound ${memmax} 0 ceil G addSpace}B${color} +#${voffset -2}${color5}${membar}${color} +#${voffset 2}Swap:${alignr}${color3}${lua MyRound ${swap} 1 halfup G hideUnit}${color} of ${color3}${lua MyRound ${swapmax} 0 ceil G addSpace}B${color} +#${voffset -2}${color5}${swapbar}${color} + +#-------------------------- +# Drive #1 +#-------------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}DRIVE${font} /dev/nvme0n1${color} ${color1}${hr 2}${color} +# ***** Read and write speeds for this device ***** +#${voffset 4}Read: ${color3}${diskio_read nvme0n1}/s${color}${goto 120}Write: ${color3}${diskio_write nvme0n1}/s${color} +#${voffset -4}${color5}${diskiograph_read nvme0n1 14,110 000000 ff0000}${color}${alignr}${color5}${diskiograph_write nvme0n1 14,110 000000 00ffff}${color} +# ***** Now we show the mounts under this device ***** +${voffset 2}/:${alignr}${color3}${lua MyRound ${fs_used /} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar /}${color} +${voffset 2}/home:${alignr}${color3}${lua MyRound ${fs_used /home} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /home} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar /home}${color} + +#-------------------------- +# Drive #2 +#-------------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}DRIVE${font} /dev/sda${color} ${color1}${hr 2}${color} +# ***** Read and write speeds for this device ***** +#${voffset 4}Read: ${color3}${diskio_read sda}/s${color}${goto 120}Write: ${color3}${diskio_write sda}/s${color} +#${voffset -4}${color5}${diskiograph_read sda 14,110 000000 ff0000}${color}${alignr}${color5}${diskiograph_write sda 14,110 000000 00ffff}${color} +# ***** Now we show the mounts under this device ***** +${voffset 2}/mnt/SSD120:${alignr}${color3}${lua MyRound ${fs_used /mnt/SSD120} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /mnt/SSD120} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar 6 /mnt/SSD120}${color} + +#-------------------------- +# Drive #3 +#-------------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}DRIVE${font} /dev/sdb${color} ${color1}${hr 2}${color} +# ***** Read and write speeds for this device ***** +#${voffset 4}Read: ${color3}${diskio_read sdb}/s${color}${goto 120}Write: ${color3}${diskio_write sdb}/s${color} +#${voffset -4}${color5}${diskiograph_read sdb 14,110 000000 ff0000}${color}${alignr}${color5}${diskiograph_write sdb 14,110 000000 00ffff}${color} +# ***** Now we show the mounts under this device ***** +${voffset 2}/mnt/SSD180:${alignr}${color3}${lua MyRound ${fs_used /mnt/SSD180} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /mnt/SSD180} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar 6 /mnt/SSD180}${color} + +#---------------------- +# Top Processes +#---------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}TOP PROCESSES ${color1}${hr 2}${color}${font} +${voffset 6}By Memory Usage${goto 142}PID${alignr}RAM +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 1}${goto 140}${top_mem pid 1}${alignr}${top_mem mem_res 1}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 2}${goto 140}${top_mem pid 2}${alignr}${top_mem mem_res 2}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 3}${goto 140}${top_mem pid 3}${alignr}${top_mem mem_res 3}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 4}${goto 140}${top_mem pid 4}${alignr}${top_mem mem_res 4}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 5}${goto 140}${top_mem pid 5}${alignr}${top_mem mem_res 5}${color} +${voffset 6}By CPU Usage${goto 142}PID${alignr}CPU +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 1}${goto 140}${top pid 1}${alignr}${top cpu 1}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 2}${goto 140}${top pid 2}${alignr}${top cpu 2}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 3}${goto 140}${top pid 3}${alignr}${top cpu 3}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 4}${goto 140}${top pid 4}${alignr}${top cpu 4}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 5}${goto 140}${top pid 5}${alignr}${top cpu 5}%${color} + +#-------------------- +# Network -- Replace "enp34s0" below with name of your ethernet device. (Find name of ethernet device by typing "ip a" in terminal.) +#-------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}NETWORK ${color1}${hr 2}${color}${font} +${voffset 6}Ethernet Device:${goto 140}${color3}${gw_iface}${color} +${voffset 0}Internal IP:${goto 140}${color3}${addr enp34s0}${color} +${voffset 0}External IP:${goto 140}${color3}${execi 1800 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}${color} +${voffset 6}DL: ${color3}${downspeed enp34s0}/s${color}${goto 140}UL:${color} ${color3}${upspeed enp34s0}/s${color} +${voffset -2}${color5}${downspeedgraph enp34s0 25,90 000000 ff0000}${color}${alignr}${color5}${upspeedgraph enp34s0 25,90 000000 00ffff}${color} +${voffset -6}Total: ${color3}${totaldown enp34s0}${color}${goto 140}Total:${color} ${color3}${totalup enp34s0}${color} + +#-------------------- +# Connections - netstat shows number of connections from your computer and application/PID making it. Kill spyware! +#-------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}CONNECTIONS ${color1}${hr 2}${color}${font} +${voffset 6}Num. connections / PID / Process +${voffset 2}${color3}${execi 30 netstat -ept | grep ESTAB | awk '{print $9}' | cut -d: -f1 | sort | uniq -c | sort -nr}${color} diff --git a/conf_full b/conf_full new file mode 100644 index 0000000..da6dfd2 --- /dev/null +++ b/conf_full @@ -0,0 +1,247 @@ +################################################################################################################################### +# This Conky configuration file was created by Matt Grotke (mgrotke@gmail.com) and is in the public domain. +# --------------------------------------------------------------------------------------------------------------------------------- +# TO RUN THIS CONKY CONFIG, YOU CAN TYPE THE FOLLOWING IN A TERMINAL: +# conky -c ~/.conky/mgconky/conf +# +# TO STOP CONKY, YOU CAN TYPE THE FOLLOWING IN A TERMINAL: +# killall conky +# +# TO HAVE THIS CONKY RUN EVERY TIME AT BOOT, GO INTO "STARTUP SOFTWARE" APP AND ADD THE FOLLOWING COMMAND WITH A DELAY OF 10 SECONDS: +# conky -p 10 -c /home//.conky/mgconky/conf +# NOTE: It seems you must actually use the full path (/home/) as the shortcut (~/) does not work. +# +# !!!IMPORTANT!!! THE FOLLOWING ARE REQUIREMENTS FOR THIS SCRIPT TO WORK PROPERLY: +# (1) Install software, if not already installed: +# "Conky" sudo apt-get install conky-all (or use software manager) +# "Jq" sudo apt-get install jq (or use software manager) +# "Curl" sudo apt-get install curl (or use software manager) +# "Wget" sudo apt-get install wget (or use software manager) +# "lm-sensors" sudo apt-get install lm-sensors (or use software manager) +# (2) Install custom fonts: +# "Neuropolitical" Place .ttf file in ~/.fonts/ https://www.dafont.com/font-comment.php?file=neuropolitical +# "StyleBats" Place .ttf file in ~/.fonts/ https://www.dafont.com/search.php?q=StyleBats +# (3) Set the included bash script(s) as executable +# chmod +x ~/.conky/mgconky/weather/get_weather.sh +# chmod +x ~/.conky/mgconky/weather/parse_weather.sh +# chmod +x ~/.conky/mgconky/weather/parse_forecast.sh +# (4) Make a free account at https://openweathermap.org/ +# (5) Write down your API key, which is found on the "API keys" tab after you log in. (https://home.openweathermap.org/api_keys) +# (6) Find your city's location ID by entering your CITY NAME in the search box and select your city from the search results. +# Your location ID will be the number in the URL (for example: https://openweathermap.org/city/5128581) +# (7) In this conf file below, set the following variables: +# "template6" Set to your API key. +# "template7" Set to your location ID. +# "template8" Set to either "imperial" (for Fahrenheit) or "metric" (for Celsius). +# (8) Modify the drive names below with your device name(s), i.e. "/dev/sda", "/dev/sdb", "/dev/sdc", etc. +# (9) Modify the filesystems below with your mount name(s), i.e. "/" (root), "/mnt/MyData", "/media//MyUSBStick", etc. +# (10) Replace "enp34s0" below with name of your ethernet device. (Find name of ethernet device by typing "ip a" in terminal.) +# (11) If you use Wi-Fi instead of ethernet, change the Network section. The following variables are available from Conky: +# ${wireless_ap } Wireless access point MAC address +# ${wireless_bitrate } Wireless bitrate (ie 11 Mb/s) +# ${wireless_essid } Wireless access point ESSID +# ${wireless_link_bar , } Wireless link quality bar +# ${wireless_link_qual } Wireless link quality +# ${wireless_link_qual_max } Wireless link quality maximum value +# ${wireless_link_qual_perc } Wireless link quality in percents +# ${wireless_mode } Wireless mode (Managed/Ad-Hoc/Master) +################################################################################################################################### + +#-------------------------- +# Window and drawing properties +#-------------------------- +alignment top_right +minimum_size 225 +maximum_width 225 +gap_x 15 +gap_y 15 +background no +own_window yes +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_type normal +double_buffer yes +draw_shades no +draw_outline no +draw_borders no +draw_graph_borders yes +no_buffers yes +imlib_cache_size 0 +cpu_avg_samples 2 +update_interval 1.5 +total_run_times 0 + +#-------------------------- +# Define fonts +#-------------------------- +use_xft yes +xftalpha 0.9 +#xftfont DejaVu Sans:size=8 +xftfont Courier:size=9 +override_utf8_locale yes # Force UTF8? Requires XFT (see above)... will displays degree symbol, instead of °, etc. +short_units yes +uppercase no + +#-------------------------- +# Define Colors +#-------------------------- +default_color white +default_shade_color black +default_outline_color green +color0 orange # Titles +color1 slategrey # Horizonal lines +color2 white # Not used +color3 lime # Values +color4 yellow # Important +color5 lime # Bar graphs + +#-------------------------- +# Weather variables +#-------------------------- +template6 "" # OpenWeatherMap API key (https://home.openweathermap.org/api_keys) +template7 "" # OpenWeatherMap City ID (the number in the URL of your city, for example: https://openweathermap.org/city/5128581) +template8 "imperial" # Temp unit ("default" for Kelvin, "metric" for Celcius, "imperial" for Fahrenheit) +template9 "" # Locale (e.g. "es_ES.UTF-8") # Leave empty for default + +#-------------------------- +# Load Lua script(s) -- If multiple files, separate each path with a space. They should all be loaded on a single lua_load command. +#-------------------------- +lua_load ~/.conky/mgconky/rounding.lua + +TEXT +#-------------------------- +# Linux Mint Logo and Text +#-------------------------- +${image ~/.conky/mgconky/mint_logo.png -s 35x35}${goto 50}${font Neuropolitical:pixelsize=12}${color0}${execi 100000 lsb_release -sd || cat /etc/*release}${color}${font} +${goto 50}${font Neuropolitical:size=10}${nodename}${font} +${voffset 8}Kernel: ${color3}${alignr}${sysname} ${kernel}${color} +${voffset 2}Uptime: ${color3}${alignr}${uptime_short}${color} + +#-------------------------- +# Weather +#-------------------------- +# ***** Download weather data and position icons ***** +${execi 300 ~/.conky/mgconky/weather/get_weather.sh ${template6} ${template7} ${template8} ${template9}}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime64/$(~/.conky/mgconky/weather/parse_weather.sh 'iconid').png ~/.cache/mgconky/weather0.png}${image ~/.cache/mgconky/weather0.png -p 40,140 -s 64x64}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime32/$(~/.conky/mgconky/weather/parse_forecast.sh 'first' '.weather[0].id' '1').png ~/.cache/mgconky/weather1.png}${image ~/.cache/mgconky/weather1.png -p 20,216 -s 32x32}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime32/$(~/.conky/mgconky/weather/parse_forecast.sh 'first' '.weather[0].id' '2').png ~/.cache/mgconky/weather2.png}${image ~/.cache/mgconky/weather2.png -p 96,216 -s 32x32}\ +${execi 300 cp -f ~/.conky/mgconky/weather/lime32/$(~/.conky/mgconky/weather/parse_forecast.sh 'first' '.weather[0].id' '3').png ~/.cache/mgconky/weather3.png}${image ~/.cache/mgconky/weather3.png -p 175,216 -s 32x32} +# ***** Today's date ***** +${voffset -15}${color0}${alignc}${font Neuropolitical:size=10}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'location'}${font}${color} +${voffset -4}${color0}${alignc}${font Neuropolitical:size=10}${execi 300 LANG=${template9} LC_TIME=${template9} date +'%^a, %e %^B'}${font}${color} +${voffset 4}${alignc}${color3}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'description'}${color} +# ***** Temperature right now ***** +${voffset 8}${alignc -40}${color3}${font Courier:size=20:bold}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'temperature'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${font}${color} +# ***** Today's high/low temps ***** +${voffset 3}${alignc -40}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '0'}${color}\ +/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '0'}\ +${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +# ***** Description of weather right now ***** +#${voffset 0}${alignc}${color3}${execi 300 ~/.conky/mgconky/weather/parse_weather.sh 'description'}${color} +# ***** Forecast day labels (MON, TUES, WED, etc) ***** +${voffset 17}${color0}${font Neuropolitical:size=10}${alignc 77}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +1day +%^a}${font}${color} +${voffset -18}${color0}${font Neuropolitical:size=10}${alignc}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +2day +%^a}${font}${color} +${voffset -18}${color0}${font Neuropolitical:size=10}${alignc -77}${execi 300 LANG=${template9} LC_TIME=${template9} date -d +3day +%^a}${font}${color} +# ***** Forecast high/low temps ***** +${voffset 32}${alignc 77}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '1'}${color}/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '1'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +${voffset -13}${alignc}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '2'}${color}/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '2'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} +${voffset -13}${alignc -77}${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'min' '.main.temp_min' '3'}${color}/${color3}${execi 300 ~/.conky/mgconky/weather/parse_forecast.sh 'max' '.main.temp_max' '3'}${if_match $template8 == "metric"}°C${else}${if_match $template8 == "imperial"}°F${else}${if_match $template8 == "default"}K${endif}${endif}${endif}${color} + +#-------------------------- +# Processor +#-------------------------- +${color0}${font Neuropolitical:size=8:bold}PROCESSOR ${color1}${hr 2}${color}${font} +${voffset 4}${color3}${font DejaVu Sans:size=8}${execi 100000 cat /proc/cpuinfo | grep 'model name' | cut -c 14-55 | uniq }${font}${color} +${voffset 2}Temp: ${color4}${execi 10 sensors | grep "Tdie" | cut -c16-19 }°C${color}${alignr}Freq: ${color3}${freq}MHz${color} +${voffset 0}${color5}${cpugraph 000000 00ffff}${color} +${voffset -4}Core 1:${goto 60}${color5}${cpubar cpu1 6,140}${color}${alignr}${color3}${cpu cpu1}%${color} +${voffset 0}Core 2:${goto 60}${color5}${cpubar cpu2 6,140}${color}${alignr}${color3}${cpu cpu2}%${color} +${voffset 0}Core 3:${goto 60}${color5}${cpubar cpu3 6,140}${color}${alignr}${color3}${cpu cpu3}%${color} +${voffset 0}Core 4:${goto 60}${color5}${cpubar cpu4 6,140}${color}${alignr}${color3}${cpu cpu4}%${color} +${voffset 0}Core 5:${goto 60}${color5}${cpubar cpu5 6,140}${color}${alignr}${color3}${cpu cpu5}%${color} +${voffset 0}Core 6:${goto 60}${color5}${cpubar cpu6 6,140}${color}${alignr}${color3}${cpu cpu6}%${color} + +#-------------------------- +# Graphics card +#-------------------------- +${color0}${font Neuropolitical:size=8:bold}GRAPHICS CARD ${color1}${hr 2}${color}${font} +${voffset 4}Temp: ${color4}${nvidia temp}°C${color}${alignr}Threshold: ${color3}${nvidia threshold}°C${color} + +#-------------------------- +# Memory +#-------------------------- +${color0}${font Neuropolitical:size=8:bold}MEMORY ${color1}${hr 2}${color}${font} +${voffset 4}RAM:${alignr}${color3}${lua MyRound ${mem} 1 halfup G hideUnit}${color} of ${color3}${lua MyRound ${memmax} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${membar}${color} +${voffset 2}Swap:${alignr}${color3}${lua MyRound ${swap} 1 halfup G hideUnit}${color} of ${color3}${lua MyRound ${swapmax} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${swapbar}${color} + +#-------------------------- +# Drive #1 +#-------------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}DRIVE${font} /dev/nvme0n1${color} ${color1}${hr 2}${color} +# ***** First we show the device ***** +${voffset 4}Read:${color} ${color3}${diskio_read nvme0n1}/s${color}${goto 120}Write: ${color3}${diskio_write nvme0n1}/s${color} +${voffset -4}${color5}${diskiograph_read nvme0n1 25,110 000000 ff0000}${color}${alignr}${color5}${diskiograph_write nvme0n1 25,110 000000 00ffff}${color} +# ***** Now we show the mounts under this device ***** +${voffset 0}/ (root):${alignr}${color3}${lua MyRound ${fs_used /} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar /}${color} +${voffset 2}/home:${alignr}${color3}${lua MyRound ${fs_used /home} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /home} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar /home}${color} + +#-------------------------- +# Drive #2 +#-------------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}DRIVE${font} /dev/sda${color} ${color1}${hr 2}${color} +# ***** First we show the device ***** +${voffset 4}Read: ${color3}${diskio_read sda}/s${color}${goto 120}Write: ${color3}${diskio_write sda}/s${color} +${voffset -4}${color5}${diskiograph_read sda 25,110 000000 ff0000}${color}${alignr}${color5}${diskiograph_write sda 25,110 000000 00ffff}${color} +# ***** Now we show the mounts under this device ***** +${voffset 0}/mnt/SSD120:${alignr}${color3}${lua MyRound ${fs_used /mnt/SSD120} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /mnt/SSD120} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar 6 /mnt/SSD120}${color} + +#-------------------------- +# Drive #3 +#-------------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}DRIVE${font} /dev/sdb${color} ${color1}${hr 2}${color} +# ***** First we show the device ***** +${voffset 4}Read: ${color3}${diskio_read sdb}/s${color}${goto 120}Write: ${color3}${diskio_write sdb}/s${color} +${voffset -4}${color5}${diskiograph_read sdb 25,110 000000 ff0000}${color}${alignr}${color5}${diskiograph_write sdb 25,110 000000 00ffff}${color} +# ***** Now we show the mounts under this device ***** +${voffset 0}/mnt/SSD180:${alignr}${color3}${lua MyRound ${fs_used /mnt/SSD180} 0 halfup G hideUnit}${color} of ${color3}${lua MyRound ${fs_size /mnt/SSD180} 0 ceil G addSpace}B${color} +${voffset -2}${color5}${fs_bar 6 /mnt/SSD180}${color} + +#---------------------- +# Top Processes +#---------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}TOP PROCESSES ${color1}${hr 2}${color}${font} +${voffset 6}By Memory Usage${goto 142}PID${alignr}RAM +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 1}${goto 140}${top_mem pid 1}${alignr}${top_mem mem_res 1}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 2}${goto 140}${top_mem pid 2}${alignr}${top_mem mem_res 2}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 3}${goto 140}${top_mem pid 3}${alignr}${top_mem mem_res 3}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 4}${goto 140}${top_mem pid 4}${alignr}${top_mem mem_res 4}${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top_mem name 5}${goto 140}${top_mem pid 5}${alignr}${top_mem mem_res 5}${color} +${voffset 6}By CPU Usage${goto 142}PID${alignr}CPU +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 1}${goto 140}${top pid 1}${alignr}${top cpu 1}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 2}${goto 140}${top pid 2}${alignr}${top cpu 2}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 3}${goto 140}${top pid 3}${alignr}${top cpu 3}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 4}${goto 140}${top pid 4}${alignr}${top cpu 4}%${color} +${voffset 0}${font StyleBats:size=10}h${font}${voffset -1}${color3}${offset 5}${top name 5}${goto 140}${top pid 5}${alignr}${top cpu 5}%${color} + +#-------------------- +# Network -- Replace "enp34s0" below with name of your ethernet device. (Find name of ethernet device by typing "ip a" in terminal.) +#-------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}NETWORK ${color1}${hr 2}${color}${font} +${voffset 6}Ethernet Device:${goto 140}${color3}${gw_iface}${color} +${voffset 0}Internal IP:${goto 140}${color3}${addr enp34s0}${color} +${voffset 0}External IP:${goto 140}${color3}${execi 1800 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}${color} +${voffset 6}DL: ${color3}${downspeed enp34s0}/s${color}${goto 140}UL:${color} ${color3}${upspeed enp34s0}/s${color} +${voffset -2}${color5}${downspeedgraph enp34s0 25,90 000000 ff0000}${color}${alignr}${color5}${upspeedgraph enp34s0 25,90 000000 00ffff}${color} +${voffset -6}Total: ${color3}${totaldown enp34s0}${color}${goto 140}Total:${color} ${color3}${totalup enp34s0}${color} + +#-------------------- +# Connections - netstat shows number of connections from your computer and application/PID making it. Kill spyware! +#-------------------- +${voffset 0}${color0}${font Neuropolitical:size=8:bold}CONNECTIONS ${color1}${hr 2}${color}${font} +${voffset 6}Num. connections / PID / Process +${voffset 2}${color3}${execi 30 netstat -ept | grep ESTAB | awk '{print $9}' | cut -d: -f1 | sort | uniq -c | sort -nr}${color} diff --git a/mint_logo.png b/mint_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f3d95b05bb15961cd0076a2fed3cca9083dca5 GIT binary patch literal 100790 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%0AB&-*?Ikzu+&iOtmAaWr=3Q`7jySbE36uwz(g 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

HHjcB63W7ljd9q876Ex8)E^ilN1B8#5BcZ$9- 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 T?o}A-gVcMv`njxgN@xNAxRyLR literal 0 HcmV?d00001 diff --git a/rounding.lua b/rounding.lua new file mode 100644 index 0000000..440abf8 --- /dev/null +++ b/rounding.lua @@ -0,0 +1,145 @@ +--[[ ############################################################################################################################## +# This lua file was created by Matt Grotke (mgrotke@gmail.com) and is in the public domain. +# --------------------------------------------------------------------------------------------------------------------------------- +# The function below is intended to be called by a Conky config file in the following way: +# ${lua MyRound

h*5}(nQDPJ925N6y84ioKx{I>Tq9|aBo-lF82c{7Yo1l-NKgv~O;C#yY|j|G zONfb{6+1v2GlA`jvFR{2uMo>zOB>DJyL!Rj-PrnDH4iIxpAU8AQy=C&wbS2Ye6R=gcJ40UE z4Bl-}OCl~`fL+b0-u}f1#0Q8yz=V{t+5qvVsm7gEY!@IdR~ZYm*~*ZZfOsAX;2)A! zc7v7RM=67$XNYm0qi6uJ)&y`W!EPMEGI=d&l?$n^`hXA3bytGjSHOI8?*woV7%=x& z=b+0IqSyR;(R~0hm0!Jy4HrG#pw};&ki-0eU-S?Cj`v0oLOW;>y^Km{BT@ifCZ^v|CPb>fULd1NcpS(M< zy}a09?0REsQ_CPaYwXc&`Xr&e@rWT~+ron)aiWgke@-d$sIfopDVmG~lOMaa{R7b% zVL1JU7@tz^dnV6w#2cQX%78dvgmzc%Pego1u+Kk0(6gUGY^T;ukmzxleJ(@Ej+jjJ zoBnBz<$qzyzK58UTlozm_8Wm^@*KMd=Z5->54&{MB*ZkLlbPKP{OmG59wVmb?xzl6 z_E6IxE{?SX6DQlD{+PR;jG{V-_WWNv^!JVN^@61HM$QRFeP@lJ9>f@jKF1)g8lUG7 zBc1uIB4&pXB7E%SiIp*acR2SOBgC%U{^Zg3apSw!o9~c_-jIMH#B7hgXEFR}{&jD@ zLn4+}+T#rrSpo9le|5$86~z1A{TCDz6ciK`v_1aj2w600000NkvXXu0mjf D^qvfD literal 0 HcmV?d00001 diff --git a/weather/lime64/771.png b/weather/lime64/771.png new file mode 100644 index 0000000000000000000000000000000000000000..f18dfed1ae8c40208c132f77fd67270639363850 GIT binary patch literal 597 zcmV-b0;>IqP)U|K)B610O{eqGbIyFF=LIt}Gcz+Y zGqXt`nuspqJK_v+j@U!IM=Zt;uUcXaaf2JmX)`|v=v}8vwRREi15TB;w|EL<`(!^#=&18eva|_smnM{&JG8LG zcBTOTeMjfK>YuE8LnODO^RL1eK&&F(Ay)2KyOCMm4-ry0$;3u4y}U0;x;P7nrSx<5 zAy`63r%uM3*eI!^Qzzmv#iq7y5Nol+t%hi&XLr<@pVH(9k}htCWJ>##I8^t&ma j-ZnEcGcz+Yv)FC{u}1;$KL3Gb00000NkvXXu0mjflZOX? literal 0 HcmV?d00001 diff --git a/weather/lime64/781.png b/weather/lime64/781.png new file mode 100644 index 0000000000000000000000000000000000000000..44d913897b47f614926041ffb51828d6fea443f3 GIT binary patch literal 450 zcmV;z0X_bSP)6wcTD8Z~!adsLR%Qc zl1xR&0XzW3&_N<7sIr=wB_I}va>Vcc7h=&jc5@#PO60(Pw0dE3G7kC_a32t{)+10x ztkoNBKd?buc8wFS4+tS+)X58`%Drp z93T=${sPGXB*X;+0RsGoc#-lCAT~F|nal15DdvbHVFP(Nbg#Cz+%x+zJ<}U`-qK3* zwe?o@bamHMH?(NcqD6}qEm|}Uv5goY`iQOE<}?rI_)vPe%vj1rjL_KmQXX46IY<`? zIU8UQ9QU(Xkqu(Yj{`l#W^QxlgSdvcjkubD`wh?iX5-x6fNO}SeiZ))aic-*8=h0% zhKPisy6jJmMY1cZgpQ2Z&?;JMh=;A#Ng8OZ039&JX2w9WItbT#XpA z7kTay;s?YN^K6+sL41$67}2*EY4|HmxO@`hT~UZ`aPK_gvq&S&BFBhN5$6KEUE_Rn zp%;Z4&G!+zhztJOMZ|9v9Jlfi@q*WV!8gJl3ztu4U>^D1%1i<YNPa zVO5nWLf}_(zMVj45v*>@odK?f7fQdTMCeRppnE$x&m4xW;L_4iZq>l^f#EnL<@ZJ< zxB_MpHbpkrg;F6lmpyGHjB;^hRECxolsTG^@82+sMPh~7^U zTAm2v9Ijktr8`$RxNiSrMBh&=WJwG_tP!v39w0tMoS8yL2k~ws=7(d;iw$^E0pc?8 zynHxCeu>ybyn>rSR{Zf6;;WMX_7Jb;cJCxc3nN`d3nOa<;V`fK%&-PHS{T_!wI*Ft zpnPfUEN=PQ<_NRM5#nRQm>(Y({zcr(;d;^H=*isN^@h7MHpC&~TVhjPd~vk-{R#f< zT0_c~$5(uh`Nli(*uUW;f4qnI8gZSn49|s}ZTLHNxL6LcLB0(V*G(g2+aMT-_KT0G16AMW53T)4@{V*mgE07*qoM6N<$f_xPZM*si- literal 0 HcmV?d00001 diff --git a/weather/lime64/801.png b/weather/lime64/801.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4be3cba3f6412d5455e20cec96f6cb8f72ecda GIT binary patch literal 902 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 literal 0 HcmV?d00001 diff --git a/weather/lime64/906.png b/weather/lime64/906.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a97ed03d20f6e44079174c2a9537b6f95b0042 GIT binary patch literal 1495 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 literal 0 HcmV?d00001 diff --git a/weather/lime64/956.png b/weather/lime64/956.png new file mode 100644 index 0000000000000000000000000000000000000000..f18dfed1ae8c40208c132f77fd67270639363850 GIT binary patch literal 597 zcmV-b0;>IqP)U|K)B610O{eqGbIyFF=LIt}Gcz+Y zGqXt`nuspqJK_v+j@U!IM=Zt;uUcXaaf2JmX)`|v=v}8vwRREi15TB;w|EL<`(!^#=&18eva|_smnM{&JG8LG zcBTOTeMjfK>YuE8LnODO^RL1eK&&F(Ay)2KyOCMm4-ry0$;3u4y}U0;x;P7nrSx<5 zAy`63r%uM3*eI!^Qzzmv#iq7y5Nol+t%hi&XLr<@pVH(9k}htCWJ>##I8^t&ma j-ZnEcGcz+Yv)FC{u}1;$KL3Gb00000NkvXXu0mjflZOX? literal 0 HcmV?d00001 diff --git a/weather/lime64/957.png b/weather/lime64/957.png new file mode 100644 index 0000000000000000000000000000000000000000..f18dfed1ae8c40208c132f77fd67270639363850 GIT binary patch literal 597 zcmV-b0;>IqP)U|K)B610O{eqGbIyFF=LIt}Gcz+Y zGqXt`nuspqJK_v+j@U!IM=Zt;uUcXaaf2JmX)`|v=v}8vwRREi15TB;w|EL<`(!^#=&18eva|_smnM{&JG8LG zcBTOTeMjfK>YuE8LnODO^RL1eK&&F(Ay)2KyOCMm4-ry0$;3u4y}U0;x;P7nrSx<5 zAy`63r%uM3*eI!^Qzzmv#iq7y5Nol+t%hi&XLr<@pVH(9k}htCWJ>##I8^t&ma j-ZnEcGcz+Yv)FC{u}1;$KL3Gb00000NkvXXu0mjflZOX? literal 0 HcmV?d00001 diff --git a/weather/lime64/958.png b/weather/lime64/958.png new file mode 100644 index 0000000000000000000000000000000000000000..f18dfed1ae8c40208c132f77fd67270639363850 GIT binary patch literal 597 zcmV-b0;>IqP)U|K)B610O{eqGbIyFF=LIt}Gcz+Y zGqXt`nuspqJK_v+j@U!IM=Zt;uUcXaaf2JmX)`|v=v}8vwRREi15TB;w|EL<`(!^#=&18eva|_smnM{&JG8LG zcBTOTeMjfK>YuE8LnODO^RL1eK&&F(Ay)2KyOCMm4-ry0$;3u4y}U0;x;P7nrSx<5 zAy`63r%uM3*eI!^Qzzmv#iq7y5Nol+t%hi&XLr<@pVH(9k}htCWJ>##I8^t&ma j-ZnEcGcz+Yv)FC{u}1;$KL3Gb00000NkvXXu0mjflZOX? literal 0 HcmV?d00001 diff --git a/weather/lime64/959.png b/weather/lime64/959.png new file mode 100644 index 0000000000000000000000000000000000000000..f18dfed1ae8c40208c132f77fd67270639363850 GIT binary patch literal 597 zcmV-b0;>IqP)U|K)B610O{eqGbIyFF=LIt}Gcz+Y zGqXt`nuspqJK_v+j@U!IM=Zt;uUcXaaf2JmX)`|v=v}8vwRREi15TB;w|EL<`(!^#=&18eva|_smnM{&JG8LG zcBTOTeMjfK>YuE8LnODO^RL1eK&&F(Ay)2KyOCMm4-ry0$;3u4y}U0;x;P7nrSx<5 zAy`63r%uM3*eI!^Qzzmv#iq7y5Nol+t%hi&XLr<@pVH(9k}htCWJ>##I8^t&ma j-ZnEcGcz+Yv)FC{u}1;$KL3Gb00000NkvXXu0mjflZOX? literal 0 HcmV?d00001 diff --git a/weather/lime64/960.png b/weather/lime64/960.png new file mode 100644 index 0000000000000000000000000000000000000000..1e4462fb05d78bdc3cbd11561ff531954614de7b GIT binary patch literal 1344 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 V%MIf7BQpR1002ovPDHLkV1laX*7g7Z literal 0 HcmV?d00001 diff --git a/weather/parse_forecast.sh b/weather/parse_forecast.sh new file mode 100755 index 0000000..729f6fc --- /dev/null +++ b/weather/parse_forecast.sh @@ -0,0 +1,253 @@ +#!/bin/bash +################################################################################################################################### +# This script is from the Harmattan Conky theme project: https://github.com/zagortenay333/Harmattan +# It has been modified by Matt Grotke (mgrotke@gmail.com). +# Below is Harmattan's license for these files: +# --------------------------------------------------------------------------------------------------------------------------------- +# This project is available under 2 licenses -- choose whichever you prefer. +# --- +# ALTERNATIVE A - MIT License Copyright (c) 2019 zagortenay333 +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: The above copyright +# notice and this permission notice shall be included in all copies or +# substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", +# WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +# TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +# FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +# THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# --- +# ALTERNATIVE B - Public Domain (www.unlicense.org) +# This is free and unencumbered software released into the public domain. +# Anyone is free to copy, modify, publish, use, compile, sell, or distribute +# this software, either in source code form or as a compiled binary, for any +# purpose, commercial or non-commercial, and by any means. In jurisdictions +# that recognize copyright laws, the author or authors of this software +# dedicate any and all copyright interest in the software to the public domain. +# We make this dedication for the benefit of the public at large and to the +# detriment of our heirs and successors. We intend this dedication to be an +# overt act of relinquishment in perpetuity of all present and future rights to +# this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT +# WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +# OR OTHER DEALINGS IN THE SOFTWARE. +################################################################################################################################### +set -eu + +forecast=~/".cache/mgconky/forecast.json" + +get_time () { + local idx="$1" + + time=$(jq ".list[$idx].dt_txt" "$forecast") + time="${time##* }" + time="${time%%\"}" + + echo "$time" +} + +find_position () { + local day="$1" + local pos=0 + local idx=0 + local time="" + + [[ $day == 0 ]] && echo "$idx" && return + + while true; do + time=$(get_time "$idx") + + [[ $time == "00:00:00" ]] && ((pos++)) + + [[ $time == "null" ]] && break + [[ $pos == "$day" ]] && break + + ((idx++)) + done + + echo "$idx" +} + +# Currently, the free accounts on openweathermap.org only get a 5 day forecast +# with data records for every 3 hours instead of the average value for the day, +# so we have to compute the average temp_min, temp_max, etc manually. +get_avg_property () { + local res=0 + + local prop="$1" + local day="$2" + + local idx + idx=$(find_position "$day") + + local prop_num=0 + local time=0 + local it=0 + + while true; do + [[ $time == "null" ]] && break + + it=$(jq ".list[$idx]$prop" "$forecast") + + it="$res+$it" + res=$(bc -l <<< "$it") + + (( prop_num++ )) + (( idx++ )) + + time=$(get_time "$idx") + + # The records for every 3 hours are dumped in an array with no + # indication to which day they belong. + # The first record of each day (except today) is calculated at time + # '00:00:00', so we use that to know when a new day starts. + [[ $time == "00:00:00" ]] && break + done + + res="$(bc -l <<< "$res/$prop_num")" + + [[ $res == "null" ]] && echo $res && return + + LC_NUMERIC=C printf %.0f $res +} + +# Same description as get_avg_property(), but getting the lowest number for this property, instead of the average. +get_min_property () { + local res=1000 + + local prop="$1" + local day="$2" + + local idx + idx=$(find_position "$day") + + local prop_num=0 + local time=0 + local it=0 + + while true; do + [[ $time == "null" ]] && break + + it=$(jq ".list[$idx]$prop" "$forecast") + if (( $(bc -l <<< $(echo "$it<$res")) )) ; then + res="$it" + fi + + (( prop_num++ )) + (( idx++ )) + + time=$(get_time "$idx") + + # The records for every 3 hours are dumped in an array with no + # indication to which day they belong. + # The first record of each day (except today) is calculated at time + # '00:00:00', so we use that to know when a new day starts. + [[ $time == "00:00:00" ]] && break + done + + [[ $res == "null" ]] && echo $res && return + + LC_NUMERIC=C printf %.0f $res +} + +# Same description as get_avg_property(), but getting the highest number for this property, instead of the average. +get_max_property () { + local res=0 + + local prop="$1" + local day="$2" + + local idx + idx=$(find_position "$day") + + local prop_num=0 + local time=0 + local it=0 + + while true; do + [[ $time == "null" ]] && break + + it=$(jq ".list[$idx]$prop" "$forecast") + if (( $(bc -l <<< $(echo "$it>$res")) )) ; then + res="$it" + fi + + (( prop_num++ )) + (( idx++ )) + + time=$(get_time "$idx") + + # The records for every 3 hours are dumped in an array with no + # indication to which day they belong. + # The first record of each day (except today) is calculated at time + # '00:00:00', so we use that to know when a new day starts. + [[ $time == "00:00:00" ]] && break + done + + [[ $res == "null" ]] && echo $res && return + + LC_NUMERIC=C printf %.0f $res +} + +# Certain values cannot be averaged (e.g., the weather description). +# In that case we just use the value from the first record for that day. +get_first_property () { + local res=0 + + local prop="$1" + local day="$2" + + local idx + idx=$(find_position "$day") + + res=$(jq ".list[$idx]$prop" "$forecast") + + [[ $res == "null" ]] && echo $res && return + + LC_NUMERIC=C printf %.0f $res +} + +# Same description as get_first_property(), but for text properties (not numeric) +get_first_property_text () { + local res=0 + + local prop="$1" + local day="$2" + + local idx + idx=$(find_position "$day") + + res=$(jq --raw-output ".list[$idx]$prop" "$forecast") + + [[ $res == "null" ]] && echo $res && return + + echo "$res" +} + +main () { + type="$1" + prop="$2" + day="$3" + + if [[ $type == "avg" ]] ; then + echo "$(get_avg_property "$2" "$3")" + elif [[ $type == "first" ]] ; then + echo "$(get_first_property "$2" "$3")" + elif [[ $type == "firsttext" ]] ; then + echo "$(get_first_property_text "$2" "$3")" + elif [[ $type == "min" ]] ; then + echo "$(get_min_property "$2" "$3")" + elif [[ $type == "max" ]] ; then + echo "$(get_max_property "$2" "$3")" + fi +} + +[[ -r $forecast ]] && main "$@" diff --git a/weather/parse_weather.sh b/weather/parse_weather.sh new file mode 100755 index 0000000..68317a5 --- /dev/null +++ b/weather/parse_weather.sh @@ -0,0 +1,71 @@ +#!/bin/bash +################################################################################################################################### +# This script is from the Harmattan Conky theme project: https://github.com/zagortenay333/Harmattan +# It has been modified by Matt Grotke (mgrotke@gmail.com). +# Below is Harmattan's license for these files: +# --------------------------------------------------------------------------------------------------------------------------------- +# This project is available under 2 licenses -- choose whichever you prefer. +# --- +# ALTERNATIVE A - MIT License Copyright (c) 2019 zagortenay333 +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: The above copyright +# notice and this permission notice shall be included in all copies or +# substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", +# WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +# TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +# FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +# THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# --- +# ALTERNATIVE B - Public Domain (www.unlicense.org) +# This is free and unencumbered software released into the public domain. +# Anyone is free to copy, modify, publish, use, compile, sell, or distribute +# this software, either in source code form or as a compiled binary, for any +# purpose, commercial or non-commercial, and by any means. In jurisdictions +# that recognize copyright laws, the author or authors of this software +# dedicate any and all copyright interest in the software to the public domain. +# We make this dedication for the benefit of the public at large and to the +# detriment of our heirs and successors. We intend this dedication to be an +# overt act of relinquishment in perpetuity of all present and future rights to +# this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT +# WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +# OR OTHER DEALINGS IN THE SOFTWARE. +################################################################################################################################### +set -eu + +weather=~/".cache/mgconky/weather.json" + +main () { + query="$1" + + if [[ $query == "iconid" ]] ; then + echo $(jq --raw-output ".weather[0].id" "$weather") + elif [[ $query == "description" ]] ; then + echo $(jq --raw-output ".weather[0].description" "$weather") + elif [[ $query == "location" ]] ; then + echo $(jq --raw-output ".name" "$weather") + elif [[ $query == "temperature" ]] ; then + printf "%.0f" $(jq --raw-output ".main.temp" "$weather") + elif [[ $query == "pressure" ]] ; then + echo $(jq --raw-output ".main.pressure" "$weather") + elif [[ $query == "humidity" ]] ; then + echo $(jq --raw-output ".main.humidity" "$weather") + elif [[ $query == "hourlyrainvolume" ]] ; then + echo $(jq --raw-output ".rain.1h" "$weather") + elif [[ $query == "windspeed" ]] ; then + echo $(jq --raw-output ".wind.speed" "$weather") + elif [[ $query == "winddeg" ]] ; then + echo $(jq --raw-output ".wind.deg" "$weather") + fi +} + +[[ -r $weather ]] && main "$@"