diff --git a/apps/taglaunch/ChangeLog b/apps/taglaunch/ChangeLog index e6bec3b85..6574fcb4d 100644 --- a/apps/taglaunch/ChangeLog +++ b/apps/taglaunch/ChangeLog @@ -6,3 +6,4 @@ 0.05: Make the "App source not found" warning less buggy 0.06: Fixed a crash if an app has no tags (app.tags is undefined) 0.07: Clear cached app list when updating showClocks setting +0.08: Add haptic feedback option when selecting app or category in menu, increase vector size limit in settings diff --git a/apps/taglaunch/README.md b/apps/taglaunch/README.md index 89540c514..cc32f54a1 100644 --- a/apps/taglaunch/README.md +++ b/apps/taglaunch/README.md @@ -11,6 +11,7 @@ Settings - `Font` - The font used (`4x6`, `6x8`, `12x20`, `6x15` or `Vector`). Default `12x20`. - `Vector Font Size` - The size of the font if `Font` is set to `Vector`. Default `10`. +- `Haptic Feedback` - Whether or not to vibrate slightly when selecting an app or category in the launcher. Default `No`. - `Show Clocks` - If set to `No` then clocks won't appear in the app list. Default `Yes`. - `Fullscreen` - If set to `Yes` then widgets won't be loaded. Default `No`. @@ -28,3 +29,4 @@ Contributors - [atjn](https://github.com/atjn) - [BlueFox4](https://github.com/BlueFox4) +- [RKBoss6](https://github.com/RKBoss6) diff --git a/apps/taglaunch/app.js b/apps/taglaunch/app.js index 9318973c5..3e322b5ba 100644 --- a/apps/taglaunch/app.js +++ b/apps/taglaunch/app.js @@ -17,7 +17,8 @@ let vectorval = 20; let font = g.getFonts().includes("12x20") ? "12x20" : "6x8:2"; let settings = Object.assign({ showClocks: true, - fullscreen: false + fullscreen: false, + buzz:false }, s.readJSON("taglaunch.json", true) || {}); if ("vectorsize" in settings) vectorval = parseInt(settings.vectorsize); @@ -108,15 +109,25 @@ let showTagMenu = (tag) => { } }, select : i => { - let app = appsByTag[tag][i]; - if (!app) return; - if (!app.src || require("Storage").read(app.src)===undefined) { - Bangle.setUI(); - E.showMessage(/*LANG*/"App Source\nNot found"); - setTimeout(showMainMenu, 2000); - } else { - load(app.src); + const loadApp = () => { + let app = appsByTag[tag][i]; + if (!app) return; + if (!app.src || require("Storage").read(app.src)===undefined) { + Bangle.setUI(); + E.showMessage(/*LANG*/"App Source\nNot found"); + setTimeout(showMainMenu, 2000); + } else { + load(app.src); + } + }; + if(settings.buzz){ + Bangle.buzz(25); + //let the buzz have effect + setTimeout(loadApp,27); + }else{ + loadApp(); } + }, back : showMainMenu, remove: unload @@ -138,6 +149,7 @@ let showMainMenu = () => { } }, select : i => { + if(settings.buzz)Bangle.buzz(25); let tag = tagKeys[i]; showTagMenu(tag); }, diff --git a/apps/taglaunch/metadata.json b/apps/taglaunch/metadata.json index d366d7ead..f8ead20f9 100644 --- a/apps/taglaunch/metadata.json +++ b/apps/taglaunch/metadata.json @@ -2,8 +2,8 @@ "id": "taglaunch", "name": "Tag Launcher", "shortName": "Taglauncher", - "version": "0.07", - "description": "Launcher that puts all applications into submenus based on their tag. With many applications installed this can result in a faster application selection than the linear access of the default launcher.", + "version": "0.08", + "description": "Launcher that puts all applications into submenus based on their tag. With many applications installed this can result in a faster application selection than the linear access from the default launcher.", "readme": "README.md", "icon": "app.png", "type": "launch", diff --git a/apps/taglaunch/settings.js b/apps/taglaunch/settings.js index 64045d37c..09290cf24 100644 --- a/apps/taglaunch/settings.js +++ b/apps/taglaunch/settings.js @@ -2,7 +2,8 @@ (function(back) { let settings = Object.assign({ showClocks: true, - fullscreen: false + fullscreen: false, + buzz:false }, require("Storage").readJSON("taglaunch.json", true) || {}); let fonts = g.getFonts(); @@ -21,9 +22,16 @@ }, /*LANG*/"Vector Font Size": { value: settings.vectorsize || 10, - min:10, max: 20,step:1,wrap:true, + min:10, max: 25,step:1,wrap:true, onchange: (m) => {save("vectorsize", m)} }, + /*LANG*/"Haptic Feedback": { + value: settings.buzz == true, + onchange: (m) => { + save("buzz", m); + + } + }, /*LANG*/"Show Clocks": { value: settings.showClocks == true, onchange: (m) => {