Skip to content

Commit

Permalink
Merge branch 'thyttan-anotherconf'
Browse files Browse the repository at this point in the history
  • Loading branch information
gfwilliams committed Feb 4, 2025
2 parents 88a7492 + 0c04988 commit 0208268
Show file tree
Hide file tree
Showing 20 changed files with 128 additions and 6 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ and which gives information about the app for the Launcher.
// 'notify' - provides 'notify' library for showing notifications
// 'locale' - provides 'locale' library for language-specific date/distance/etc
// (a version of 'locale' is included in the firmware)
// 'defaultconfig' - a set of apps that will can be installed and will wipe out all previously installed apps
"tags": "", // comma separated tag list for searching
// common types are:
// 'clock' - it's a clock
Expand Down
6 changes: 6 additions & 0 deletions apps/confthyttan/ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
0.01: New App!
0.02: update to my current preferences.
0.03: update app list
0.04: change app name "mysetup" -> "anotherconf"
0.05: remove apps that are not "core" to the experience.
0.06: change name "anotherconf" -> "confthyttan"
31 changes: 31 additions & 0 deletions apps/confthyttan/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Thyttan's Default Config

A different default set of apps and configurations. Brings many quality of life improvements. Opinionated based on the creators taste. Read more below before installing.

## Usage

Before installing do this:

