Most recent activity
-
@7kasper I haven't used the LCARS clock together with the pattern launcher, but looking at the code of the watchface I think you're right that the swipe action of the watchface will interfere with the launcher.
I think the main reason it will interfere is that the espruino JS interpreter is NOT multithreaded. That means for example, if the watchface detected a swipe action and is then executing code that takes let's say a second to finish, the pattern launcher will not recognize any touch input for this entire second the watchface needed to redraw itself.
I don't have any solution in mind that could fix this is issue, maybe someone else has an idea? If you want to use the pattern launcher reliably it's probably best to use a watchface that does not react to any touch input atm.
-
-
Hi Dirk @dirkhillbrecht, yes it works exactly how you described it! It does not replace a normal launcher application. E.g. my use-case is to launch apps that I use all the time with the pattern launcher directly from the clock face (I constantly need a stopwatch and a timer) and for less used apps I use the default launcher.
Btw. you - or anyone really-, should feel free to improve the pattern launcher as you see fit, the documentation as well of course! I don't think I'll continue working on it, since I don't have too much time on my hands atm. You can also take the pattern recognition concept and put it to use somewhere else of course as well.
I think the pattern launcher might become obsolete in the future though, @Gordon had some advanced gesture recognition technology in the pipeline I think? Which also allows you to start apps from the clock face. It was a stretch goal if I remember correctly.
-
Thank you for the code! I put both of your code in a draft PR (see link below), please let me know what you think. I currently don't have too much time so I hope I didn't miss anything. (Screenshots still need to be updated in the PR)
I also credited both of you in the README, let me know if that is alright for you.The pattern attribute looks great, I put your code into the next PR with one small change. Instead of conditionality setting the pattern based on the dark flag I'm using the fg and bg colors in the palette. That should hopefully also work for custom themes, although I haven't checked.
palette: new Uint16Array([g.theme.fg, g.theme.bg], 0, 1),
Thanks for the improvement, I especially like the
position.b
flag which allows us to get rid of the artificial delay of 500ms, awesome!
I only did a small tweak, namely changing all let's and consts to vars. I did this because the espruino interpreter will treat those as vars anyway, and I'd rather make it explicit, since they do behave differently. ( See https://www.espruino.com/Features#es6 ) -
-
I have an update lined up which should address the theming issue, and also the DEBUG=true you mentioned.
I couldn't reproduce the choppiness @ajkm mentioned though.
-
-
-
I wrote it in fact, thanks for taking the time to write a forum post about you liking it! It's very much appreciated :)
I also have a small update in the queue which should make managing your saved patterns easier:
https://github.com/espruino/BangleApps/pĀull/1051
I think with that update the Pattern Launcher is feature complete from my point of view. The recognition itself could be faster, but I've done everything I could to make it as fast as I can. But a PR is welcome to improve the detection of course!
@PaddeK For this specific watch face your idea will not work unfortunately, since the watchface will directly start the launcher if it detects a tap, at least if I'm reading the code correctly:
https://github.com/espruino/BangleApps/bĀlob/master/apps/lcars/lcars.app.js#L561