From 5c33007b1064ceb3af14c501003a5a3ac72a69b5 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sat, 28 Sep 2024 23:25:56 +0100 Subject: [PATCH 01/13] First commit --- apps/exactwords/0100.png | Bin 0 -> 2285 bytes apps/exactwords/0634.png | Bin 0 -> 3230 bytes apps/exactwords/1200.png | Bin 0 -> 1967 bytes apps/exactwords/1517.png | Bin 0 -> 3303 bytes apps/exactwords/1616.png | Bin 0 -> 3151 bytes apps/exactwords/2358.png | Bin 0 -> 2572 bytes apps/exactwords/ChangeLog | 1 + apps/exactwords/README.md | 31 +++++ apps/exactwords/app-icon.js | 1 + apps/exactwords/app.js | 226 ++++++++++++++++++++++++++++++++++ apps/exactwords/app.png | Bin 0 -> 1620 bytes apps/exactwords/metadata.json | 10 ++ 12 files changed, 269 insertions(+) create mode 100644 apps/exactwords/0100.png create mode 100644 apps/exactwords/0634.png create mode 100644 apps/exactwords/1200.png create mode 100644 apps/exactwords/1517.png create mode 100644 apps/exactwords/1616.png create mode 100644 apps/exactwords/2358.png create mode 100644 apps/exactwords/ChangeLog create mode 100644 apps/exactwords/README.md create mode 100644 apps/exactwords/app-icon.js create mode 100644 apps/exactwords/app.js create mode 100644 apps/exactwords/app.png create mode 100644 apps/exactwords/metadata.json diff --git a/apps/exactwords/0100.png b/apps/exactwords/0100.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7ffb27934cbc77f2a10a6dd9664474ff9e82f0 GIT binary patch literal 2285 zcmeHJ`8V5%7XPL>!DtBQO;JmfnK@HSXRM=0ycU(JR(pzwEtJ~N&@z<7lA4YhCEiq3 zc}UY(nveuZEYWB>I@MRTlhhvCh<%GBhK85<3*I^J=lS8@&oB3W?m3@xKA&@cz2=M3 z(lpcr06@$8qUUuLHvd%`YO2m`|AbWmDD^tZ9bgO?F9U!^gSY2-{|xMU<^02`Q_y?g zZypUTci1O6t6|JM%qPNgW#19XX9nHnVwqGbJ)Aey{yI$r;d_^Q$ivkE1D)%x0H6BN z0|E4$OHc>SrezhVM;KgO2Y?15Y#V@rsV0DEY}*V@xN(XD2C7`#UW09*wdnxCulIfi zkbief8@RQyrvu~L{A&^f_?nn5fDF|BCjEajjX2KVR2-CBFom}(VwG0Ny~V@8l`V$2 zI@T=4g74VDAtbBC+eV3>RFnIcLa9AnkMGn(lY9WQ$W8ZCH905`+1oTWAJ*qO*gDt; zC`8Cc`u?=J-AC1Yb{}lB=7rSyAXNJn^GZf=_zQanpJvxL8H!KUu@gPt5Ms$yCdm`$ z#%x_Z4g@tk{LTPtO-cbw^Kk#B=H?zEq#{X0lr7cR58KmPUZ#B6`;`@fb>NcHvWLXE zRsN@~eAJFWk3^777f`FY&j!&jT3vS-xj(Mi?R9^Xvwd5dvdl@^i8dtQb?}#E=$YXc z8bCY3Fd#x4#+zN++kc(?C7;)BkoHXygv}MoLwj&P4NhO?Wf#j6As-gnCHs`N+cBHe zV2$Io@16tz{l_AZT;zNv8x!0%lf!)XOdRx9@As(ZvJ4WW7hKHkjB&&y6$V{H9_+lI z5dX0Q#~|aVI*3IK&aROG_lJjdxl7|JAo$vuRAm@83nD7xRpQQ_zRT`5i$8B{;ZULn z=t-(&cfE^4P7)Ob*e|w-?^q+0vcw=cw-MGo1|IZ(WvHD}(Z@$ zD}=#cCAIsKi#+Q_`C_VG*=>;TGoZ zVDb2a-N^@nP1GG)f}a=3N~M=(aQ9@_frwd_KqBlykS7S+M2Xb-m1@@ zKK*SIr6_&bKXjLt<&&B?$1~#Z>OIqQq9xIsXj*F~y0jG4aoZJx%J`6#l_)BfN24cg z*}bh$vK{2U#Wf}N&cO<@<~?qG=P?Dbg7xflMiZ%oD7OMg`2+CScOn6oj(*j})YEW$ zE$+8T{V1dT`6GzYzby0Okm-~(w&3|OyyK&%9Dykajb%Y%dFjmJgn$^Iy4FyZdeU(@ z+U>D*fTJF1pMgISabm00oD{~g z*+yv|IH_70qHf_ZE+Bn?lT|-EFE?+^ zIud2gI8u7=doqGl4BFjUzo6UxK|xa#Siyc$M_RQX>S|9>&9Ga_{8^@4#n84JL9+_U zt_sOvtS4t5iC&O#;c)?p_Umt4HxNUM9ZXE70>gVWvSVtr)|a+m%WtRrFaPn zK+r;YhZtoUZQ~A#x#BgBU-UGHpV@v|N&apQF0#KjyvjmDTyq;N!zcU{mfKK1{Stz< zNZXGkY!$xg1rUiNr6uAZX16n(;JN|ca%y3R8xhvAwsud!fU(V&Ur(3-5nX{r&?Nv+ eheEv5)eiv+by3Jpg3n+73*ddh*OTEMk@sKTJ11iR literal 0 HcmV?d00001 diff --git a/apps/exactwords/0634.png b/apps/exactwords/0634.png new file mode 100644 index 0000000000000000000000000000000000000000..e04ffa9ce49b33c69cb7bfe0dc957b37b4f85a6c GIT binary patch literal 3230 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 literal 0 HcmV?d00001 diff --git a/apps/exactwords/1616.png b/apps/exactwords/1616.png new file mode 100644 index 0000000000000000000000000000000000000000..8f9d301b866598fe8224773dce00ae4288060e04 GIT binary patch literal 3151 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 literal 0 HcmV?d00001 diff --git a/apps/exactwords/2358.png b/apps/exactwords/2358.png new file mode 100644 index 0000000000000000000000000000000000000000..8163f59b2a08f1c6d2d8d19fde45ec0ac9143124 GIT binary patch literal 2572 zcmeH}`#TeSAIHBVR&pvSCF99my3HY^$SH2Dg&b!Nk3+0R(g43*!%VA_<%b6VSY*vZe^A|k7K0iD^eBSS0-q-cMuFrLSUe_np|C!y=J6gk-^4~E?lpDeZRI`uH1F)wZX>09q+kdI}a_rJlqswM zS;?1bK+r$`hdFq6J`@U?qJJnVuui$~AV9C!^1b9K+5boX`v&fIgYC`DO+&%YpADF; zMC=&qG&V+v)PDyUg2tJvDHF(nx+E2@@WtZ+0FR&%H($)Vy8Ou|^mqSGM6ANNo=mba zWUhJUyf+aM{(+(39b;RN2~z z>i6&Ge3(nVFJG#3Kgh46z4uFJyEUdHWrQyy-WybIk0S7lwe%L!7*` z)8vNgsgKR&Hp(i*4rjevYTSL`Sk!o<1Ot&QRV&QU54whtS2ht%9h0D!Wi~x}cU-v% zN{_8uXs0oLnEGPRYdx}>F7Y8Fu{!T(}t&}h0^3lLeuokuxF12nDy z6@Ct3W(^L5~1youd$X7 zlJd=S-oI8JI5!m-e{uEe!z<;7tIM#I4q}~dd!VDo?_U{B$p=lwKg9S!2GbvHQG6CZ z>qTZ{1VrY&L3A7Fb6voFU@^xlaukBSE(#puh9dvj5d*$5koDOu(dEo&&wKLNefg^AfL zJTqgn(CDl?Y*TLKUaL)kYJ3gZ5V2+}d)cqymH^k*xFt>c4Ta))(<|>I)-BZ3i4d_B z6o~Crp19z+Hsxh|>J{7ChzN^4czK6J3^=nzK&|B5qbiHlc)P)J{DbMP;Ck-I>}wBa zPp<*qC>)0oJA>iQ3(4u@?;DVOsRyynEfd+~+@sn5@JmIWBFUJGPd=l*MZ-%MtYSNG zBkpng>AXA_2|?w|SQSkhW0oKxC|;Hx5}B)4-|B&0k8p+rGEf_`9#xX7TWm?de>d%M zKq~TO*)Dfg1zBkUF*Mf6RsBM<17gMm6q%ZZ!;Cx_|i_ca}fY6 zTb}nq66oj#oxchNCQ-LOo=^jUq5C8a%>b*g?%tUl);pxDJQ#rhc9B{=5(>P0-V=M| zLBz~rsna>Y>OUrp*&(?R78>3U0r>|FH0mV(M=SpzQuq(PJz-3SmENifGhNRzU=rLW zdBfb>$RI3n_9?Ojs4FQbj+T^M_#uBUx1wZ!-RwQy&tl*!6}da2K8>0Q53#RV@!3dC zH}LK00dVy_qPn zKv@6yII0W3rKrpM{G^kzMaa@II{E8rmGV2S|9qj8j+P?CH+t|~3=HjXji-{>o z9F}Mf3ecW8Y_j(>9MKZ3t!IzgYGRq|I6>lJpVR87qdF{2y2rHV5q7(+pds)GDrcVu zg=#@1QIuAiK63ByWI~INXsToXnj1r`b*4ZeTuFTo^JhH zC?y}`F=C$l<=R8iVsP@IHXkzDf!kup);c-(_5^3@RoTx<_ocAtXPG8n@m$|`@tTz3$MvZp$=L$a_6CarY8Dgk zDyK=((XeM0O3{@&azd2dA?8ZkvT1p$d05VyN}ImP(nH@8SsU8);nK>0c0O1+m1Z1uZgn4EAYLxCSXA&_ zm18UCM;xXNa0(HlR@Dnyv8=}6-mZwa`ovulCTP;`}QJ3}>jBtXEhQ;wen=o{B?=y$53Nwb9 z6ezRD5_Yk$1jH$|VD^d$yA^fK!o30Z7bC8cbE3W=quw%Q;MYSwOaL?2f69dh51KhF z2u06b14Zja!Ct@Cv^Lo45IX90Yr--lp$2ioYH&dHtCR^e(kam}Bt8D_4{sx1Rwr>Cc literal 0 HcmV?d00001 diff --git a/apps/exactwords/ChangeLog b/apps/exactwords/ChangeLog new file mode 100644 index 000000000..2396003c4 --- /dev/null +++ b/apps/exactwords/ChangeLog @@ -0,0 +1 @@ +0.1: New App! Need to work out locale diff --git a/apps/exactwords/README.md b/apps/exactwords/README.md new file mode 100644 index 000000000..86d39b55c --- /dev/null +++ b/apps/exactwords/README.md @@ -0,0 +1,31 @@ +# Exact Words + +This is a clock for expressing the time in exact words. Each minute of +the day has a different phrase. + +Ranging form "Twelve" to "Coming up to midnight" to "A little after +twenty-five past four in the early hours" + +Screenshots best demonstrate + +![1200.png](1200.png) +![2358.png](2358.png) +![1616.png](1616.png) +![0100.png](0100.png) +![0634.png](0634.png) +![1517.png](1517.png) + + +## To Do + +Add localisation. + + +## Requests + +Written by: [Brendan Sleight](https://github.com/bmsleight/) For support and discussion please post in the Bangle JS Forum + + +## Creator + +[Brendan Sleight](https://github.com/bmsleight/) diff --git a/apps/exactwords/app-icon.js b/apps/exactwords/app-icon.js new file mode 100644 index 000000000..49232b838 --- /dev/null +++ b/apps/exactwords/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA==")) diff --git a/apps/exactwords/app.js b/apps/exactwords/app.js new file mode 100644 index 000000000..3e7842133 --- /dev/null +++ b/apps/exactwords/app.js @@ -0,0 +1,226 @@ +// timeout used to update every minute +var drawTimeout; + +// https://www.espruino.com/Bangle.js+Locale + +// schedule a draw for the next minute +function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, 60000 - (Date.now() % 60000)); +} + +function wordsFromTime(h, m) +{ + + // Tests +/* +// Example 12:00 = Twelve +// h = 12; +// m = 0; + // Example 23:58 = Coming up to midnight +// h = 23; +// m = 58; + // Example 12:15 = Quarter past twelve +// h = 12; +// m = 15; + // Example 04:16 = Just gone quarter past four +// h = 16; +// m = 16; + // Example 01:00 = One at night +// h = 1; +// m = 0; + // Example 17:01 = Just gone five in the afternoon +// h = 17; +// m = 1; + // Example 05:25 = Twenty-five past five in the early hours +// h = 23; +// m = 33; + // Example 22:33 = coming up to eleven at night + // max + //words = "a little after twenty-five past four in the early hours"; +// h = 04; +// m = 27; +*/ + + + const HOUR_WORD_ARRAY = [ + "midnight", "one", "two", "three", "four", "five", "six", "seven", + "eight", "nine", "ten", "eleven", "twelve", "one", "two", "three", + "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", + "midnight"]; + const PART_DAY_WORD_ARRAY = ["", + " at night", + " in the early hours", + " in the early hours", + " in the early hours", + " in the early hours", + " in the morning", + " in the morning", + " in the morning", + " in the morning", + " in the morning", + " in the morning", + "", + " in the afternoon", + " in the afternoon", + " in the afternoon", + " in the afternoon", + " in the afternoon", + " in the evening", + " in the evening", + " in the evening", + " in the evening", + " at night", + " at night", + ""]; + const MINUTES_ROUGH_ARRAY = ["", + "five past ", + "ten past ", + "quarter past ", + "twenty past ", + "twenty-five past ", + "half past ", + "twenty-five to ", + "twenty to ", + "quarter to ", + "ten to ", + "five to ", + ""]; + const MINUTES_ACCURATE_ARRAY = ["", "just gone ", "a little after ", "coming up to ", "almost "]; + + var hourAdjusted = h; + var words = " ", hourWord = " ", partDayWord = " ", minutesRough = " ", minutesAccurate = " ", days = " "; + + // At 33 past the hours we start referign to the next hour + if (m > 32) { + hourAdjusted = (h+ 1) % 24; + } else { + hourAdjusted = h; + } + + hourWord = HOUR_WORD_ARRAY[hourAdjusted]; + partDayWord = PART_DAY_WORD_ARRAY[Math.round(hourAdjusted)]; + minutesRough = MINUTES_ROUGH_ARRAY[Math.round((m + 0 ) / 5)]; + minutesAccurate = MINUTES_ACCURATE_ARRAY[m % 5]; + + words = minutesAccurate + minutesRough + hourWord + partDayWord; + words = words.charAt(0).toUpperCase() + words.slice(1); + return words; +} + +function wordsFromDayMonth(day, date, month) +{ + // Tests + +// Example 12:00 = Twelve +// New Year's Day +// date = 1; +// month = 0; +// on the Ides of March +// date = 15; +// month = 2; +// , ERROR C Nonsense in BASIC +// date = 1; +// month = 3; +// - O'Canada +// date = 1; +// month = 6; +// - on Halloween +// date = 31; +// month = 9; +// - Christmas Eve +// date = 24; +// month = 11; +// - Christmas Day +// date = 25; +// month = 11; +// - Boxing day +// date = 26; +// month = 11; +// New Year's eve +// date = 31; +// month = 11; +// longest +// date = 29; +// month = 10; + + + const DAY_WORD_ARRAY = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + const DATE_WORD_ARRAY = ["zero", "first", "second", "third", "fourth", "fifth", "sixth", "seventh","eighth", "ninth", "tenth", "eleventh", "twelfth", "thirteenth", "fourteenth", "fifteenth","sixteenth", "seventeenth", "eighteenth", "nineteenth", "twentieth", "twenty-first", "twenty-second", "twenty-third","twenty-fourth", "twenty-fifth", "twenty-sixth", "twenty-seventh", "twenty-eighth", "twenty-ninth", "thirtieth", "thirty-first"]; + const MONTH_WORD_ARRAY = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + var words = " "; + words = DAY_WORD_ARRAY[day] + ", " + DATE_WORD_ARRAY[date] + " of " + MONTH_WORD_ARRAY[month]; + if ((date == 1) && (month == 0)) { + words = "New Year's Day"; + } else if ((date == 15) && (month == 2)) { + words = DAY_WORD_ARRAY[day] + " on the Ides of March"; + } else if ((date == 1) && (month == 3)) { + words = DAY_WORD_ARRAY[day] + ", ERROR C Nonsense in BASIC"; + } else if ((date == 1) && (month == 6)) { + words = DAY_WORD_ARRAY[day] + " - O'Canada"; + } else if ((date == 31) && (month == 9)) { + words = DAY_WORD_ARRAY[day] + " - on Halloween"; + } else if ((date == 24) && (month == 11)) { + words = "Christmas Eve"; + } else if ((date == 25) && (month == 11)) { + words = "Christmas Day"; + } else if ((date == 26) && (month == 11)) { + words = "Boxing Day"; + } else if ((date == 31) && (month == 11)) { + words = "New Year's eve"; + } + return words; +} + +function draw() { + var x = g.getWidth()/2; + var y = g.getHeight()/2; + g.reset(); + + var d = new Date(); + var h = d.getHours(); + var m = d.getMinutes(); + var day = d.getDay(); + var date = d.getDate(); + var month = d.getMonth(); + + var timeStr = wordsFromTime(h,m); + var dateStr = wordsFromDayMonth(day, date, month); + + // draw time + // TO DO: Set Theme + g.setBgColor("#000000"); + g.setColor("#ffffff"); + g.clear(); + g.setFontAlign(0,0).setFont("Vector",24); + g.drawString(g.wrapString(timeStr, g.getWidth()).join("\n"),x,y-24*0); + // draw date + + g.setFontAlign(0,0).setFont("Vector",12); + g.drawString(g.wrapString(dateStr, g.getWidth()).join("\n"),x,y+12*6); + // queue draw in one minute + queueDraw(); +} + +// Clear the screen once/, at startup +g.clear(); +// draw immediately at first, queue update +draw(); +// Stop updates when LCD is off, restart when on +Bangle.on('lcdPower',on=>{ + if (on) { + draw(); // draw immediately, queue redraw + } else { // stop draw timer + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + } +}); + +// Show launcher when middle button pressed +Bangle.setUI("clock"); +// Load widgets +Bangle.loadWidgets(); +Bangle.drawWidgets(); diff --git a/apps/exactwords/app.png b/apps/exactwords/app.png new file mode 100644 index 0000000000000000000000000000000000000000..582cb2e0853a5a2899a3afbd7eb19cde2ee7f6a0 GIT binary patch literal 1620 zcmV-a2CMmrP)1gXjloC|3_d8m;N2OpV(|i0q4YwBna<2! zK9thw%-*|urnNbV{Gax^?eD+#{x0kLJ~)lj_;W+1>qV*k8akT^^dvctZccUyj4}H~#M%Wwee_v` zHMv7o%BM8@dBrLshn{wGD9BDl?^eV5vSM3T96;NnHvtc6La=(qzq)xrX1d8bK-TN- zrd_f$_O`9nEmS+_S7HTXK<&u;LDIW|qlN&KJvM}tt6TVVqL-AvNv`B*{NzNpBfSQwQP5~Sf(Dp@Vq1+3Q`N9wBQN2`J_?M^u0FIMlt?p^8 z%U3%80kIwg!T{E9<8J18S&$k1`eO)@HP+=TZKo(z3_A3VFYJB=sn`2^Q$mRE>02(+W)np;)L1!GUvU2{O{<&F_nE6Qe#D~Xf|dD z+?d3-D1(IUiL`C2;PPv4CKw8H)v7h8^obJ&Z6D0CjVUe8Xq_NAymxUyPAMU^CCrIu z%1M71EC`5o2if_~7E&h??0jeQ1Y3N6p?}G72FmS*)xQD)%wBE=2tW6@(+MTi!fk9H1pWKew2(jTXVu4%vk26QvSQCbGmk`Z)Y! zBIhh)6vG2)h6mF8wC^|l$M(Eo9D?JiW}=_T2jUA>LC80foTera{^p)Wi`>}Gf;(|ZwEZQ zS^k|*9wyt=f4ZOo!xty7{%}HKD9tBZ50g$=%v&&vMa!#@Nsf>EkEEDA*ST6fiC+An zsNK1#>!x0obq@j$QqYU-ad3ZvbjqUU+%iw(0WahgmHV6yeLWqoYkSl4pzFQ(_Vp&I ztO{WI-48rGLwQb?#vgVvduyd9_6W)rFRoQJq3I(J?{Xmin45#=3l9BmL6Bp<*MZej zrsWN7oRPUr7IvrHoIHOjS=gPTCw>d)^LQK+B|=f2qbGjrWaOd5D<<9Dv>MTW0X3z> zyPy}9`<>1~?NCx@m8G$_@rRTy5zH12YM&P)=tU+L^fgY z^0Z&_6^qdVuwgN3wt_Ze(10?J@%{C2grBk42hsu74qEo^nd&v`X`IHN9lrxzS~GeF S(*#!l0000 Date: Sat, 28 Sep 2024 23:37:34 +0100 Subject: [PATCH 02/13] Typo --- apps/exactwords/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index 95d5fb5ba..064d83e14 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -1,6 +1,6 @@ { "id": "exactwords", - "name": "Exect Words Clock", - "shortName":"Exect Words", + "name": "Exact Words Clock", + "shortName":"Exact Words", "version":"0.1", "description": "Each minute of the day has a different phrase. ", "icon": "app.png", From a2025e9bacededa40a4e930b16d76d9a1b3b4f14 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 17:52:01 +0100 Subject: [PATCH 03/13] Correcting typos and adding icon --- apps/exactwords/2020.png | Bin 0 -> 2901 bytes apps/exactwords/ChangeLog | 2 +- apps/exactwords/README.md | 10 +++++++--- apps/exactwords/app-icon.js | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 apps/exactwords/2020.png diff --git a/apps/exactwords/2020.png b/apps/exactwords/2020.png new file mode 100644 index 0000000000000000000000000000000000000000..70296db5c1d61873c2a8b3d82197e1fb7bc0f0f6 GIT binary patch literal 2901 zcmdUx`#%%>&WRytz4sX+;XWFq2_XmY{^t8Or1n?A4llWYLrYa8<}n**D{+Xe0~3l@8kQ!`}O+i_4?)gct4)+8y*;E1vzaw0DywaQMA{l zH~x2Iq&Bso<@1?MgG6{a9|HAnbfy82S8_ogJV87&S27nfR;}n%wAwLM9DId=b5)T5 z9)6ObTf%}{XKCeBKUZRUZ6025vN zVrjf4st$nLih6HgW{5m*Kyph{`U=sMay0~OYFFA4K)|SKV1oOhD;lIGapl0}>BSER zK$qi1ICy+@Y7_ z0E(#&`kDuQI9Ge#_9`@1dZ$KQBlnI@GWFH9?m#Y^nQL{*w0hmgr3L{VM52>fa(&)3 zrHmH{`gTAh5OM@h$UV$Blvk8H|zOZ^D*-tFqGNuRTa9F8S-bw$!CH=d#>V_o9=m?ZWfEEbXqHi zrrWm#GU1RVyavWX2z4}{YefR;>wK*hV-UJDrq+8>vyMrjjwc+KVx*V7N9hjJks198 zE<2~P=lpFx=7fBDNzpEJtIRsF{o>!;sJAbRO-*;~Bsmz4L>yC1a-FG=t@m4inb$1n zcNXzlf(B6R(geOsmzM9!5a^qrK-*Pg6g*6Cjf>7a(6_x6DV;ZutQBk1{H{<_TH$Pc zl{#lfijn1BU8iI$Z758BFuBZF&a`=GZmc?Ke>;Uh{}FJ6HvRh($u11G(32Fb^_)rd z4WKawTq$Zqd z6}sA-Wrlm|aU~_ncVohVb9Z^_BqZGeS{N_@OAm~5L-rK}GvIh&Psa!p!~`&I-E_g} zhG=wpH5^B=_T|rtLT}pv%o{cnszyJTG{D_ulMv+qr0}jXgnV7YF^TyNs^3QY;;bO0 z?UQ)PH@ey&uw{KgUGI;Q)fw8bq0e$oH@2T++u^?Y4q+twfW@oy(>wldsl9r5-POZr zbAdOuhz52;8;3RAGb@$~mfc{)UE_V6X?sJWciKfpOzgPmEEW-o zQer}#9e1YJzz(>gY=u9%ty)2qfvY-u+^Ck|qW#PkdX{A&-ttk=AceBCmRb5$c9K&r zo+_dw*Xe1t1K5^wQuQlp0N)WLe4Gu<0xJ)6gR^ptm#Ng_tN7;@4sz;tv6CK@(H*BkB)o7ejpQ zK304g^qeWr%+$L-^_2VtA_~vKdUFATtO1cBtrefMaZ7SW4TEU z&z1#EJusao86urD-|$7J9n=&nX<-g4C?dzX_>*KZl$ zw?G6sigh*TcnF^nV%c0l|sidS0ya^pb?n_Sr>z8;y}*|9-zLTj&P#FhT*2q52r{eSfyV z{C;IuA!vB?2(efVV+#}E^{4jxz}o&P2_)fEB$saIB@A=OyvS*62NGST$%bdB=dVc7m0wtF#oH8y+x7jZD5oQ7yz#UkGwZkB1YDA<`z zT`;kST0Oe>&>}d79M_-YG*cDX(!4UiY|v^;?)K%d^*i||TaaGvZ*j!78XSi`H*|o% z-Fb~{e`mqV{~}U!XdpNO%(s`*8<-L-=g!UMgpGHO{-uAcd<|~)b5XuH>fa<-Pjq zFYnS2&{1P+a8AnE80&Y z!H&N635+*YFKnIl8=du=%>D490=!X{DH3~6sDZxl`tlF2UXr!`tXQhyE_?^#$j|ky z<}e1L=%iz&qhE#%LHKiRh<;$#RBm(s zq5g3MlGV{q*;Zj>VyDT6JHu_Wq=~|94`1hTqiXEpx%J|VAZfO@zagom=Yt8iSuQs2(kX7isa3Yft`B2At-QLEfAaJI= zvMF=V&pTzK?+NzyFlQJ$+xx_mh*e1AJxfq3fA;ErK;G-zfkOdyiwq2d-aNbqSA@*# jP!N}4Hi15ov;p}y!|OKh;1~4fpA1}%V9@o4@X7xHjq!1A literal 0 HcmV?d00001 diff --git a/apps/exactwords/ChangeLog b/apps/exactwords/ChangeLog index 2396003c4..189c6233b 100644 --- a/apps/exactwords/ChangeLog +++ b/apps/exactwords/ChangeLog @@ -1 +1 @@ -0.1: New App! Need to work out locale +0.1: New App! Need to work out locale settings diff --git a/apps/exactwords/README.md b/apps/exactwords/README.md index 86d39b55c..9b5babedb 100644 --- a/apps/exactwords/README.md +++ b/apps/exactwords/README.md @@ -3,7 +3,7 @@ This is a clock for expressing the time in exact words. Each minute of the day has a different phrase. -Ranging form "Twelve" to "Coming up to midnight" to "A little after +Ranging from "Twelve" to "Coming up to midnight" to "A little after twenty-five past four in the early hours" Screenshots best demonstrate @@ -11,16 +11,20 @@ Screenshots best demonstrate ![1200.png](1200.png) ![2358.png](2358.png) ![1616.png](1616.png) -![0100.png](0100.png) ![0634.png](0634.png) ![1517.png](1517.png) +![2020.png](2020.png) +"just gone " - as in Just gone quarter past four is 16:16 +"a little after ", as in A little after quarter past three is 15:17 +"coming up to ", as in Coming up to midnight is 23:58 +"almost " as in Almost twenty-five to seven is 06:34 + ## To Do Add localisation. - ## Requests Written by: [Brendan Sleight](https://github.com/bmsleight/) For support and discussion please post in the Bangle JS Forum diff --git a/apps/exactwords/app-icon.js b/apps/exactwords/app-icon.js index 49232b838..46f66c0f3 100644 --- a/apps/exactwords/app-icon.js +++ b/apps/exactwords/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA==")) +require("heatshrink").decompress(atob("2GwgJC/AH4A/AH4A/AH4A/AH4A/AH4A/AH4A/AH4AHnACC8PAuAGCAAUIuAVTnAVHvgVLvAVLgIVH+AVU8AVH9wVKA4QVK8f4/04hgHBgwHCgcB7AVLn4HBj4HCh/B/w0D44VGv+AgE/A4Uf8P/Co6ZDufAgE5A4Uc+PnDwIVJAYMAuAHDuPCFYUD/4aBCon/Cos/+IHBCtsHXIIVB8HgnADBBYIVCA4IPCCo/4n04vwLBn4VBn0fwIVJvEeV4IVEj0f4IVDh0AHQIVBnEObYgVBhzbBCoYA/AH4AKjgKJnAV/CuM3jk4hvHsE/wHAuwLBncAjYHBv4VD/4VBn/H/E/wfwv+AgE/CQIHCCgUBCoV/4/8n+H/F/4AVB8H/A4QVD54VBufHz0cg88vPggE8+Hnw88K4cDw4VB8PHhEch0cuBBBnFx4ePhAVJQYMP/lwPwQVC8AVTK4IVTwP8CpUOh0ACouEnjQDTIMPRYIVBh+H8AVCn/w/+P/kfCpMHw/wCoavDh7bEg7YBCoMDaYIVDbYcHCoYEEAAxoDAAoV/Cq4AVjjVBAAoHDhw5HCugZECuc/x3Au0AmEBwARBnYMBj/HsEDCouP+F/wH8g/gCoM/4AVC/EPAoIVE/F/4P+h/wCoQZBCoP8j4FBK4cPnl58PPh14CoM8DIUHz0cAoJtEjlwweHjk4CIM4uAVCAoYVGgf/j/4Co8/FZAVnhwVDwEcBAQVCg5XCV4kPxwVBgKlDConHh0fZ4IACg4VD/kPYoQVCgYVCYokDCoUAbYgVCgIVBbYoA/AH4AHhCTBACSpCACV4CqnwCqngCqcB4AVSg3j/H+gcB7EO4EGgEwjuACo8fCoUP4ICB+EfwH8j/gCo8/CoUf8P/h/4n4aBj/wCo858JXBjnx8+PngIB58evAVHuAVCnFx4UOjlw8eHjk4Cpc/+PACvs4nDJBCp0/CoM+j+BCoQIB/4VMj0f4IVDV4IVJYIIRBbYIVCbYQVJAH4A/AH4A/AH4A/AA8D4EIAgMgAQMBBYQJChECgQMBgPAg1gCpkAComAggLDCp8Ag+Hz2J8Pj5lAgfZmePj3E+eI+fH3kA8fAgfNxGJ2dm4nAgML0wJBpn25OzsU2gOxGQNoCoMCklGwEBh/n5GItEH5MSkUigMRgEEColDCoMO8kIxE4gkJCosH5+O/MD8/DgkB43HxGOmEHxPykeigPxN4OCw0pgGhoaKB43BhGGmEBhFSkOigFBZY0GhgGEsAkB+DhKFQIAEoACB8D/SAB14agIEBiAVP5gVUwAVU+Hj4+cv+ejhIBABl5f4Vu7c2tgVNhvykU+onRnyaCABeNgUikAVBkAVO/Pj8e8onfngVOmFCwOIonUhAVOTAYASCqoA/AB4A==")) From add8b5ff89ae3e0d294db9586676c7dcf040e0b5 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 18:33:29 +0100 Subject: [PATCH 04/13] Correcting metadata storage --- apps/exactwords/metadata.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index 064d83e14..fe1c2261a 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -6,5 +6,9 @@ "icon": "app.png", "tags": "clock", "supports" : ["BANGLEJS2"], - "readme": "README.md" + "readme": "README.md", + "storage": [ + {"name":"ExactWords.app.js","url":"app.js"}, + {"name":"Exactwords.img","url":"app-icon.js","evaluate":true} + ] } From c557fa613977748aa0193648c00b9b7c33a47fd3 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 19:44:26 +0100 Subject: [PATCH 05/13] Correcting icons and screenshots --- apps/exactwords/app.png | Bin 1620 -> 19117 bytes apps/exactwords/metadata.json | 7 +++++++ 2 files changed, 7 insertions(+) diff --git a/apps/exactwords/app.png b/apps/exactwords/app.png index 582cb2e0853a5a2899a3afbd7eb19cde2ee7f6a0..24c06208c1459951733c5bdf09b764c41c1d7c6c 100644 GIT binary patch literal 19117 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 DH+viO diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index fe1c2261a..12f423acb 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -4,6 +4,13 @@ "version":"0.1", "description": "Each minute of the day has a different phrase. ", "icon": "app.png", + "screenshots" : [ { "url":"1517.png" }, + { "url":"0634.png" }, + { "url":"1200.png" }, + { "url":"1517.png" }, + { "url":"1616.png" }, + { "url":"2020.png" }, + { "url":"2358.png" } ], "tags": "clock", "supports" : ["BANGLEJS2"], "readme": "README.md", From edf8e18b975f717dab753dc766e23ed2bf2360fe Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 19:47:35 +0100 Subject: [PATCH 06/13] Correctung Readme --- apps/exactwords/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/exactwords/README.md b/apps/exactwords/README.md index 9b5babedb..e9b360df6 100644 --- a/apps/exactwords/README.md +++ b/apps/exactwords/README.md @@ -17,8 +17,11 @@ Screenshots best demonstrate "just gone " - as in Just gone quarter past four is 16:16 + "a little after ", as in A little after quarter past three is 15:17 + "coming up to ", as in Coming up to midnight is 23:58 + "almost " as in Almost twenty-five to seven is 06:34 ## To Do From d3b6a9f7cbd4b8f8e26ceb6d71ea895a24f82a33 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 21:05:43 +0100 Subject: [PATCH 07/13] Correctung type in metadata --- apps/exactwords/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index 12f423acb..fc974101b 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -12,6 +12,7 @@ { "url":"2020.png" }, { "url":"2358.png" } ], "tags": "clock", + "type": "clock", "supports" : ["BANGLEJS2"], "readme": "README.md", "storage": [ From 7fc3c985b8e925eaec72ad94009bf4e6deb60a42 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 21:16:03 +0100 Subject: [PATCH 08/13] Correcting js url in metadata --- apps/exactwords/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index fc974101b..5461de19d 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -16,7 +16,7 @@ "supports" : ["BANGLEJS2"], "readme": "README.md", "storage": [ - {"name":"ExactWords.app.js","url":"app.js"}, + {"name":"ExactWords.app.js","url":"ExactWords.app.js"}, {"name":"Exactwords.img","url":"app-icon.js","evaluate":true} ] } From fb6ea77f478b0538babd96e116677025647f94aa Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 21:22:21 +0100 Subject: [PATCH 09/13] Correcting js url in metadata --- apps/exactwords/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index 5461de19d..fc974101b 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -16,7 +16,7 @@ "supports" : ["BANGLEJS2"], "readme": "README.md", "storage": [ - {"name":"ExactWords.app.js","url":"ExactWords.app.js"}, + {"name":"ExactWords.app.js","url":"app.js"}, {"name":"Exactwords.img","url":"app-icon.js","evaluate":true} ] } From fad2475742910f24a6cf62b53ff7bd8891bd559c Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 21:44:00 +0100 Subject: [PATCH 10/13] Correcting js url in metadata --- apps/exactwords/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/exactwords/metadata.json b/apps/exactwords/metadata.json index fc974101b..428572632 100644 --- a/apps/exactwords/metadata.json +++ b/apps/exactwords/metadata.json @@ -16,7 +16,7 @@ "supports" : ["BANGLEJS2"], "readme": "README.md", "storage": [ - {"name":"ExactWords.app.js","url":"app.js"}, - {"name":"Exactwords.img","url":"app-icon.js","evaluate":true} + {"name":"exactwords.app.js","url":"app.js"}, + {"name":"exactwords.img","url":"app-icon.js","evaluate":true} ] } From a6d51bf370f38d0151563389c0288006a8db1ff1 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Sun, 29 Sep 2024 22:51:54 +0100 Subject: [PATCH 11/13] Correcting size of app-icon.js --- apps/exactwords/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/exactwords/app-icon.js b/apps/exactwords/app-icon.js index 46f66c0f3..a6e8dee5a 100644 --- a/apps/exactwords/app-icon.js +++ b/apps/exactwords/app-icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("2GwgJC/AH4A/AH4A/AH4A/AH4A/AH4A/AH4A/AH4AHnACC8PAuAGCAAUIuAVTnAVHvgVLvAVLgIVH+AVU8AVH9wVKA4QVK8f4/04hgHBgwHCgcB7AVLn4HBj4HCh/B/w0D44VGv+AgE/A4Uf8P/Co6ZDufAgE5A4Uc+PnDwIVJAYMAuAHDuPCFYUD/4aBCon/Cos/+IHBCtsHXIIVB8HgnADBBYIVCA4IPCCo/4n04vwLBn4VBn0fwIVJvEeV4IVEj0f4IVDh0AHQIVBnEObYgVBhzbBCoYA/AH4AKjgKJnAV/CuM3jk4hvHsE/wHAuwLBncAjYHBv4VD/4VBn/H/E/wfwv+AgE/CQIHCCgUBCoV/4/8n+H/F/4AVB8H/A4QVD54VBufHz0cg88vPggE8+Hnw88K4cDw4VB8PHhEch0cuBBBnFx4ePhAVJQYMP/lwPwQVC8AVTK4IVTwP8CpUOh0ACouEnjQDTIMPRYIVBh+H8AVCn/w/+P/kfCpMHw/wCoavDh7bEg7YBCoMDaYIVDbYcHCoYEEAAxoDAAoV/Cq4AVjjVBAAoHDhw5HCugZECuc/x3Au0AmEBwARBnYMBj/HsEDCouP+F/wH8g/gCoM/4AVC/EPAoIVE/F/4P+h/wCoQZBCoP8j4FBK4cPnl58PPh14CoM8DIUHz0cAoJtEjlwweHjk4CIM4uAVCAoYVGgf/j/4Co8/FZAVnhwVDwEcBAQVCg5XCV4kPxwVBgKlDConHh0fZ4IACg4VD/kPYoQVCgYVCYokDCoUAbYgVCgIVBbYoA/AH4AHhCTBACSpCACV4CqnwCqngCqcB4AVSg3j/H+gcB7EO4EGgEwjuACo8fCoUP4ICB+EfwH8j/gCo8/CoUf8P/h/4n4aBj/wCo858JXBjnx8+PngIB58evAVHuAVCnFx4UOjlw8eHjk4Cpc/+PACvs4nDJBCp0/CoM+j+BCoQIB/4VMj0f4IVDV4IVJYIIRBbYIVCbYQVJAH4A/AH4A/AH4A/AA8D4EIAgMgAQMBBYQJChECgQMBgPAg1gCpkAComAggLDCp8Ag+Hz2J8Pj5lAgfZmePj3E+eI+fH3kA8fAgfNxGJ2dm4nAgML0wJBpn25OzsU2gOxGQNoCoMCklGwEBh/n5GItEH5MSkUigMRgEEColDCoMO8kIxE4gkJCosH5+O/MD8/DgkB43HxGOmEHxPykeigPxN4OCw0pgGhoaKB43BhGGmEBhFSkOigFBZY0GhgGEsAkB+DhKFQIAEoACB8D/SAB14agIEBiAVP5gVUwAVU+Hj4+cv+ejhIBABl5f4Vu7c2tgVNhvykU+onRnyaCABeNgUikAVBkAVO/Pj8e8onfngVOmFCwOIonUhAVOTAYASCqoA/AB4A==")) +require("heatshrink").decompress(atob("mEwgJC/AAMEjtogFQgEMjIFB6EAh0d/eH7dwAoNrx/X4Eaju7g/boAoKkACFh9f23BzswAoO38P/0EP78/wN/0EO70WwPf2EGDYKNCguAgFAlAFDgAFBg/d3F4v3ggvz/F8lXgg/x3F8nXAPBkHEgQABn+Xs1MAoN9393/wFBqu+r++AoN021W9ytYQIQACv3/j/bz+cv+/j/0/8cgECI4MQPYWUqoYCgP//4fDiAQCAAoA=")) From aa85488155b88803249441e83a62d62bf8255885 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Mon, 30 Sep 2024 22:00:16 +0100 Subject: [PATCH 12/13] Removing unused variable --- apps/exactwords/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/exactwords/app.js b/apps/exactwords/app.js index 3e7842133..ac7139798 100644 --- a/apps/exactwords/app.js +++ b/apps/exactwords/app.js @@ -92,7 +92,7 @@ function wordsFromTime(h, m) const MINUTES_ACCURATE_ARRAY = ["", "just gone ", "a little after ", "coming up to ", "almost "]; var hourAdjusted = h; - var words = " ", hourWord = " ", partDayWord = " ", minutesRough = " ", minutesAccurate = " ", days = " "; + var words = " ", hourWord = " ", partDayWord = " ", minutesRough = " ", minutesAccurate = " "; // At 33 past the hours we start referign to the next hour if (m > 32) { From 87a02e3b4833ce23aa9570092b0796b2cdbf2726 Mon Sep 17 00:00:00 2001 From: Brendan Sleight Date: Wed, 2 Oct 2024 23:06:52 +0100 Subject: [PATCH 13/13] Patch by thyttan - compatible with themes --- apps/exactwords/app.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/exactwords/app.js b/apps/exactwords/app.js index ac7139798..e3547aa1d 100644 --- a/apps/exactwords/app.js +++ b/apps/exactwords/app.js @@ -191,9 +191,8 @@ function draw() { var dateStr = wordsFromDayMonth(day, date, month); // draw time - // TO DO: Set Theme - g.setBgColor("#000000"); - g.setColor("#ffffff"); + g.setBgColor(g.theme.bg); + g.setColor(g.theme.fg); g.clear(); g.setFontAlign(0,0).setFont("Vector",24); g.drawString(g.wrapString(timeStr, g.getWidth()).join("\n"),x,y-24*0);