UPDATED
1.1.0 (2021-11-01)
- ADDED :
MMM-TelegramBot
commandable. (Thanks to @doctorfree)
UPDATED
MMM-TelegramBot
commandable. (Thanks to @doctorfree)@flemmingss
I’m trying to build a new X3 from the scratch, which will respect default MM’s behaviours, will be independent of legacy/external momentJs
or other 3rd parties, will be more modular and lighter than X2 and with a few new features.
But it needs more days or weeks to release. I wish I have more dedicated time to that work. Sorry.
@sg437
Seems nothing wrong. What happened during the weeks?
And for more detail analysis, Backend Log and Frontend Log be needed.
import
ESM through JS regardless it exists locally or externally. . (Anyway, the above code works really.)<script type="module">
tag will probably be the one way but It will have a global namespace scope. I’m afraid of the risks of collision among MM modules that might be using the same namespace.getScripts()
doesn’t support script type
. So some codes for injecting proper script tag is needed by the developer himself,import()
and binding the namespace to the MM module would be possible. however, there will be some pitfalls, import()
is an asynchronous function. To prevent referencing unloaded ES modules or to avoid handling of DOM by ES Modules before DOM is created, so some tricks might be needed to confirm everything is ready. (Above my code is that.).Hey guys,
I have a small question about development.
When you have to import ESM
into your module, how you can do that?
This is my way.
start: function() {
this._domCreated = null
this._modules = {}
let _imports = []
let _domReady = new Promise((resolve, reject) => {
this._domCreated = resolve
})
_imports.push(new Promise((resolve, reject) => {
import('/' + this.file('something.mjs')).then(({ moduleA }) => {
this._modules.moduleA = moduleA
})
}))
Promise.allSettled([..._imports, _domReady]).then((result) => {
console.log('All ESM modules and DOM are readied. Now I can do anything...')
this._modules.moduleA.doSomeInitializing()
})
}
notificationReceived: function(notification, payload, sender) {
if (notification === 'DOM_OBJECTS_CREATED') {
this._domCreated()
}
}
But I’m not sure this is the best way. Is there any different approach?
@majorc said in Contrasting text on a changing background, again:
@mmrize is there a how2 for MM to get this?
? I can’t catch your words. Let me know more details. (Sorry, I’m not a natural-born English user)
@lexcyr
In the Linux environment, some additional options might be needed or modified (I mentioned it in README)
Anyway, you’ve said;
so i can’t see my desktop icons anymore
It means, your MM is not placed on the desktop
layer, but normal application
layer. (And your transparent setting also doesn’t work)
I doubt you probably miss these;
@sarcux
Well, I’m the original author of the documents and modules. So if docs are not helpful for you, it’s sorry.
However, hmmm…
...
slotSubTitleFormat: ' ',
dateTimeFormat: {
sameDay: "[Heute] HH:mm",
nextDay: "[Morgen] HH:mm",
nextWeek: "dddd HH:mm",
lastDay: "[Gestern] HH:mm",
lastWeek: "[Latzt] ddd HH:mm",
sameElse: "M/D HH:mm"
},
...
I just added this and got the above-captured image. And all are also documented already.
(You probably need to modify dateFormat
also for fullday event)
@marcelino The panel has a dedicated control board that has HDMI(for video and sound, yes, that cased-kit includes also stereo speaker set) and micro-USB(for power and touch input)