Collections of timewarrior-extensions and a golang library for parsing input from timewarrior extension API.
Sums time spent per day and calculates the difference to the daily target. The default is 8 hours. If you already have overtime (or undertime), you can have flextime take it into account by setting a global offset.
The following configuration keys are supported:
Key | Type | Default | Description |
---|---|---|---|
flextime.time_per_day |
Duration | 8h |
Daily time target. |
flextime.offset_total |
Duration | 0 |
Time spent or lacking from a previous period. |
verbose |
Bool | true | Print daily sums. |
debug |
Bool | false | Enable debug output. |
Durations must be given in a format supported by go's time duration parser.
After cloning the repo, build directly into your timewarrior extensions directory:
go build -o ~/.timewarrior/extensions/flextime ./cmd/flextime
Then run timew with flextime
report:
timew flextime
The output looks like this. actual
is the actual accounted time. target
is
the daily/total target. diff
is the difference between actual
and target
.
date actual target diff
2024-06-30 3:39 8:00 -4:20
2024-07-08 0:06 8:00 -7:53
total 3:45 16:00 -12:14
The package twext implements basic functions for reading input from timewarrior as described in their docs. All of the extensions in this repository are built based on the library.