text: // apply Quiet Mode schedules
  (function qm() {
    if (Bangle.qmTimeout) clearTimeout(Bangle.qmTimeout); // so the app can eval() this file to apply changes right away
    delete Bangle.qmTimeout;
    let bSettings = require('Storage').readJSON('setting.json',true)||{};
    const curr = 0|bSettings.quiet;
    delete bSettings;
    if (curr) require("qmsched").applyOptions(curr); // no need to re-apply default options
  
    let settings = require('Storage').readJSON('qmsched.json',true)||{};
    let scheds = settings.scheds||[];
    if (!scheds.length) {return;}
    const now = new Date(),
      hr = now.getHours()+(now.getMinutes()/60)+(now.getSeconds()/3600); // current (decimal) hour
    scheds.sort((a, b) => a.hr-b.hr);
    const tday = scheds.filter(s => s.hr>hr),  // scheduled for today
      tmor = scheds.filter(s => s.hr<=hr); // scheduled for tomorrow
    const next = tday.length ? tday[0] : tmor[0],
      mode = next.mode;
    let t = 3600000*(next.hr-hr); // timeout in milliseconds
    if (t<0) {t += 86400000;} // scheduled for tomorrow: add a day
    /* update quiet mode at the correct time. */
    Bangle.qmTimeout=setTimeout(() => {
      require("qmsched").setMode(mode);
      qm(); // schedule next update
    }, t);
  })();
  