Merge pull request #2153 from peerdavid/master

[LinuxClock] A new Clock
pull/2157/head
Gordon Williams 2022-09-30 08:32:46 +01:00 committed by GitHub
commit 3d09724859
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 458 additions and 6 deletions

View File

@ -3,4 +3,5 @@
0.03: Disable past events display from settings 0.03: Disable past events display from settings
0.04: Added awareness of allDay field 0.04: Added awareness of allDay field
0.05: Displaying calendar colour and name 0.05: Displaying calendar colour and name
0.06: Added clkinfo for clocks. 0.06: Added clkinfo for clocks.
0.07: Clkinfo improvements.

View File

@ -18,7 +18,7 @@
dateStr += entry.durationInSeconds < 86400 ? "/ " + locale.time(date,1) : ""; dateStr += entry.durationInSeconds < 86400 ? "/ " + locale.time(date,1) : "";
agendaItems.items.push({ agendaItems.items.push({
name: "agendaEntry-" + i, name: null,
get: () => ({ text: title + "\n" + dateStr, img: null}), get: () => ({ text: title + "\n" + dateStr, img: null}),
show: function() { agendaItems.items[i].emit("redraw"); }, show: function() { agendaItems.items[i].emit("redraw"); },
hide: function () {} hide: function () {}

View File

@ -1,7 +1,7 @@
{ {
"id": "agenda", "id": "agenda",
"name": "Agenda", "name": "Agenda",
"version": "0.06", "version": "0.07",
"description": "Simple agenda", "description": "Simple agenda",
"icon": "agenda.png", "icon": "agenda.png",
"screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}], "screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}],

View File

@ -1,4 +1,5 @@
0.01: Release 0.01: Release
0.02: Includeas the ha.lib.js library that can be used by other apps or clocks. 0.02: Includeas the ha.lib.js library that can be used by other apps or clocks.
0.03: Added clkinfo for clocks. 0.03: Added clkinfo for clocks.
0.04: Feedback if clkinfo run is called. 0.04: Feedback if clkinfo run is called.
0.05: Clkinfo improvements.

View File

@ -10,7 +10,7 @@
triggers.forEach((trigger, i) => { triggers.forEach((trigger, i) => {
haItems.items.push({ haItems.items.push({
name: "haTrigger-" + i, name: null,
get: () => ({ text: trigger.display, img: trigger.getIcon()}), get: () => ({ text: trigger.display, img: trigger.getIcon()}),
show: function() { haItems.items[i].emit("redraw"); }, show: function() { haItems.items[i].emit("redraw"); },
hide: function () {}, hide: function () {},

View File

@ -1,7 +1,7 @@
{ {
"id": "ha", "id": "ha",
"name": "HomeAssistant", "name": "HomeAssistant",
"version": "0.04", "version": "0.05",
"description": "Integrates your BangleJS into HomeAssistant.", "description": "Integrates your BangleJS into HomeAssistant.",
"icon": "ha.png", "icon": "ha.png",
"type": "app", "type": "app",

View File

@ -0,0 +1 @@
0.01: New App.

13
apps/linuxclock/README.md Normal file
View File

@ -0,0 +1,13 @@
# A Linux inspired clock
A linux inspired clock which also loads and shows clock_infos .
Simply click left/right to execute another command ;)
With up/down you can select an individual entry and with a click at the
center of the screen you can trigger an action if its supported (e.g. HomeAssistant).
# Thanks
Icons from <a href="https://www.flaticon.com/free-icons" title="icons">by Freepik - Flaticon</a>
## Creator
- [David Peer](https://github.com/peerdavid).

View File

@ -0,0 +1 @@
atob("JiaEAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAA//////AAAAAAAAAAAAAAAAAAD///////AAAAAAAAAAAAAAAAAA///////wAAAAAAAAAAAAAAAAAPD/8AD/8AAAAAAAAAAAAAAAAADwD/AA//AAAAAAAAAAAAAAAAAADw/w8P/wAAAAAAAAAAAAAAAAAP////D/8AAAAAAAAAAAAAAAAAD/8AD///8AAAAAAAAAAAAAAAAA/wAAD///AAAAAAAAAAAAAAAAAP8AAP///wAAAAAAAAAAAAAAAADw8P8AD/8AAAAAAAAAAAAAAAAP8AAAAA//8AAAAAAAAAAAAAAADwAAAAAA//AAAAAAAAAAAAAAAP8AAAAAAP//AAAAAAAAAAAAAA/wAAAAAAAP//AAAAAAAAAAAAAP8AAAAAAAD///AAAAAAAAAAAA/wAAAAAAAA///wAAAAAAAAAAAP8AAAAAAAAA///wAAAAAAAAAA/wAAAAAAAAAP//8AAAAAAAAAAP8AAAAAAAAAD///8AAAAAAAAAD/AAAAAAAAAAD///AAAAAAAAAP8AAAAAAAAAAA///wAAAAAAAAD/AAAAAAAAAAAP//8AAAAAAAAA//AAAAAAAAAA////AAAAAAAAAP/wAAAAAAAAD////wAAAAAAAA8A/wAAAAAAAA////8AAAAAAA/wAA/wAAAAAAAPD///8AAAAA/wAAAP/wAAAAAADw//APAAAAAPAAAAAP/wAAAAAA8AAAD/AAAADwAAAAD/8AAAAAD/AAAAD/AAAA8AAAAAD/AAAAAP/wAAAADwAAAPAAAAAADwAAAP//AAAAD/AAAAD/AAAAAA///////wAAD/8AAAAAD///AAAP//////8AAP8AAAAAAAAAD//w/wAAAAAP8P8AAAAAAAAAAAAAD/AAAAAAAP/wAAAAAA")

367
apps/linuxclock/app.js Normal file

File diff suppressed because one or more lines are too long

BIN
apps/linuxclock/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,18 @@
{
"id": "linuxclock",
"name": "Linux Clock",
"version": "0.01",
"description": "A Linux inspired clock.",
"readme": "README.md",
"icon": "app.png",
"screenshots": [{"url":"screenshot.png"}, {"url":"screenshot_2.png"}],
"type": "clock",
"tags": "clock",
"supports": ["BANGLEJS2"],
"allow_emulator": true,
"storage": [
{"name":"linuxclock.app.js","url":"app.js"},
{"name":"linuxclock.img","url":"app-icon.js","evaluate":true},
{"name":"linuxclock.settings.js","url":"settings.js"}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,50 @@
(function(back) {
const SETTINGS_FILE = "bwclk.setting.json";
// initialize with default settings...
const storage = require('Storage')
let settings = {
screen: "Normal",
showLock: true,
hideColon: false,
};
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
for (const key in saved_settings) {
settings[key] = saved_settings[key]
}
function save() {
storage.write(SETTINGS_FILE, settings)
}
var screenOptions = ["Normal", "Dynamic", "Full"];
E.showMenu({
'': { 'title': 'BW Clock' },
'< Back': back,
'Screen': {
value: 0 | screenOptions.indexOf(settings.screen),
min: 0, max: 2,
format: v => screenOptions[v],
onchange: v => {
settings.screen = screenOptions[v];
save();
},
},
'Show Lock': {
value: settings.showLock,
format: () => (settings.showLock ? 'Yes' : 'No'),
onchange: () => {
settings.showLock = !settings.showLock;
save();
},
},
'Hide Colon': {
value: settings.hideColon,
format: () => (settings.hideColon ? 'Yes' : 'No'),
onchange: () => {
settings.hideColon = !settings.hideColon;
save();
},
}
});
})