1. Backup your current setup (via the "More..." tab of the App Loader) so you can restore it later if you want.
2. Install this app (you'll be prompted about all data being removed from your Bangle)
3. Try it out, switch out apps to your favorites and tweak to your liking!

## Features

There will not be a trace of a "Thyttan's Default Config" app on your watch after installation. Only the apps it installed and the configurations.

On the clock face:
- Swipe right on the screen to open the launcher (Desktop Launcher) - or press the hardware button.
- Swipe left to open a flashlight app.
- Swipe up to open the messages.
- Swipe down for quick access to music and podcast controls.
- (Do a subsequent left or right swipe to enter the listed apps)
- (Check out the "Quick Launch" app readme for more info)

## Requests

Add to the espruino/BangleApps issue tracker and mention @thyttan for bug reports and suggestions.

## Creator

thyttan
Binary file added apps/confthyttan/app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/confthyttan/autoreset.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mode":0,"apps":[{"name":"Run+","src":"runplus.app.js","files":"runplus.info,runplus.app.js,runplus.img,runplus.settings.js,runplus_karvonen"}],"timeout":10}
1 change: 1 addition & 0 deletions apps/confthyttan/backswipe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mode":0,"apps":[{"name":"Calculator","src":"calculator.app.js"},{"name":"SleepLog","src":"sleeplog.app.js"},{"name":"Messages","sortorder":-9,"src":"messagegui.app.js"},{"name":"Messages","sortorder":-9,"src":"messagegui.app.js","files":"messagegui.info,messagegui,messagegui.app.js,messagegui.new.js,messagegui.boot.js,messagegui.img"}],"standardNumSwipeHandlers":5,"standardNumDragHandlers":1}
1 change: 1 addition & 0 deletions apps/confthyttan/dtlaunch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"showClocks":true,"showLaunchers":true,"direct":false,"swipeExit":false,"timeOut":"15s"}
1 change: 1 addition & 0 deletions apps/confthyttan/edgeclk.settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"buzzOnCharge":true,"monthFirst":true,"twentyFourH":true,"showAmPm":false,"showSeconds":true,"showWeather":false,"stepGoal":10000,"stepBar":true,"weekBar":true,"mondayFirst":true,"dayBar":true,"redrawOnStep":false}
1 change: 1 addition & 0 deletions apps/confthyttan/fastload.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{useAppHistory:true,disregardQuicklaunch:true,hideLoading:true}
1 change: 1 addition & 0 deletions apps/confthyttan/lightswitch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"colors":"011","image":"heart","touchOn":"always","oversize":7,"dragDelay":500,"minValue":0.01,"tapToLock":false,"unlockSide":"","tapSide":"","tapOn":"always","tOut":2000,"minFlash":0.2,"isOn":true,"value":0.9109}
1 change: 1 addition & 0 deletions apps/confthyttan/messages.settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{vibrateTimeout:10,vibrate:":",vibrateCalls:":::",flash:false}
68 changes: 68 additions & 0 deletions apps/confthyttan/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{ "id": "confthyttan",
"name": "Thyttan's Default Config",
"version":"0.06",
"description": "A different default set of apps and configurations. Brings many quality of life improvements. Opinionated based on the creators taste. Read more below before installing.",
"icon": "app.png",
"type": "defaultconfig",
"tags": "system,configuration,config,anotherconfig,thyttan",
"supports" : ["BANGLEJS2"],
"readme": "README.md",
"dependencies" : {
"sched":"app",
"kbmulti":"app",
"messageicons":"app",
"widmsggrid":"app",
"msgwakefup":"app",
"delaylock":"app",
"notify":"app",
"health":"app",
"widminbate":"app",
"podadrem":"app",
"spotrem":"app",
"android":"app",
"widanclk":"app",
"backswipe":"app",
"torch":"app",
"calculator":"app",
"widbt_notify":"app",
"smpltmr":"app",
"clkinfostopw":"app",
"runplus":"app",
"dtlaunch":"app",
"quicklaunch":"app",
"kineticscroll":"app",
"alarm":"app",
"recorder":"app",
"agenda":"app",
"edgeclk":"app",
"autoreset":"app",
"chargent":"app",
"setting":"app",
"fastload":"app",
"boot":"app",
"ateatimer":"app",
"drained":"app"
},
"storage": [
{"name":"backswipe.json",
"url":"backswipe.json"},
{"name":"autoreset.json",
"url":"autoreset.json"},
{"name":"dtlaunch.json",
"url":"dtlaunch.json"},
{"name":"fastload.json",
"url":"fastload.json"},
{"name":"quicklaunch.json",
"url":"quicklaunch.json"},
{"name":"messages.settings.json",
"url":"messages.settings.json"},
{"name":"widbt_notify.json",
"url":"widbt_notify.json"},
{"name":"recorder.json",
"url":"recorder.json"},
{"name":"edgeclk.settings.json",
"url":"edgeclk.settings.json"},
{"name":"setting.json",
"url":"setting.json"}
]
}
1 change: 1 addition & 0 deletions apps/confthyttan/quicklaunch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{lapp:{name:"Show Launcher",sortorder:-12,src:"no source"},rapp:{name:"torch",type:"app",sortorder:-11,src:"torch.app.js"},uapp:{name:"Messages",sortorder:-9,src:"messagegui.app.js"},dapp:{name:"Extension",type:"app",sortorder:-11,src:"quicklaunch.app.js"},tapp:{name:""},dlapp:{name:"PA Remote",src:"podadrem.app.js"},drapp:{name:"Remote for Spotify",src:"spotrem.app.js"},duapp:{name:""},ddapp:{name:"Extension",type:"app",sortorder:-11,src:"quicklaunch.app.js"},dtapp:{name:""},ddlapp:{name:"Alarms",src:"alarm.app.js"},ddrapp:{name:"Run+",src:"runplus.app.js"},dduapp:{name:""},dddapp:{name:"Agenda",src:"agenda.app.js"},ddtapp:{name:""},rlapp:{name:""},rrapp:{name:""},ruapp:{name:""},rdapp:{name:""},rtapp:{name:""},trace:"dr"}
1 change: 1 addition & 0 deletions apps/confthyttan/recorder.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{recording:false,period:10,record:["gps","hrm","steps"],file:"recorder.log0.csv"}
1 change: 1 addition & 0 deletions apps/confthyttan/setting.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ble:true,blerepl:true,log:false,quiet:0,timeout:10,vibrate:true,beep:true,timezone:2,HID:false,clock:"edgeclk.app.js","12hour":false,firstDayOfWeek:1,brightness:0.5,options:{wakeOnBTN1:true,wakeOnBTN2:true,wakeOnBTN3:true,wakeOnFaceUp:false,wakeOnTouch:false,wakeOnTwist:false,twistThreshold:819.2,twistMaxY:-800,twistTimeout:1000,btnLoadTimeout:700},theme:{fg:65535,bg:0,fg2:65535,bg2:8,fgH:65535,bgH:31,dark:true},clockHasWidgets:true,launcher:"dtlaunch.app.js",touch:{x1:6,y1:14,x2:197,y2:178}}
1 change: 1 addition & 0 deletions apps/confthyttan/widbt_notify.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{showWidget:true,buzzOnConnect:false,buzzOnLoss:false,hideConnected:false,showMessage:false,nextBuzz:30000}
2 changes: 1 addition & 1 deletion apps/messagesoverlay/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@
{"name":"messagesoverlay.settings.js","url":"settings.js"},
{"name":"messagesoverlay.default.json","url":"default.json"}
],
"data": [{"name":"bthrm.json"}],
"data":[{"name":"messagesoverlay.json"}],
"screenshots": [{"url":"screen_call.png"} ,{"url":"screen_message.png"} ]
}
11 changes: 8 additions & 3 deletions bin/sanitycheck.js
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ const APP_KEYS = [
const STORAGE_KEYS = ['name', 'url', 'content', 'evaluate', 'noOverwite', 'supports', 'noOverwrite'];
const DATA_KEYS = ['name', 'wildcard', 'storageFile', 'url', 'content', 'evaluate'];
const SUPPORTS_DEVICES = ["BANGLEJS","BANGLEJS2"]; // device IDs allowed for 'supports'
const METADATA_TYPES = ["app","clock","widget","bootloader","RAM","launch","scheduler","notify","locale","settings","textinput","module","clkinfo"]; // values allowed for "type" field
const METADATA_TYPES = ["app","clock","widget","bootloader","RAM","launch","scheduler","notify","locale","settings","textinput","module","clkinfo","defaultconfig"]; // values allowed for "type" field - listed in README.md
const FORBIDDEN_FILE_NAME_CHARS = /[,;]/; // used as separators in appid.info
const VALID_DUPLICATES = [ '.tfmodel', '.tfnames' ];
const GRANDFATHERED_ICONS = ["s7clk", "snek", "astral", "alpinenav", "slomoclock", "arrow", "pebble", "rebble"];
Expand Down Expand Up @@ -207,6 +207,10 @@ apps.forEach((app,appIdx) => {
if (!app.name) ERROR(`App ${app.id} has no name`, {file:metadataFile});
var isApp = !app.type || app.type=="app";
var appTags = app.tags ? app.tags.split(",") : [];
/*if (appTags.some(tag => tag!=tag.trim()))
WARN(`App ${app.id} 'tag' list contains whitespace ("${app.tags}")`, {file:metadataFile});
if (appTags.some(tag => tag!=tag.toLowerCase()))
WARN(`App ${app.id} 'tag' list contains uppercase ("${app.tags}")`, {file:metadataFile});*/
if (app.name.length>20 && !app.shortName && isApp) ERROR(`App ${app.id} has a long name, but no shortName`, {file:metadataFile});
if (app.type && !METADATA_TYPES.includes(app.type))
ERROR(`App ${app.id} 'type' is one one of `+METADATA_TYPES, {file:metadataFile});
Expand Down Expand Up @@ -296,7 +300,8 @@ apps.forEach((app,appIdx) => {
if (INTERNAL_FILES_IN_APP_TYPE[app.type].includes(file.name))
fileInternal = true;
}
allFiles.push({app: app.id, file: file.name, internal:fileInternal});
if (!app.type=="defaultconfig")
allFiles.push({app: app.id, file: file.name, internal:fileInternal});
if (file.url) if (!fs.existsSync(appDir+file.url)) ERROR(`App ${app.id} file ${file.url} doesn't exist`, {file:metadataFile});
if (!file.url && !file.content && !app.custom) ERROR(`App ${app.id} file ${file.name} has no contents`, {file:metadataFile});
var fileContents = "";
Expand Down Expand Up @@ -494,7 +499,7 @@ while(fileA=allFiles.pop()) {
if (isGlob(nameA)||isGlob(nameB))
ERROR(`App ${fileB.app} ${typeB} file ${nameB} matches app ${fileA.app} ${typeB} file ${nameA}`);
else if (fileA.app != fileB.app && (!fileA.internal) && (!fileB.internal))
WARN(`App ${fileB.app} ${typeB} file ${nameB} is also listed as ${typeA} file for app ${fileA.app}`);
WARN(`App ${fileB.app} ${typeB} file ${nameB} is also listed as ${typeA} file for app ${fileA.app}`, {file:APPSDIR_RELATIVE+fileB.app+"/metadata.json"});
}
})
}
Expand Down
2 changes: 1 addition & 1 deletion core
Submodule core updated 4 files
+1 −1 js/appinfo.js
+1 −1 js/comms.js
+16 −3 js/index.js
+1 −1 js/ui.js
2 changes: 1 addition & 1 deletion typescript/types/info.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ type AppInfo = {

type AppType = "app" | "clock" | "widget" | "module" | "bootloader" |
"settings" | "clkinfo" | "RAM" | "launch" | "textinput" | "scheduler" |
"notify" | "locale";
"notify" | "locale" | "defaultconfig";

0 comments on commit 0208268

Please sign in to comment.