-
• #2
Hi,
There isn't a way of doing this in 2v08 (short of modifying every app to make it declare what it is).
However I have just added something I have been meaning to do for a while, which is to make the
load(filename)
function write the file that has just been loaded into a variable. So if you load a cutting edge build, you can now do:function getAppType() { if (!global.__FILE__) return "clock"; if (!__FILE__.endsWith(".app.js")) return "app"; var j = require("Storage").readJSON(__FILE__.slice(0,-7)+".info",1); return (j&&j.type)||"app"; }
So
__FILE__
will be the file that has been loaded, however in the default app case (egload()
or long-press BTN3) it'll just be undefined, since no file was supplied.So actually if you just want to run this only for the default clock, you can check
global.__FILE__===undefined
. However in that case if you then explicitly run it from the launcher,__FILE__
will end up getting set. -
• #3
Hi Gordon,
That is exactly what I'm looking for! Thanks for getting this implemented, I'll have a play around once I get the chance.
Hi folks,
I'm trying to figure out if there's a way to access information about the current "screen" that the Bangle is on. I would like my widget to listen to a button press only when the Bangle is on its default screen/clock face (and NOT when I'm in the Launcher or in a different App) and I'm having trouble accessing that information.
Is that currently possible at all? I've looked through the Espruino/Banglejs API reference documentation but I might be using the wrong keywords when looking for a solution. If that is currently not possible, could you please point me in the direction of the source code where I could implement this functionality?
Any help would be much appreciated!