mirror of https://github.com/espruino/BangleApps
Use default Bangle formatter for booleans
parent
3bddcd402d
commit
42c2b5c8a2
|
@ -5,3 +5,4 @@
|
||||||
0.05: Battery optimisation, add the pause option, bug fixes
|
0.05: Battery optimisation, add the pause option, bug fixes
|
||||||
0.06: Add a temperature threshold to detect (and not alert) if the BJS isn't worn. Better support for the peoples using the app at night
|
0.06: Add a temperature threshold to detect (and not alert) if the BJS isn't worn. Better support for the peoples using the app at night
|
||||||
0.07: Fix bug on the cutting edge firmware
|
0.07: Fix bug on the cutting edge firmware
|
||||||
|
0.08: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"name": "Activity Reminder",
|
"name": "Activity Reminder",
|
||||||
"shortName":"Activity Reminder",
|
"shortName":"Activity Reminder",
|
||||||
"description": "A reminder to take short walks for the ones with a sedentary lifestyle",
|
"description": "A reminder to take short walks for the ones with a sedentary lifestyle",
|
||||||
"version":"0.07",
|
"version":"0.08",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
"tags": "tool,activity",
|
"tags": "tool,activity",
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
"< Back": () => back(),
|
"< Back": () => back(),
|
||||||
'Enable': {
|
'Enable': {
|
||||||
value: settings.enabled,
|
value: settings.enabled,
|
||||||
format: v => v ? "Yes" : "No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.enabled = v;
|
settings.enabled = v;
|
||||||
activityreminder.writeSettings(settings);
|
activityreminder.writeSettings(settings);
|
||||||
|
@ -38,9 +37,7 @@
|
||||||
settings.maxInnactivityMin = v;
|
settings.maxInnactivityMin = v;
|
||||||
activityreminder.writeSettings(settings);
|
activityreminder.writeSettings(settings);
|
||||||
},
|
},
|
||||||
format: x => {
|
format: x => x + "m"
|
||||||
return x + " min";
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
'Dismiss delay': {
|
'Dismiss delay': {
|
||||||
value: settings.dismissDelayMin,
|
value: settings.dismissDelayMin,
|
||||||
|
@ -49,9 +46,7 @@
|
||||||
settings.dismissDelayMin = v;
|
settings.dismissDelayMin = v;
|
||||||
activityreminder.writeSettings(settings);
|
activityreminder.writeSettings(settings);
|
||||||
},
|
},
|
||||||
format: x => {
|
format: x => x + "m"
|
||||||
return x + " min";
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
'Pause delay': {
|
'Pause delay': {
|
||||||
value: settings.pauseDelayMin,
|
value: settings.pauseDelayMin,
|
||||||
|
@ -61,7 +56,7 @@
|
||||||
activityreminder.writeSettings(settings);
|
activityreminder.writeSettings(settings);
|
||||||
},
|
},
|
||||||
format: x => {
|
format: x => {
|
||||||
return x + " min";
|
return x + "m";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'Min steps': {
|
'Min steps': {
|
||||||
|
|
|
@ -9,3 +9,4 @@
|
||||||
0.08: Handling of alarms
|
0.08: Handling of alarms
|
||||||
0.09: Alarm vibration, repeat, and auto-snooze now handled by sched
|
0.09: Alarm vibration, repeat, and auto-snooze now handled by sched
|
||||||
0.10: Fix SMS bug
|
0.10: Fix SMS bug
|
||||||
|
0.11: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "android",
|
"id": "android",
|
||||||
"name": "Android Integration",
|
"name": "Android Integration",
|
||||||
"shortName": "Android",
|
"shortName": "Android",
|
||||||
"version": "0.11",
|
"version": "0.12",
|
||||||
"description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.",
|
"description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,system,messages,notifications,gadgetbridge",
|
"tags": "tool,system,messages,notifications,gadgetbridge",
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
}),
|
}),
|
||||||
/*LANG*/"Keep Msgs" : {
|
/*LANG*/"Keep Msgs" : {
|
||||||
value : !!settings.keep,
|
value : !!settings.keep,
|
||||||
format : v=>v?/*LANG*/"Yes":/*LANG*/"No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.keep = v;
|
settings.keep = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
|
@ -10,3 +10,4 @@
|
||||||
week is buffered until date or timezone changes
|
week is buffered until date or timezone changes
|
||||||
0.07: align default settings with app.js (otherwise the initial displayed settings will be confusing to users)
|
0.07: align default settings with app.js (otherwise the initial displayed settings will be confusing to users)
|
||||||
0.08: fixed calendar weeknumber not shortened to two digits
|
0.08: fixed calendar weeknumber not shortened to two digits
|
||||||
|
0.09: Use default Bangle formatter for booleans
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "antonclk",
|
"id": "antonclk",
|
||||||
"name": "Anton Clock",
|
"name": "Anton Clock",
|
||||||
"version": "0.08",
|
"version": "0.09",
|
||||||
"description": "A clock using the bold Anton font, optionally showing seconds and date in ISO-8601 format.",
|
"description": "A clock using the bold Anton font, optionally showing seconds and date in ISO-8601 format.",
|
||||||
"readme":"README.md",
|
"readme":"README.md",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
(function(back) {
|
(function(back) {
|
||||||
var FILE = "antonclk.json";
|
var FILE = "antonclk.json";
|
||||||
// Load settings
|
|
||||||
var settings = Object.assign({
|
var settings = Object.assign({
|
||||||
secondsOnUnlock: false,
|
secondsOnUnlock: false,
|
||||||
}, require('Storage').readJSON(FILE, true) || {});
|
}, require('Storage').readJSON(FILE, true) || {});
|
||||||
|
@ -41,7 +40,6 @@
|
||||||
"Date": stringInSettings("dateOnMain", ["Long", "Short", "ISO8601"]),
|
"Date": stringInSettings("dateOnMain", ["Long", "Short", "ISO8601"]),
|
||||||
"Show Weekday": {
|
"Show Weekday": {
|
||||||
value: (settings.weekDay !== undefined ? settings.weekDay : true),
|
value: (settings.weekDay !== undefined ? settings.weekDay : true),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.weekDay = v;
|
settings.weekDay = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -49,7 +47,6 @@
|
||||||
},
|
},
|
||||||
"Show CalWeek": {
|
"Show CalWeek": {
|
||||||
value: (settings.calWeek !== undefined ? settings.calWeek : false),
|
value: (settings.calWeek !== undefined ? settings.calWeek : false),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.calWeek = v;
|
settings.calWeek = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -57,7 +54,6 @@
|
||||||
},
|
},
|
||||||
"Uppercase": {
|
"Uppercase": {
|
||||||
value: (settings.upperCase !== undefined ? settings.upperCase : true),
|
value: (settings.upperCase !== undefined ? settings.upperCase : true),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.upperCase = v;
|
settings.upperCase = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -65,7 +61,6 @@
|
||||||
},
|
},
|
||||||
"Vector font": {
|
"Vector font": {
|
||||||
value: (settings.vectorFont !== undefined ? settings.vectorFont : false),
|
value: (settings.vectorFont !== undefined ? settings.vectorFont : false),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.vectorFont = v;
|
settings.vectorFont = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -82,7 +77,6 @@
|
||||||
"Show": stringInSettings("secondsMode", ["Never", "Unlocked", "Always"]),
|
"Show": stringInSettings("secondsMode", ["Never", "Unlocked", "Always"]),
|
||||||
"With \":\"": {
|
"With \":\"": {
|
||||||
value: (settings.secondsWithColon !== undefined ? settings.secondsWithColon : true),
|
value: (settings.secondsWithColon !== undefined ? settings.secondsWithColon : true),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.secondsWithColon = v;
|
settings.secondsWithColon = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -90,7 +84,6 @@
|
||||||
},
|
},
|
||||||
"Color": {
|
"Color": {
|
||||||
value: (settings.secondsColoured !== undefined ? settings.secondsColoured : true),
|
value: (settings.secondsColoured !== undefined ? settings.secondsColoured : true),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.secondsColoured = v;
|
settings.secondsColoured = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -99,9 +92,6 @@
|
||||||
"Date": stringInSettings("dateOnSecs", ["Year", "Weekday", "No"])
|
"Date": stringInSettings("dateOnSecs", ["Year", "Weekday", "No"])
|
||||||
};
|
};
|
||||||
|
|
||||||
// Actually display the menu
|
|
||||||
E.showMenu(mainmenu);
|
E.showMenu(mainmenu);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// end of file
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
0.02: Barometer altitude adjustment setting
|
0.02: Barometer altitude adjustment setting
|
||||||
|
0.03: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "bikespeedo",
|
"id": "bikespeedo",
|
||||||
"name": "Bike Speedometer (beta)",
|
"name": "Bike Speedometer (beta)",
|
||||||
"shortName": "Bike Speedometer",
|
"shortName": "Bike Speedometer",
|
||||||
"version": "0.02",
|
"version": "0.03",
|
||||||
"description": "Shows GPS speed, GPS heading, Compass heading, GPS altitude and Barometer altitude from internal sources",
|
"description": "Shows GPS speed, GPS heading, Compass heading, GPS altitude and Barometer altitude from internal sources",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"screenshots": [{"url":"Screenshot.png"}],
|
"screenshots": [{"url":"Screenshot.png"}],
|
||||||
|
|
|
@ -33,12 +33,10 @@
|
||||||
'< Back': function() { E.showMenu(appMenu); },
|
'< Back': function() { E.showMenu(appMenu); },
|
||||||
'Speed' : {
|
'Speed' : {
|
||||||
value : settings.spdFilt,
|
value : settings.spdFilt,
|
||||||
format : v => v?"On":"Off",
|
|
||||||
onchange : () => { settings.spdFilt = !settings.spdFilt; writeSettings(); }
|
onchange : () => { settings.spdFilt = !settings.spdFilt; writeSettings(); }
|
||||||
},
|
},
|
||||||
'Altitude' : {
|
'Altitude' : {
|
||||||
value : settings.altFilt,
|
value : settings.altFilt,
|
||||||
format : v => v?"On":"Off",
|
|
||||||
onchange : () => { settings.altFilt = !settings.altFilt; writeSettings(); }
|
onchange : () => { settings.altFilt = !settings.altFilt; writeSettings(); }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -22,3 +22,4 @@
|
||||||
Restructure the settings menu
|
Restructure the settings menu
|
||||||
0.08: Allow scanning for devices in settings
|
0.08: Allow scanning for devices in settings
|
||||||
0.09: Misc Fixes and improvements (https://github.com/espruino/BangleApps/pull/1655)
|
0.09: Misc Fixes and improvements (https://github.com/espruino/BangleApps/pull/1655)
|
||||||
|
0.10: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "bthrm",
|
"id": "bthrm",
|
||||||
"name": "Bluetooth Heart Rate Monitor",
|
"name": "Bluetooth Heart Rate Monitor",
|
||||||
"shortName": "BT HRM",
|
"shortName": "BT HRM",
|
||||||
"version": "0.09",
|
"version": "0.10",
|
||||||
"description": "Overrides Bangle.js's build in heart rate monitor with an external Bluetooth one.",
|
"description": "Overrides Bangle.js's build in heart rate monitor with an external Bluetooth one.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
|
|
|
@ -85,14 +85,12 @@
|
||||||
'< Back': function() { E.showMenu(buildMainMenu()); },
|
'< Back': function() { E.showMenu(buildMainMenu()); },
|
||||||
'Alert on disconnect': {
|
'Alert on disconnect': {
|
||||||
value: !!settings.warnDisconnect,
|
value: !!settings.warnDisconnect,
|
||||||
format: v => settings.warnDisconnect ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
writeSettings("warnDisconnect",v);
|
writeSettings("warnDisconnect",v);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'Debug log': {
|
'Debug log': {
|
||||||
value: !!settings.debuglog,
|
value: !!settings.debuglog,
|
||||||
format: v => settings.debuglog ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
writeSettings("debuglog",v);
|
writeSettings("debuglog",v);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,3 +8,4 @@
|
||||||
0.08: Do not register as watch, manually start clock on button
|
0.08: Do not register as watch, manually start clock on button
|
||||||
read start of week from system settings
|
read start of week from system settings
|
||||||
0.09: Fix scope of let variables
|
0.09: Fix scope of let variables
|
||||||
|
0.10: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "calendar",
|
"id": "calendar",
|
||||||
"name": "Calendar",
|
"name": "Calendar",
|
||||||
"version": "0.09",
|
"version": "0.10",
|
||||||
"description": "Simple calendar",
|
"description": "Simple calendar",
|
||||||
"icon": "calendar.png",
|
"icon": "calendar.png",
|
||||||
"screenshots": [{"url":"screenshot_calendar.png"}],
|
"screenshots": [{"url":"screenshot_calendar.png"}],
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
"< Back": () => back(),
|
"< Back": () => back(),
|
||||||
'B2 Colors': {
|
'B2 Colors': {
|
||||||
value: settings.ndColors,
|
value: settings.ndColors,
|
||||||
format: v => v ? "Yes" : "No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.ndColors = v;
|
settings.ndColors = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
1.00: New App!
|
0.01: New App!
|
||||||
1.01: Use fractional numbers and scale the points to keep working consistently on whole screen
|
0.02: Use fractional numbers and scale the points to keep working consistently on whole screen
|
||||||
|
0.03: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "Touchscreen Calibration",
|
"name": "Touchscreen Calibration",
|
||||||
"shortName":"Calibration",
|
"shortName":"Calibration",
|
||||||
"icon": "calibration.png",
|
"icon": "calibration.png",
|
||||||
"version":"1.01",
|
"version":"0.03",
|
||||||
"description": "A simple calibration app for the touchscreen",
|
"description": "A simple calibration app for the touchscreen",
|
||||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
"< Back" : () => back(),
|
"< Back" : () => back(),
|
||||||
'Active': {
|
'Active': {
|
||||||
value: !!settings.active,
|
value: !!settings.active,
|
||||||
format: v => v? "On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.active = v;
|
settings.active = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -4,3 +4,4 @@
|
||||||
0.04: Change to 7 segment font, move to top widget bar
|
0.04: Change to 7 segment font, move to top widget bar
|
||||||
Better auto-update behaviour, less RAM used
|
Better auto-update behaviour, less RAM used
|
||||||
0.05: Fix error running app on new firmwares (fix #1140)
|
0.05: Fix error running app on new firmwares (fix #1140)
|
||||||
|
0.06: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -79,7 +79,6 @@ function showMenu() {
|
||||||
},
|
},
|
||||||
'Timer on': {
|
'Timer on': {
|
||||||
value: settingsChronowid.started,
|
value: settingsChronowid.started,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settingsChronowid.started = v;
|
settingsChronowid.started = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "chronowid",
|
"id": "chronowid",
|
||||||
"name": "Chrono Widget",
|
"name": "Chrono Widget",
|
||||||
"shortName": "Chrono Widget",
|
"shortName": "Chrono Widget",
|
||||||
"version": "0.05",
|
"version": "0.06",
|
||||||
"description": "Chronometer (timer) which runs as widget.",
|
"description": "Chronometer (timer) which runs as widget.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,widget",
|
"tags": "tool,widget",
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
0.01: Initial upload
|
0.01: Initial upload
|
||||||
0.02: Added scrollable calendar and swipe gestures
|
0.02: Added scrollable calendar and swipe gestures
|
||||||
0.03: Configurable drag gestures
|
0.03: Configurable drag gestures
|
||||||
|
0.04: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "clockcal",
|
"id": "clockcal",
|
||||||
"name": "Clock & Calendar",
|
"name": "Clock & Calendar",
|
||||||
"version": "0.03",
|
"version": "0.04",
|
||||||
"description": "Clock with Calendar",
|
"description": "Clock with Calendar",
|
||||||
"readme":"README.md",
|
"readme":"README.md",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
"< Back": () => back(),
|
"< Back": () => back(),
|
||||||
'Buzz(dis)conn.?': {
|
'Buzz(dis)conn.?': {
|
||||||
value: settings.BUZZ_ON_BT,
|
value: settings.BUZZ_ON_BT,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.BUZZ_ON_BT = v;
|
settings.BUZZ_ON_BT = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -59,7 +58,6 @@
|
||||||
},
|
},
|
||||||
'Red Saturday?': {
|
'Red Saturday?': {
|
||||||
value: settings.REDSAT,
|
value: settings.REDSAT,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.REDSAT = v;
|
settings.REDSAT = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -67,7 +65,6 @@
|
||||||
},
|
},
|
||||||
'Red Sunday?': {
|
'Red Sunday?': {
|
||||||
value: settings.REDSUN,
|
value: settings.REDSUN,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.REDSUN = v;
|
settings.REDSUN = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
0.01: New app
|
0.01: New app
|
||||||
0.02: Cleanup interface and add settings, widget, add skin temp reporting.
|
0.02: Cleanup interface and add settings, widget, add skin temp reporting.
|
||||||
0.03: Move code for recording to this app
|
0.03: Move code for recording to this app
|
||||||
|
0.04: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "coretemp",
|
"id": "coretemp",
|
||||||
"name": "CoreTemp",
|
"name": "CoreTemp",
|
||||||
"version": "0.03",
|
"version": "0.04",
|
||||||
"description": "Display CoreTemp device sensor data",
|
"description": "Display CoreTemp device sensor data",
|
||||||
"icon": "coretemp.png",
|
"icon": "coretemp.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
|
|
|
@ -35,7 +35,6 @@ const menu = {
|
||||||
'< Back' : back,
|
'< Back' : back,
|
||||||
'Enabled' : {
|
'Enabled' : {
|
||||||
value : !!s.enabled,
|
value : !!s.enabled,
|
||||||
format : v => v ? "Yes" : "No",
|
|
||||||
onchange : v => {
|
onchange : v => {
|
||||||
s.enabled = v;
|
s.enabled = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
|
@ -4,3 +4,4 @@
|
||||||
0.04: added heart rate which is switched on when cycled to it through up/down touch on rhs
|
0.04: added heart rate which is switched on when cycled to it through up/down touch on rhs
|
||||||
0.05: changed text to uppercase, just looks better, removed colons on text
|
0.05: changed text to uppercase, just looks better, removed colons on text
|
||||||
0.06: better contrast for light theme, use fg color instead of dithered for ring
|
0.06: better contrast for light theme, use fg color instead of dithered for ring
|
||||||
|
0.07: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ "id": "daisy",
|
{ "id": "daisy",
|
||||||
"name": "Daisy",
|
"name": "Daisy",
|
||||||
"version":"0.06",
|
"version":"0.07",
|
||||||
"dependencies": {"mylocation":"app"},
|
"dependencies": {"mylocation":"app"},
|
||||||
"description": "A beautiful digital clock with large ring guage, idle timer and a cyclic information line that includes, day, date, steps, battery, sunrise and sunset times",
|
"description": "A beautiful digital clock with large ring guage, idle timer and a cyclic information line that includes, day, date, steps, battery, sunrise and sunset times",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
},
|
},
|
||||||
'Idle Warning': {
|
'Idle Warning': {
|
||||||
value: !!s.idle_check,
|
value: !!s.idle_check,
|
||||||
format: v => v ? /*LANG*/"Yes":/*LANG*/"No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
s.idle_check = v;
|
s.idle_check = v;
|
||||||
save();
|
save();
|
||||||
|
|
|
@ -5,3 +5,4 @@
|
||||||
0.05: Add icon
|
0.05: Add icon
|
||||||
0.06: remove app image as it is unused
|
0.06: remove app image as it is unused
|
||||||
0.07: Bump version number for change to apps.json causing 404 on upload
|
0.07: Bump version number for change to apps.json causing 404 on upload
|
||||||
|
0.08: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "dane_tcr",
|
"id": "dane_tcr",
|
||||||
"name": "DANE Touch Launcher",
|
"name": "DANE Touch Launcher",
|
||||||
"shortName": "DANE Toucher",
|
"shortName": "DANE Toucher",
|
||||||
"version": "0.07",
|
"version": "0.08",
|
||||||
"description": "Touch enable left to right launcher in the style of the DANE Watchface",
|
"description": "Touch enable left to right launcher in the style of the DANE Watchface",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "launch",
|
"type": "launch",
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
},
|
},
|
||||||
"Animation" : {
|
"Animation" : {
|
||||||
value : settings.animation,
|
value : settings.animation,
|
||||||
format : v => v?"On":"Off",
|
|
||||||
onchange : saveChange('animation')
|
onchange : saveChange('animation')
|
||||||
},
|
},
|
||||||
"Frame rate" : {
|
"Frame rate" : {
|
||||||
|
@ -51,7 +50,6 @@
|
||||||
},
|
},
|
||||||
"Debug" : {
|
"Debug" : {
|
||||||
value : settings.debug,
|
value : settings.debug,
|
||||||
format : v => v?"On":"Off",
|
|
||||||
onchange : saveChange('debug')
|
onchange : saveChange('debug')
|
||||||
},
|
},
|
||||||
'< Back': back
|
'< Back': back
|
||||||
|
|
|
@ -13,3 +13,4 @@
|
||||||
0.13: Added swipeExit setting so that left-right to exit is an option
|
0.13: Added swipeExit setting so that left-right to exit is an option
|
||||||
0.14: Don't move pages when doing exit swipe - Bangle 2.
|
0.14: Don't move pages when doing exit swipe - Bangle 2.
|
||||||
0.15: 'Swipe to exit'-code is slightly altered to be more reliable - Bangle 2.
|
0.15: 'Swipe to exit'-code is slightly altered to be more reliable - Bangle 2.
|
||||||
|
0.16: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "dtlaunch",
|
"id": "dtlaunch",
|
||||||
"name": "Desktop Launcher",
|
"name": "Desktop Launcher",
|
||||||
"version": "0.15",
|
"version": "0.16",
|
||||||
"description": "Desktop style App Launcher with six (four for Bangle 2) apps per page - fast access if you have lots of apps installed.",
|
"description": "Desktop style App Launcher with six (four for Bangle 2) apps per page - fast access if you have lots of apps installed.",
|
||||||
"screenshots": [{"url":"shot1.png"},{"url":"shot2.png"},{"url":"shot3.png"}],
|
"screenshots": [{"url":"shot1.png"},{"url":"shot2.png"},{"url":"shot3.png"}],
|
||||||
"icon": "icon.png",
|
"icon": "icon.png",
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
"< Back" : () => back(),
|
"< Back" : () => back(),
|
||||||
'Show clocks': {
|
'Show clocks': {
|
||||||
value: settings.showClocks,
|
value: settings.showClocks,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.showClocks = v;
|
settings.showClocks = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -23,7 +22,6 @@
|
||||||
},
|
},
|
||||||
'Show launchers': {
|
'Show launchers': {
|
||||||
value: settings.showLaunchers,
|
value: settings.showLaunchers,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.showLaunchers = v;
|
settings.showLaunchers = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
"< Back" : () => back(),
|
"< Back" : () => back(),
|
||||||
'Show clocks': {
|
'Show clocks': {
|
||||||
value: settings.showClocks,
|
value: settings.showClocks,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.showClocks = v;
|
settings.showClocks = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -26,7 +25,6 @@
|
||||||
},
|
},
|
||||||
'Show launchers': {
|
'Show launchers': {
|
||||||
value: settings.showLaunchers,
|
value: settings.showLaunchers,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.showLaunchers = v;
|
settings.showLaunchers = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -34,7 +32,6 @@
|
||||||
},
|
},
|
||||||
'Direct launch': {
|
'Direct launch': {
|
||||||
value: settings.direct,
|
value: settings.direct,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.direct = v;
|
settings.direct = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -42,7 +39,6 @@
|
||||||
},
|
},
|
||||||
'Swipe Exit': {
|
'Swipe Exit': {
|
||||||
value: settings.swipeExit,
|
value: settings.swipeExit,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.swipeExit = v;
|
settings.swipeExit = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -50,7 +46,6 @@
|
||||||
},
|
},
|
||||||
'One click exit': {
|
'One click exit': {
|
||||||
value: settings.oneClickExit,
|
value: settings.oneClickExit,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.oneClickExit = v;
|
settings.oneClickExit = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
const store = require('Storage');
|
const store = require('Storage');
|
||||||
|
|
||||||
const boolFormat = (v) => v ? "On" : "Off";
|
|
||||||
|
|
||||||
function showMainMenu() {
|
function showMainMenu() {
|
||||||
const mainmenu = {
|
const mainmenu = {
|
||||||
'': {
|
'': {
|
||||||
|
|
|
@ -8,3 +8,4 @@
|
||||||
0.08: Bug fix at end of the game with victorious splash and glorious orchestra
|
0.08: Bug fix at end of the game with victorious splash and glorious orchestra
|
||||||
0.09: Added settings menu, removed symbol selection button (*), added highscore reset
|
0.09: Added settings menu, removed symbol selection button (*), added highscore reset
|
||||||
0.10: fixed clockmode in settings
|
0.10: fixed clockmode in settings
|
||||||
|
0.11: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ "id": "game1024",
|
{ "id": "game1024",
|
||||||
"name": "1024 Game",
|
"name": "1024 Game",
|
||||||
"shortName" : "1024 Game",
|
"shortName" : "1024 Game",
|
||||||
"version": "0.10",
|
"version": "0.11",
|
||||||
"icon": "game1024.png",
|
"icon": "game1024.png",
|
||||||
"screenshots": [ {"url":"screenshot.png" } ],
|
"screenshots": [ {"url":"screenshot.png" } ],
|
||||||
"readme":"README.md",
|
"readme":"README.md",
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Exit press:": {
|
"Exit press:": {
|
||||||
value: !settings.clockMode, // ! converts undefined to true
|
value: !settings.clockMode,
|
||||||
format: v => v?"short":"long",
|
format: v => v?"short":"long",
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.clockMode = v;
|
settings.clockMode = v;
|
||||||
|
@ -40,8 +40,7 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"Debug mode:": {
|
"Debug mode:": {
|
||||||
value: !!settings.debugMode, // !! converts undefined to false
|
value: !!settings.debugMode,
|
||||||
format: v => v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.debugMode = v;
|
settings.debugMode = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -9,3 +9,4 @@
|
||||||
0.09: Move event listener from widget to boot code, stops music from showing up in messages
|
0.09: Move event listener from widget to boot code, stops music from showing up in messages
|
||||||
0.10: Simplify touch events
|
0.10: Simplify touch events
|
||||||
Remove date+time
|
Remove date+time
|
||||||
|
0.11: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "gbmusic",
|
"id": "gbmusic",
|
||||||
"name": "Gadgetbridge Music Controls",
|
"name": "Gadgetbridge Music Controls",
|
||||||
"shortName": "Music Controls",
|
"shortName": "Music Controls",
|
||||||
"version": "0.10",
|
"version": "0.11",
|
||||||
"description": "Control the music on your Gadgetbridge-connected phone",
|
"description": "Control the music on your Gadgetbridge-connected phone",
|
||||||
"icon": "icon.png",
|
"icon": "icon.png",
|
||||||
"screenshots": [{"url":"screenshot_v1_d.png"},{"url":"screenshot_v1_l.png"},
|
"screenshots": [{"url":"screenshot_v1_d.png"},{"url":"screenshot_v1_l.png"},
|
||||||
|
|
|
@ -25,19 +25,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const yesNo = (v) => translate(v ? "Yes" : "No");
|
|
||||||
let menu = {
|
let menu = {
|
||||||
"": {"title": "Music Control"},
|
"": {"title": "Music Control"},
|
||||||
};
|
};
|
||||||
menu[translate("< Back")] = back;
|
menu[translate("< Back")] = back;
|
||||||
menu[translate("Auto start")] = {
|
menu[translate("Auto start")] = {
|
||||||
value: !!s.autoStart,
|
value: !!s.autoStart,
|
||||||
format: yesNo,
|
|
||||||
onchange: save("autoStart"),
|
onchange: save("autoStart"),
|
||||||
};
|
};
|
||||||
menu[translate("Simple button")] = {
|
menu[translate("Simple button")] = {
|
||||||
value: !!s.simpleButton,
|
value: !!s.simpleButton,
|
||||||
format: yesNo,
|
|
||||||
onchange: save("simpleButton"),
|
onchange: save("simpleButton"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -27,3 +27,4 @@
|
||||||
0.25: workaround call notification
|
0.25: workaround call notification
|
||||||
Fix inflated step number
|
Fix inflated step number
|
||||||
0.26: Include charging status in battery updates to phone
|
0.26: Include charging status in battery updates to phone
|
||||||
|
0.27: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "gbridge",
|
"id": "gbridge",
|
||||||
"name": "Gadgetbridge",
|
"name": "Gadgetbridge",
|
||||||
"version": "0.26",
|
"version": "0.27",
|
||||||
"description": "(NOT RECOMMENDED) Displays Gadgetbridge notifications from Android. Please use the 'Android Integration' Bangle.js app instead.",
|
"description": "(NOT RECOMMENDED) Displays Gadgetbridge notifications from Android. Please use the 'Android Integration' Bangle.js app instead.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "widget",
|
"type": "widget",
|
||||||
|
|
|
@ -27,13 +27,11 @@
|
||||||
"Connected" : { value : NRF.getSecurityStatus().connected?"Yes":"No" },
|
"Connected" : { value : NRF.getSecurityStatus().connected?"Yes":"No" },
|
||||||
"Show Icon" : {
|
"Show Icon" : {
|
||||||
value: settings().showIcon,
|
value: settings().showIcon,
|
||||||
format: v => v?"Yes":"No",
|
|
||||||
onchange: setIcon
|
onchange: setIcon
|
||||||
},
|
},
|
||||||
"Find Phone" : function() { E.showMenu(findPhone); },
|
"Find Phone" : function() { E.showMenu(findPhone); },
|
||||||
"Record HRM" : {
|
"Record HRM" : {
|
||||||
value: !!settings().hrm,
|
value: !!settings().hrm,
|
||||||
format: v => v?"Yes":"No",
|
|
||||||
onchange: v => updateSetting('hrm', v)
|
onchange: v => updateSetting('hrm', v)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
0.02: Set Bangle.js 2 compatible
|
0.02: Set Bangle.js 2 compatible
|
||||||
0.03: Add setting to hide the widget
|
0.03: Add setting to hide the widget
|
||||||
|
0.04: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "gpsautotime",
|
"id": "gpsautotime",
|
||||||
"name": "GPS auto time",
|
"name": "GPS auto time",
|
||||||
"shortName": "GPS auto time",
|
"shortName": "GPS auto time",
|
||||||
"version": "0.03",
|
"version": "0.04",
|
||||||
"description": "A widget that automatically updates the Bangle.js time to the GPS time whenever there is a valid GPS fix.",
|
"description": "A widget that automatically updates the Bangle.js time to the GPS time whenever there is a valid GPS fix.",
|
||||||
"icon": "widget.png",
|
"icon": "widget.png",
|
||||||
"type": "widget",
|
"type": "widget",
|
||||||
|
|
|
@ -13,9 +13,8 @@
|
||||||
E.showMenu({
|
E.showMenu({
|
||||||
"" : { "title" : "GPS auto time" },
|
"" : { "title" : "GPS auto time" },
|
||||||
"< Back" : () => back(),
|
"< Back" : () => back(),
|
||||||
'Show widget?': {
|
'Show Widgets': {
|
||||||
value: !!settings.show, // !! converts undefined to false
|
value: !!settings.show,
|
||||||
format: v => v?"Show":"Hide",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.show = v;
|
settings.show = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -30,3 +30,4 @@
|
||||||
0.26: Multiple bugfixes
|
0.26: Multiple bugfixes
|
||||||
0.27: Map drawing with light theme (fix #1023)
|
0.27: Map drawing with light theme (fix #1023)
|
||||||
0.28: Show distance more accurately in conjunction with new locale app (fix #1523)
|
0.28: Show distance more accurately in conjunction with new locale app (fix #1523)
|
||||||
|
0.29: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -22,7 +22,6 @@ function showMainMenu() {
|
||||||
'': { 'title': 'GPS Record' },
|
'': { 'title': 'GPS Record' },
|
||||||
'RECORD': {
|
'RECORD': {
|
||||||
value: !!settings.recording,
|
value: !!settings.recording,
|
||||||
format: v=>v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.recording = v;
|
settings.recording = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "gpsrec",
|
"id": "gpsrec",
|
||||||
"name": "GPS Recorder",
|
"name": "GPS Recorder",
|
||||||
"version": "0.28",
|
"version": "0.29",
|
||||||
"description": "(NOT RECOMMENDED) - please use the more flexible 'Recorder' app instead. Application that allows you to record a GPS track. Can run in background",
|
"description": "(NOT RECOMMENDED) - please use the more flexible 'Recorder' app instead. Application that allows you to record a GPS track. Can run in background",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,outdoors,gps,widget",
|
"tags": "tool,outdoors,gps,widget",
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
0.01: Add a number to match to turn off alarm
|
0.01: Add a number to match to turn off alarm
|
||||||
0.02: Respect Quiet Mode
|
0.02: Respect Quiet Mode
|
||||||
0.03: Fix hour/minute wrapping code for new menu system
|
0.03: Fix hour/minute wrapping code for new menu system
|
||||||
|
0.04: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -66,17 +66,14 @@ function editAlarm(alarmIndex) {
|
||||||
},
|
},
|
||||||
/*LANG*/'Enabled': {
|
/*LANG*/'Enabled': {
|
||||||
value: en,
|
value: en,
|
||||||
format: v=>v?"On":"Off",
|
|
||||||
onchange: v=>en=v
|
onchange: v=>en=v
|
||||||
},
|
},
|
||||||
/*LANG*/'Repeat': {
|
/*LANG*/'Repeat': {
|
||||||
value: en,
|
value: en,
|
||||||
format: v=>v?"Yes":"No",
|
|
||||||
onchange: v=>repeat=v
|
onchange: v=>repeat=v
|
||||||
},
|
},
|
||||||
/*LANG*/'Auto snooze': {
|
/*LANG*/'Auto snooze': {
|
||||||
value: as,
|
value: as,
|
||||||
format: v=>v?"Yes":"No",
|
|
||||||
onchange: v=>as=v
|
onchange: v=>as=v
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "hardalarm",
|
"id": "hardalarm",
|
||||||
"name": "Hard Alarm",
|
"name": "Hard Alarm",
|
||||||
"shortName": "HardAlarm",
|
"shortName": "HardAlarm",
|
||||||
"version": "0.03",
|
"version": "0.04",
|
||||||
"description": "Make sure you wake up! Count to the right number to turn off the alarm",
|
"description": "Make sure you wake up! Count to the right number to turn off the alarm",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,alarm,widget",
|
"tags": "tool,alarm,widget",
|
||||||
|
|
|
@ -11,5 +11,6 @@
|
||||||
Reduce memory usage by ~30%
|
Reduce memory usage by ~30%
|
||||||
Generate scale based on defined minimum and maximum measurement
|
Generate scale based on defined minimum and maximum measurement
|
||||||
Added background line on 50% to ease estimation of drawn values
|
Added background line on 50% to ease estimation of drawn values
|
||||||
0.06: tag HRM power requests to allow this ot work alongside other widgets/apps (fix #799)
|
0.06: Tag HRM power requests to allow this ot work alongside other widgets/apps (fix #799)
|
||||||
0.07: theme support
|
0.07: Theme support
|
||||||
|
0.08: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -28,7 +28,6 @@ function showMainMenu() {
|
||||||
'': { 'title': 'Heart Recorder' },
|
'': { 'title': 'Heart Recorder' },
|
||||||
'RECORD': {
|
'RECORD': {
|
||||||
value: !!settings.isRecording,
|
value: !!settings.isRecording,
|
||||||
format: v=>v?"On":"Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.isRecording = v;
|
settings.isRecording = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "heart",
|
"id": "heart",
|
||||||
"name": "Heart Rate Recorder",
|
"name": "Heart Rate Recorder",
|
||||||
"shortName": "HRM Record",
|
"shortName": "HRM Record",
|
||||||
"version": "0.07",
|
"version": "0.08",
|
||||||
"description": "Application that allows you to record your heart rate. Can run in background",
|
"description": "Application that allows you to record your heart rate. Can run in background",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,health,widget",
|
"tags": "tool,health,widget",
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
0.01: New Widget!
|
0.01: New Widget!
|
||||||
|
0.02: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "hralarm",
|
"id": "hralarm",
|
||||||
"name": "Heart rate alarm",
|
"name": "Heart rate alarm",
|
||||||
"shortName":"HR Alarm",
|
"shortName":"HR Alarm",
|
||||||
"version":"0.01",
|
"version":"0.02",
|
||||||
"description": "This invisible widget vibrates whenever the heart rate gets close to the upper limit or goes over or under the configured limits",
|
"description": "This invisible widget vibrates whenever the heart rate gets close to the upper limit or goes over or under the configured limits",
|
||||||
"icon": "widget.png",
|
"icon": "widget.png",
|
||||||
"type": "widget",
|
"type": "widget",
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
'< Back': back,
|
'< Back': back,
|
||||||
'Enabled': {
|
'Enabled': {
|
||||||
value: !!settings.enabled,
|
value: !!settings.enabled,
|
||||||
format: v => settings.enabled ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.enabled = v;
|
settings.enabled = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -5,3 +5,4 @@
|
||||||
0.19: Fix PM Hours
|
0.19: Fix PM Hours
|
||||||
0.20: Add theme support
|
0.20: Add theme support
|
||||||
0.21: Add Settings
|
0.21: Add Settings
|
||||||
|
0.22: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "hworldclock",
|
"id": "hworldclock",
|
||||||
"name": "Hanks World Clock",
|
"name": "Hanks World Clock",
|
||||||
"shortName": "Hanks World Clock",
|
"shortName": "Hanks World Clock",
|
||||||
"version": "0.21",
|
"version": "0.22",
|
||||||
"description": "Current time zone plus up to three others",
|
"description": "Current time zone plus up to three others",
|
||||||
"allow_emulator":true,
|
"allow_emulator":true,
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
// Settings menu for the enhanced Anton clock
|
|
||||||
|
|
||||||
(function(back) {
|
(function(back) {
|
||||||
var FILE = "hworldclock.json";
|
var FILE = "hworldclock.json";
|
||||||
// Load settings
|
|
||||||
var settings = Object.assign({
|
var settings = Object.assign({
|
||||||
secondsOnUnlock: false,
|
secondsOnUnlock: false,
|
||||||
}, require('Storage').readJSON(FILE, true) || {});
|
}, require('Storage').readJSON(FILE, true) || {});
|
||||||
|
@ -41,7 +38,6 @@
|
||||||
"Color w. dark": stringInSettings("colorWhenDark", ["green", "default"]),
|
"Color w. dark": stringInSettings("colorWhenDark", ["green", "default"]),
|
||||||
"Show SunInfo": {
|
"Show SunInfo": {
|
||||||
value: (settings.showSunInfo !== undefined ? settings.showSunInfo : true),
|
value: (settings.showSunInfo !== undefined ? settings.showSunInfo : true),
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.showSunInfo = v;
|
settings.showSunInfo = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
@ -49,11 +45,6 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Actually display the menu
|
|
||||||
E.showMenu(mainmenu);
|
E.showMenu(mainmenu);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// end of file
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
0.01: Initial release
|
0.01: Initial release
|
||||||
0.02: implemented "direct launch" and "one click exit" settings
|
0.02: implemented "direct launch" and "one click exit" settings
|
||||||
|
0.03: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "iconlaunch",
|
"id": "iconlaunch",
|
||||||
"name": "Icon Launcher",
|
"name": "Icon Launcher",
|
||||||
"shortName" : "Icon launcher",
|
"shortName" : "Icon launcher",
|
||||||
"version": "0.02",
|
"version": "0.03",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"description": "A launcher inspired by smartphones, with an icon-only scrollable menu.",
|
"description": "A launcher inspired by smartphones, with an icon-only scrollable menu.",
|
||||||
"tags": "tool,system,launcher",
|
"tags": "tool,system,launcher",
|
||||||
|
|
|
@ -15,22 +15,18 @@
|
||||||
/*LANG*/"< Back": back,
|
/*LANG*/"< Back": back,
|
||||||
/*LANG*/"Show Clocks": {
|
/*LANG*/"Show Clocks": {
|
||||||
value: settings.showClocks == true,
|
value: settings.showClocks == true,
|
||||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
|
||||||
onchange: (m) => { save("showClocks", m) }
|
onchange: (m) => { save("showClocks", m) }
|
||||||
},
|
},
|
||||||
/*LANG*/"Fullscreen": {
|
/*LANG*/"Fullscreen": {
|
||||||
value: settings.fullscreen == true,
|
value: settings.fullscreen == true,
|
||||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
|
||||||
onchange: (m) => { save("fullscreen", m) }
|
onchange: (m) => { save("fullscreen", m) }
|
||||||
},
|
},
|
||||||
/*LANG*/"Direct launch": {
|
/*LANG*/"Direct launch": {
|
||||||
value: settings.direct == true,
|
value: settings.direct == true,
|
||||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
|
||||||
onchange: (m) => { save("direct", m) }
|
onchange: (m) => { save("direct", m) }
|
||||||
},
|
},
|
||||||
/*LANG*/"One click exit": {
|
/*LANG*/"One click exit": {
|
||||||
value: settings.oneClickExit == true,
|
value: settings.oneClickExit == true,
|
||||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
|
||||||
onchange: (m) => { save("oneClickExit", m) }
|
onchange: (m) => { save("oneClickExit", m) }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
0.06: Watchfaces can be refreshed partly
|
0.06: Watchfaces can be refreshed partly
|
||||||
0.07: Allow wrapping drawing in timeouts to get faster reactions
|
0.07: Allow wrapping drawing in timeouts to get faster reactions
|
||||||
Show/Hide widgets with swipe up or down
|
Show/Hide widgets with swipe up or down
|
||||||
|
0.08: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "imageclock",
|
"id": "imageclock",
|
||||||
"name": "Imageclock",
|
"name": "Imageclock",
|
||||||
"shortName": "Imageclock",
|
"shortName": "Imageclock",
|
||||||
"version": "0.07",
|
"version": "0.08",
|
||||||
"type": "clock",
|
"type": "clock",
|
||||||
"description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.",
|
"description": "BETA!!! File formats still subject to change --- This app is a highly customizable watchface. To use it, you need to select a watchface. You can build the watchfaces yourself without programming anything. All you need to do is write some json and create image files.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
},
|
},
|
||||||
'Performance log': {
|
'Performance log': {
|
||||||
value: !!settings.perflog,
|
value: !!settings.perflog,
|
||||||
format: v => settings.perflog ? "On" : "Off",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.perflog = v;
|
settings.perflog = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
0.01: New keyboard
|
0.01: New keyboard
|
||||||
0.02: Introduce setting "Show help button?". Make setting firstLaunch invisible by removing corresponding code from settings.js. Add marker that shows when character selection timeout has run out. Display opened text on launch when editing existing text string. Perfect horizontal alignment of buttons. Tweak help message letter casing.
|
0.02: Introduce setting "Show help button?". Make setting firstLaunch invisible by removing corresponding code from settings.js. Add marker that shows when character selection timeout has run out. Display opened text on launch when editing existing text string. Perfect horizontal alignment of buttons. Tweak help message letter casing.
|
||||||
|
0.03: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ "id": "kbmulti",
|
{ "id": "kbmulti",
|
||||||
"name": "Multitap keyboard",
|
"name": "Multitap keyboard",
|
||||||
"version":"0.02",
|
"version":"0.03",
|
||||||
"description": "A library for text input via multitap/T9 style keypad",
|
"description": "A library for text input via multitap/T9 style keypad",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type":"textinput",
|
"type":"textinput",
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
},
|
},
|
||||||
/*LANG*/'Show help button?': {
|
/*LANG*/'Show help button?': {
|
||||||
value: !!settings().showHelpBtn,
|
value: !!settings().showHelpBtn,
|
||||||
format: v => v?"Yes":"No",
|
|
||||||
onchange: v => updateSetting("showHelpBtn", v)
|
onchange: v => updateSetting("showHelpBtn", v)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,3 +8,4 @@
|
||||||
0.08: Use Bangle.setUI for button/launcher handling
|
0.08: Use Bangle.setUI for button/launcher handling
|
||||||
0.09: fix font size for latest firmwares
|
0.09: fix font size for latest firmwares
|
||||||
0.10: Configure the side text direction based on the wrist on which you wear your watch
|
0.10: Configure the side text direction based on the wrist on which you wear your watch
|
||||||
|
0.11: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "largeclock",
|
"id": "largeclock",
|
||||||
"name": "Large Clock",
|
"name": "Large Clock",
|
||||||
"version": "0.10",
|
"version": "0.11",
|
||||||
"description": "A readable and informational digital watch, with date, seconds and moon phase",
|
"description": "A readable and informational digital watch, with date, seconds and moon phase",
|
||||||
"icon": "largeclock.png",
|
"icon": "largeclock.png",
|
||||||
"type": "clock",
|
"type": "clock",
|
||||||
|
|
|
@ -74,7 +74,6 @@
|
||||||
"BTN3 app": () => showApps("BTN3"),
|
"BTN3 app": () => showApps("BTN3"),
|
||||||
"On right hand": {
|
"On right hand": {
|
||||||
value: !!settings.right_hand,
|
value: !!settings.right_hand,
|
||||||
format: v=>v?"Yes":"No",
|
|
||||||
onchange: v=>{
|
onchange: v=>{
|
||||||
settings.right_hand = v;
|
settings.right_hand = v;
|
||||||
s.writeJSON("largeclock.json", settings);
|
s.writeJSON("largeclock.json", settings);
|
||||||
|
|
|
@ -13,3 +13,4 @@
|
||||||
0.12: Add an option to hide clocks from the app list (fix #1015)
|
0.12: Add an option to hide clocks from the app list (fix #1015)
|
||||||
Add /*LANG*/ tags for internationalisation
|
Add /*LANG*/ tags for internationalisation
|
||||||
0.13: Add fullscreen mode
|
0.13: Add fullscreen mode
|
||||||
|
0.14: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "launch",
|
"id": "launch",
|
||||||
"name": "Launcher",
|
"name": "Launcher",
|
||||||
"shortName": "Launcher",
|
"shortName": "Launcher",
|
||||||
"version": "0.13",
|
"version": "0.14",
|
||||||
"description": "This is needed to display a menu allowing you to choose your own applications. You can replace this with a customised launcher.",
|
"description": "This is needed to display a menu allowing you to choose your own applications. You can replace this with a customised launcher.",
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
|
|
|
@ -26,12 +26,10 @@
|
||||||
},
|
},
|
||||||
/*LANG*/"Show Clocks": {
|
/*LANG*/"Show Clocks": {
|
||||||
value: settings.showClocks == true,
|
value: settings.showClocks == true,
|
||||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
|
||||||
onchange: (m) => { save("showClocks", m) }
|
onchange: (m) => { save("showClocks", m) }
|
||||||
},
|
},
|
||||||
/*LANG*/"Fullscreen": {
|
/*LANG*/"Fullscreen": {
|
||||||
value: settings.fullscreen == true,
|
value: settings.fullscreen == true,
|
||||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
|
||||||
onchange: (m) => { save("fullscreen", m) }
|
onchange: (m) => { save("fullscreen", m) }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -52,4 +52,4 @@
|
||||||
0.37: Now use the setUI 'back' icon in the top left rather than specific buttons/menu items
|
0.37: Now use the setUI 'back' icon in the top left rather than specific buttons/menu items
|
||||||
0.38: Add telegram foss handling
|
0.38: Add telegram foss handling
|
||||||
0.39: Set default color for message icons according to theme
|
0.39: Set default color for message icons according to theme
|
||||||
Don't turn on the screen after unread timeout expires (#1873)
|
0.40: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "messages",
|
"id": "messages",
|
||||||
"name": "Messages",
|
"name": "Messages",
|
||||||
"version": "0.39",
|
"version": "0.40",
|
||||||
"description": "App to display notifications from iOS and Gadgetbridge/Android",
|
"description": "App to display notifications from iOS and Gadgetbridge/Android",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
|
|
|
@ -40,22 +40,18 @@
|
||||||
},
|
},
|
||||||
/*LANG*/'Auto-Open Music': {
|
/*LANG*/'Auto-Open Music': {
|
||||||
value: !!settings().openMusic,
|
value: !!settings().openMusic,
|
||||||
format: v => v?/*LANG*/'Yes':/*LANG*/'No',
|
|
||||||
onchange: v => updateSetting("openMusic", v)
|
onchange: v => updateSetting("openMusic", v)
|
||||||
},
|
},
|
||||||
/*LANG*/'Unlock Watch': {
|
/*LANG*/'Unlock Watch': {
|
||||||
value: !!settings().unlockWatch,
|
value: !!settings().unlockWatch,
|
||||||
format: v => v?/*LANG*/'Yes':/*LANG*/'No',
|
|
||||||
onchange: v => updateSetting("unlockWatch", v)
|
onchange: v => updateSetting("unlockWatch", v)
|
||||||
},
|
},
|
||||||
/*LANG*/'Flash Icon': {
|
/*LANG*/'Flash Icon': {
|
||||||
value: !!settings().flash,
|
value: !!settings().flash,
|
||||||
format: v => v?/*LANG*/'Yes':/*LANG*/'No',
|
|
||||||
onchange: v => updateSetting("flash", v)
|
onchange: v => updateSetting("flash", v)
|
||||||
},
|
},
|
||||||
/*LANG*/'Quiet mode disables auto-open': {
|
/*LANG*/'Quiet mode disables auto-open': {
|
||||||
value: !!settings().quietNoAutOpn,
|
value: !!settings().quietNoAutOpn,
|
||||||
format: v => v?/*LANG*/'Yes':/*LANG*/'No',
|
|
||||||
onchange: v => updateSetting("quietNoAutOpn", v)
|
onchange: v => updateSetting("quietNoAutOpn", v)
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
0.01: Initial version
|
0.01: Initial version
|
||||||
0.02: Update for time_utils module
|
0.02: Update for time_utils module
|
||||||
|
0.03: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -267,7 +267,6 @@ function editTimer(idx, a) {
|
||||||
},
|
},
|
||||||
"Enabled": {
|
"Enabled": {
|
||||||
value: a.on,
|
value: a.on,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => a.on = v
|
onchange: v => a.on = v
|
||||||
},
|
},
|
||||||
"Hours": {
|
"Hours": {
|
||||||
|
@ -293,7 +292,6 @@ function editTimer(idx, a) {
|
||||||
},
|
},
|
||||||
"Hard Mode": {
|
"Hard Mode": {
|
||||||
value: a.data.hm,
|
value: a.data.hm,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => a.data.hm = v
|
onchange: v => a.data.hm = v
|
||||||
},
|
},
|
||||||
"Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v),
|
"Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v),
|
||||||
|
@ -535,7 +533,6 @@ function editDOW(dow, onchange) {
|
||||||
var dayOfWeek = require("locale").dow({ getDay: () => i });
|
var dayOfWeek = require("locale").dow({ getDay: () => i });
|
||||||
menu[dayOfWeek] = {
|
menu[dayOfWeek] = {
|
||||||
value: !!(dow&(1<<i)),
|
value: !!(dow&(1<<i)),
|
||||||
format: v => v ? "Yes" : "No",
|
|
||||||
onchange: v => v ? dow |= 1<<i : dow &= ~(1<<i),
|
onchange: v => v ? dow |= 1<<i : dow &= ~(1<<i),
|
||||||
};
|
};
|
||||||
})(i);
|
})(i);
|
||||||
|
@ -595,7 +592,6 @@ function editAlarm(idx, a) {
|
||||||
},
|
},
|
||||||
"Enabled": {
|
"Enabled": {
|
||||||
value: a.on,
|
value: a.on,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => a.on = v
|
onchange: v => a.on = v
|
||||||
},
|
},
|
||||||
"Hours": {
|
"Hours": {
|
||||||
|
@ -614,7 +610,6 @@ function editAlarm(idx, a) {
|
||||||
},
|
},
|
||||||
"Repeat": {
|
"Repeat": {
|
||||||
value: a.rp,
|
value: a.rp,
|
||||||
format: v => v ? "Yes" : "No",
|
|
||||||
onchange: v => a.rp = v
|
onchange: v => a.rp = v
|
||||||
},
|
},
|
||||||
"Days": {
|
"Days": {
|
||||||
|
@ -623,13 +618,11 @@ function editAlarm(idx, a) {
|
||||||
},
|
},
|
||||||
"Hard Mode": {
|
"Hard Mode": {
|
||||||
value: a.data.hm,
|
value: a.data.hm,
|
||||||
format: v => v ? "On" : "Off",
|
|
||||||
onchange: v => a.data.hm = v
|
onchange: v => a.data.hm = v
|
||||||
},
|
},
|
||||||
"Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v),
|
"Vibrate": require("buzz_menu").pattern(a.vibrate, v => a.vibrate = v),
|
||||||
"Auto Snooze": {
|
"Auto Snooze": {
|
||||||
value: a.as,
|
value: a.as,
|
||||||
format: v => v ? "Yes" : "No",
|
|
||||||
onchange: v => a.as = v
|
onchange: v => a.as = v
|
||||||
},
|
},
|
||||||
"Msg": {
|
"Msg": {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "multitimer",
|
"id": "multitimer",
|
||||||
"name": "Multi Timer",
|
"name": "Multi Timer",
|
||||||
"version": "0.02",
|
"version": "0.03",
|
||||||
"description": "Set timers and chronographs (stopwatches) and watch them count down in real time. Pause, create, edit, and delete timers and chronos, and add custom labels/messages. Also sets alarms.",
|
"description": "Set timers and chronographs (stopwatches) and watch them count down in real time. Pause, create, edit, and delete timers and chronos, and add custom labels/messages. Also sets alarms.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"screenshots": [
|
"screenshots": [
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
0.01: Initial version
|
0.01: Initial version
|
||||||
|
0.02: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -171,7 +171,6 @@ function editDOW(dow, onchange) {
|
||||||
var dayOfWeek = require("locale").dow({ getDay: () => i });
|
var dayOfWeek = require("locale").dow({ getDay: () => i });
|
||||||
menu[dayOfWeek] = {
|
menu[dayOfWeek] = {
|
||||||
value: !!(dow&(1<<i)),
|
value: !!(dow&(1<<i)),
|
||||||
format: v => v ? "Yes" : "No",
|
|
||||||
onchange: v => v ? dow |= 1<<i : dow &= ~(1<<i),
|
onchange: v => v ? dow |= 1<<i : dow &= ~(1<<i),
|
||||||
};
|
};
|
||||||
})(i);
|
})(i);
|
||||||
|
@ -213,18 +212,15 @@ function editAlarm(alarmIndex, alarm) {
|
||||||
},
|
},
|
||||||
'Enabled': {
|
'Enabled': {
|
||||||
value: a.on,
|
value: a.on,
|
||||||
format: v=>v?"On":"Off",
|
|
||||||
onchange: v=>a.on=v
|
onchange: v=>a.on=v
|
||||||
},
|
},
|
||||||
'Repeat': {
|
'Repeat': {
|
||||||
value: a.rp,
|
value: a.rp,
|
||||||
format: v=>v?"Yes":"No",
|
|
||||||
onchange: v=>a.rp=v
|
onchange: v=>a.rp=v
|
||||||
},
|
},
|
||||||
'Vibrate': require("buzz_menu").pattern(a.vibrate, v => a.vibrate=v ),
|
'Vibrate': require("buzz_menu").pattern(a.vibrate, v => a.vibrate=v ),
|
||||||
'Auto snooze': {
|
'Auto snooze': {
|
||||||
value: a.as,
|
value: a.as,
|
||||||
format: v=>v?"Yes":"No",
|
|
||||||
onchange: v=>a.as=v
|
onchange: v=>a.as=v
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -278,7 +274,6 @@ function editTimer(alarmIndex, alarm) {
|
||||||
},
|
},
|
||||||
'Enabled': {
|
'Enabled': {
|
||||||
value: a.on,
|
value: a.on,
|
||||||
format: v=>v?"On":"Off",
|
|
||||||
onchange: v=>a.on=v
|
onchange: v=>a.on=v
|
||||||
},
|
},
|
||||||
'Vibrate': require("buzz_menu").pattern(a.vibrate, v => a.vibrate=v ),
|
'Vibrate': require("buzz_menu").pattern(a.vibrate, v => a.vibrate=v ),
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "noteify",
|
"id": "noteify",
|
||||||
"name": "Noteify",
|
"name": "Noteify",
|
||||||
"version": "0.01",
|
"version": "0.02",
|
||||||
"description": "Write notes using an onscreen keyboard and use them as custom messages for alarms or timers.",
|
"description": "Write notes using an onscreen keyboard and use them as custom messages for alarms or timers.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,alarm",
|
"tags": "tool,alarm",
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
0.02: Fix true wind computation, add swipe gesture to pause GPS
|
0.02: Fix true wind computation, add swipe gesture to pause GPS
|
||||||
|
0.03: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ "id": "openwind",
|
{ "id": "openwind",
|
||||||
"name": "OpenWind",
|
"name": "OpenWind",
|
||||||
"shortName":"OpenWind",
|
"shortName":"OpenWind",
|
||||||
"version":"0.02",
|
"version":"0.03",
|
||||||
"description": "OpenWind",
|
"description": "OpenWind",
|
||||||
"icon": "openwind.png",
|
"icon": "openwind.png",
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
/**
|
/**
|
||||||
* @param {function} back Use back() to return to settings menu
|
* @param {function} back Use back() to return to settings menu
|
||||||
*/
|
*/
|
||||||
const boolFormat = v => v ? /*LANG*/"On" : /*LANG*/"Off";
|
|
||||||
(function(back) {
|
(function(back) {
|
||||||
const SETTINGS_FILE = 'openwindsettings.json'
|
const SETTINGS_FILE = 'openwindsettings.json'
|
||||||
// initialize with default settings...
|
// initialize with default settings...
|
||||||
|
@ -29,7 +28,6 @@ const boolFormat = v => v ? /*LANG*/"On" : /*LANG*/"Off";
|
||||||
'< Back': back,
|
'< Back': back,
|
||||||
'True wind': {
|
'True wind': {
|
||||||
value: settings.truewind,
|
value: settings.truewind,
|
||||||
format: boolFormat,
|
|
||||||
onchange: save('truewind'),
|
onchange: save('truewind'),
|
||||||
},
|
},
|
||||||
'Mounting angle': {
|
'Mounting angle': {
|
||||||
|
|
|
@ -17,3 +17,4 @@
|
||||||
0.15: fixed tendancy for mylocation to default to London
|
0.15: fixed tendancy for mylocation to default to London
|
||||||
added setting to enable/disable idle timer warning
|
added setting to enable/disable idle timer warning
|
||||||
0.16: make check_idle boolean setting work properly with new B2 menu
|
0.16: make check_idle boolean setting work properly with new B2 menu
|
||||||
|
0.17: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "pastel",
|
"id": "pastel",
|
||||||
"name": "Pastel Clock",
|
"name": "Pastel Clock",
|
||||||
"shortName": "Pastel",
|
"shortName": "Pastel",
|
||||||
"version": "0.16",
|
"version": "0.17",
|
||||||
"description": "A Configurable clock with custom fonts, background and weather display. Has a cyclic information line that includes, day, date, battery, sunrise and sunset times",
|
"description": "A Configurable clock with custom fonts, background and weather display. Has a cyclic information line that includes, day, date, battery, sunrise and sunset times",
|
||||||
"icon": "pastel.png",
|
"icon": "pastel.png",
|
||||||
"dependencies": {"mylocation":"app","weather":"app"},
|
"dependencies": {"mylocation":"app","weather":"app"},
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
},
|
},
|
||||||
'Show Grid': {
|
'Show Grid': {
|
||||||
value: !!s.grid,
|
value: !!s.grid,
|
||||||
format: v => v ? /*LANG*/"Yes":/*LANG*/"No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
s.grid = v;
|
s.grid = v;
|
||||||
save();
|
save();
|
||||||
|
@ -47,7 +46,6 @@
|
||||||
},
|
},
|
||||||
'Show Weather': {
|
'Show Weather': {
|
||||||
value: !!s.weather,
|
value: !!s.weather,
|
||||||
format: v => v ? /*LANG*/"Yes":/*LANG*/"No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
s.weather = v;
|
s.weather = v;
|
||||||
save();
|
save();
|
||||||
|
@ -55,7 +53,6 @@
|
||||||
},
|
},
|
||||||
'Idle Warning': {
|
'Idle Warning': {
|
||||||
value: !!s.idle_check,
|
value: !!s.idle_check,
|
||||||
format: v => v ? /*LANG*/"Yes":/*LANG*/"No",
|
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
s.idle_check = v;
|
s.idle_check = v;
|
||||||
save();
|
save();
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
0.02: Major speed improvement. Added more stars. Up to 500!
|
0.02: Major speed improvement. Added more stars. Up to 500!
|
||||||
0.03: Added more stars and constellations. Now it shows 20 constellations.
|
0.03: Added more stars and constellations. Now it shows 20 constellations.
|
||||||
|
0.04: Use default Bangle formatter for booleans
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "planetarium",
|
"id": "planetarium",
|
||||||
"name": "Planetarium",
|
"name": "Planetarium",
|
||||||
"shortName": "Planetarium",
|
"shortName": "Planetarium",
|
||||||
"version": "0.03",
|
"version": "0.04",
|
||||||
"description": "Planetarium showing up to 500 stars using the watch location and time",
|
"description": "Planetarium showing up to 500 stars using the watch location and time",
|
||||||
"icon": "planetarium.png",
|
"icon": "planetarium.png",
|
||||||
"tags": "",
|
"tags": "",
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue