changelog
- Wed, 14 Feb 2018 15:23:39 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Wed, 14 Feb 2018 15:23:39 +0000] rev 114
- Disable Notification Centre notifications.
They don't work reliably for some reason, and are in any case annoying
unless the display is somehow fine-tuned.
- Wed, 07 Feb 2018 20:39:01 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Wed, 07 Feb 2018 20:39:01 +0000] rev 113
- Time snapshot fixes.
Python's default arguments are purely idiotic (aka. pythonic): generated
only once. This makes sense in a purely functional language, which Python
lightyears away from, but severely limits their usefulness in an imperative
language. Decorators also seem clumsy for this, as one would have to tell
the number of positional arguments for things to work nice, being able to
pass the snapshot both positionally and as keyword. No luck.
So have to do things the old-fashioned hard way.
- Tue, 06 Feb 2018 20:55:53 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 06 Feb 2018 20:55:53 +0000] rev 112
- UI time display fixes
- Tue, 06 Feb 2018 20:16:59 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 06 Feb 2018 20:16:59 +0000] rev 111
- Changed dreamtime calculation.
The monotonic clock (time.monotonic()) sometimes advances unreliably
in sleep, so isn't reliable for calculating sleeping time. We have to
use time.time(). But this may be changed by the user, so we only use
it to track sleep periods, and still use time.monotonic() to track
wake periods.
- Tue, 06 Feb 2018 08:30:20 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 06 Feb 2018 08:30:20 +0000] rev 110
- Oops, removed stray reset of menu entry info
- Mon, 05 Feb 2018 18:34:08 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 05 Feb 2018 18:34:08 +0000] rev 109
- Better error reporting logic.
- Mon, 05 Feb 2018 18:32:36 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 05 Feb 2018 18:32:36 +0000] rev 108
- Error status wasn't correctly transmitted to UI after recent changes.
- Mon, 05 Feb 2018 18:24:30 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 05 Feb 2018 18:24:30 +0000] rev 107
- Oops, a zero retry_interval check had gone missing in scheduling reorganisation.
- Mon, 05 Feb 2018 10:25:17 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 05 Feb 2018 10:25:17 +0000] rev 106
- Added exeption protection decorators to callbacks.
If callbacks crash, there's rarely anything in the logs otherwise.
- Sun, 04 Feb 2018 14:37:09 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 14:37:09 +0000] rev 105
- Various tray menu fixes
- Sun, 04 Feb 2018 09:38:55 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 09:38:55 +0000] rev 104
- Added some debug log messages
- Sun, 04 Feb 2018 02:19:26 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 02:19:26 +0000] rev 103
- Missing notify in scheduler sleep/wake callback
- Sun, 04 Feb 2018 01:36:59 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 01:36:59 +0000] rev 102
- Changed scheduler busylooping method, and decreased precision to 5 minutes:
if there are finite-horizon events in the queue, the scheduler thread will never
sleep longer than that. This is to quickly get back on track with the schedule
when the computer wakes up from sleep, if the sleep monitor is not working or
is not implemented for the particular operating system. However, if there are
only infinite-horizon events in the queue (meaning, DreamTime-scheduled events,
and the system is sleeping or "sleeping"), the scheduler will also sleep.
Hopefully this will also help the system stay properly asleep.
- Sun, 04 Feb 2018 01:27:38 +0000
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 01:27:38 +0000] rev 101
- Part 2 of handling macOS sleep/wake signal brokenness.
a) Added Time.horizon(), which indicates how far the Time event is from the
epoch, in monotonic time. For DreamTime, if the system is sleeping, this
returns ∞. b) The DreamTime monitor also signals sleep to callbacks, so
that the Scheduler can re-sort the events. The sorting is now done by
the horizon, so DreamTime events will be moved last and not activated when
the system is sleeping or "sleeping", but other events will be executed
normally if the system is merely "sleeping".