changelog
- 2021-12-04
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 05 Dec 2021 00:42:01 +0200] rev 133
- Need to time menu updates using Apple's frameworks to avoid segfaults.
However rumps.Timer doesn't work with menu updates while the menu is open, so
implement EventTrackingTimer class that uses NSEventTrackingRunLoopMode in
mainRunLoop.
- 2020-10-30
- by Tuomo Valkonen <tuomov@iki.fi> [Fri, 30 Oct 2020 14:09:39 -0500] rev 132
- Fix YAML warning
- 2020-04-21
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 21 Apr 2020 10:12:19 -0500] rev 131
- typofix
- 2020-04-21
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 21 Apr 2020 10:05:22 -0500] rev 130
- Update Borg Backup link to main website.
Add note that it needs to be installed.
- 2020-04-21
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 21 Apr 2020 09:59:51 -0500] rev 129
- Improve installation instructions;
move py2app to keychain configuration section.
- 2020-04-20
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 20 Apr 2020 18:14:12 -0500] rev 128
- Improve installation instructions
- 2020-04-20
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 20 Apr 2020 13:21:02 -0500] rev 127
- LICENSE update; option (c).
- 2020-04-20
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 20 Apr 2020 12:00:55 -0500] rev 126
- Adapt README to be directly useful for the website
- 2020-04-20
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 20 Apr 2020 09:31:30 -0500] rev 123
- Move license to its own LICENSE file.
- 2018-12-05
- by Tuomo Valkonen <tuomov@iki.fi> [Wed, 05 Dec 2018 08:27:35 -0500] rev 122
- screenshot, typofixes
- 2018-09-19
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 18 Sep 2018 19:09:16 -0500] rev 121
- Horrible py2app hack
- 2018-09-18
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 18 Sep 2018 18:58:19 -0500] rev 120
- py2app is a waste of my life.
- 2018-09-18
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 18 Sep 2018 18:10:03 -0500] rev 119
- Fixed error handling of launch of borg fails
- 2018-09-18
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 17 Sep 2018 19:48:02 -0500] rev 118
- py2app is fucked up shit that couldn't find a packages with staring at it
with its name written on it, and instead takes them all, so include a long
list of modules to forcibly exclude to build a reasonably-sized app.
- 2018-09-18
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 17 Sep 2018 19:31:22 -0500] rev 117
- xdg include fix?
- 2018-08-15
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 14 Aug 2018 22:57:48 -0500] rev 116
- Pruning scheduling fix
- 2018-02-16
- by Tuomo Valkonen <tuomov@iki.fi> [Fri, 16 Feb 2018 23:25:30 +0000] rev 115
- Changed one .debug message to .info
- 2018-02-14
- 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.
- 2018-02-07
- 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.
- 2018-02-06
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 06 Feb 2018 20:55:53 +0000] rev 112
- UI time display fixes
- 2018-02-06
- 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.
- 2018-02-06
- by Tuomo Valkonen <tuomov@iki.fi> [Tue, 06 Feb 2018 08:30:20 +0000] rev 110
- Oops, removed stray reset of menu entry info
- 2018-02-05
- by Tuomo Valkonen <tuomov@iki.fi> [Mon, 05 Feb 2018 18:34:08 +0000] rev 109
- Better error reporting logic.
- 2018-02-05
- 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.
- 2018-02-05
- 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.
- 2018-02-05
- 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.
- 2018-02-04
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 14:37:09 +0000] rev 105
- Various tray menu fixes
- 2018-02-04
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 09:38:55 +0000] rev 104
- Added some debug log messages
- 2018-02-04
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 02:19:26 +0000] rev 103
- Missing notify in scheduler sleep/wake callback
- 2018-02-04
- 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.
- 2018-02-04
- 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".
- 2018-02-04
- by Tuomo Valkonen <tuomov@iki.fi> [Sun, 04 Feb 2018 00:22:20 +0000] rev 100
- macOS "sleep" signals / status are complete bollocks:
at least when plugged in, the system is actually sometimes running all
night with the lid closed and sleepNotification delivered. Therefore,
we need our timers to work in a sane manner when we should be sleeping!
This patch is a first stage of this fix, implementing stopped dreamtime.
It also has improved comparisons of different types of time, based on
snapshotting.