rtw 2.3.1

time tracker command line tool
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
# RTW Commands

<!--ts-->
   * [RTW Commands]#rtw-commands
      * [Start New Activity]#start-new-activity
         * [Start tracking an activity now]#start-tracking-an-activity-now
         * [Start tracking an activity 4 minutes ago]#start-tracking-an-activity-4-minutes-ago
         * [Start tracking an activity at a specific time]#start-tracking-an-activity-at-a-specific-time
      * [Stop Current Activity]#stop-current-activity
         * [Stop current activity now]#stop-current-activity-now
         * [Stop current activity 4 minutes ago]#stop-current-activity-4-minutes-ago
         * [Stop current activity at a specific time]#stop-current-activity-at-a-specific-time
      * [Cancel current activity]#cancel-current-activity
      * [Display Summary]#display-summary
         * [Display finished activities summary for today]#display-finished-activities-summary-for-today
         * [Display finished activities summary for yesterday]#display-finished-activities-summary-for-yesterday
         * [Display finished activities summary for last week]#display-finished-activities-summary-for-last-week
         * [Display finished activities summary for range]#display-finished-activities-summary-for-range
         * [Display finished activities id]#display-finished-activities-id
         * [Display a report (sum same activities)]#display-a-report-sum-same-activities
      * [Display a timeline]#display-a-timeline
         * [For the day]#for-the-day
         * [For the week]#for-the-week
         * [For a time range]#for-a-time-range
      * [Export Finished Activities to iCalendar]#export-finished-activities-to-icalendar
         * [For today]#for-today
         * [For last week]#for-last-week
         * [For a given date range]#for-a-given-date-range
      * [Continue Activity]#continue-activity
         * [Continue last finished activity]#continue-last-finished-activity
         * [Continue finished activity with id]#continue-finished-activity-with-id
      * [Delete Activity]#delete-activity
         * [Delete Activity with id]#delete-activity-with-id
      * [Track a finished activity]#track-a-finished-activity
         * [Track a finished activity with dates]#track-a-finished-activity-with-dates
         * [Track a finished activity the same day]#track-a-finished-activity-the-same-day
      * [Track an activity and provide a long description]#track-an-activity-and-provide-a-long-description
      * [Display current status (for usage in scripts/status bars/prompts...)]#display-current-status-for-usage-in-scriptsstatus-barsprompts
      * [For multitasking people]#for-multitasking-people
         * [Start (overlapping) activities]#start-overlapping-activities
         * [Stop ongoing activity]#stop-ongoing-activity

<!--te-->
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)

## Start New Activity

### Start tracking an activity now
 
Example:
 ```
 rtw start write doc
```

Example output:
```
Tracking write doc
Started  2019-12-25T19:43:00
```

### Start tracking an activity 4 minutes ago

Example:
```
rtw start 4 min ago write doc
```

Example output:
```
Tracking write doc
Started  2019-12-25T19:39:00
```

### Start tracking an activity at a specific time

Example:
```
rtw start 2019-12-24T19:43:00 write doc
```

Example output:
```
Tracking write doc
Started  2019-12-24T19:43:00
```

## Stop Current Activity

### Stop current activity now

Example:
```
rtw stop
```

Example output:
```
Recorded write doc
Started 2019-12-25T19:43:00
Ended   2019-12-25T19:50:00
Total   00:07:00
```

### Stop current activity 4 minutes ago

Example:
```
rtw stop 4m ago
```

Example output:
```
Recorded write doc
Started 2019-12-25T19:43:00
Ended   2019-12-25T19:46:00
Total   00:03:00
```

### Stop current activity at a specific time

Example:
```
rtw stop 2019-12-25T19:45:00
```

Example output:
```
Recorded write doc
Started 2019-12-25T19:43:00
Ended   2019-12-25T19:45:00
Total   00:02:00
```

## Cancel current activity

Example:
```
rtw cancel
```

Example output:
```
Cancelled write doc
Started   2019-12-24T19:43:00
Total     00:20:05
```

## Display Summary

### Display finished activities summary for today

Example:
```
rtw summary
```

Example output:
```
write doc    2019-12-25T19:43:00 2019-12-25T19:45:00 00:03:000
```

### Display finished activities summary for yesterday

Example:
```
rtw summary --yesterday
```

Example output:
```
write doc    2019-12-24T19:43:00 2019-12-24T19:45:00 00:03:000
```

### Display finished activities summary for last week

Example:
```
rtw summary --lastweek
```

Example output:
```
write doc    2019-12-17T19:43:00 2019-12-17T19:45:00 00:03:000
```

### Display finished activities summary for range

Example:
```
rtw summary 19:00 - 20:00
```

Example output:
```
write doc    2019-12-17T19:43:00 2019-12-17T19:45:00 00:03:000
```

### Display finished activities id

Example:
```
rtw summary --id
```

Example output:
```
 2 foo          2019-12-25T17:43:00 2019-12-25T17:44:00 00:01:00
 1 another foo  2019-12-25T18:43:00 2019-12-25T18:44:00 00:01:00
 0 bar          2019-12-25T19:43:00 2019-12-25T19:44:00 00:01:00
```

> id 0 = last finished activity

### Display a report (sum same activities)

Example:
```
rtw track 8 - 9 foo
rtw track 9 - 10 foo
rtw track 10 - 11 bar
rtw summary --report
```

Example output:
```
foo 02:00:00 (2 segments)
bar 01:00:00 (1 segments)
```

## Display a timeline

### For the day

```bash
rtw day
```

Example output (YMMV):

![timeline](img/day.png)

### For the week

```bash
rtw week
```

### For a time range

```bash
rtw timeline last monday - now
```

## Export Finished Activities to iCalendar

### For today

Example:
```
rtw dump
```

Example output:
```
BEGIN:VCALENDAR
VERSION:2.0
PRODID:ICALENDAR-RS
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20200616T184116Z
DTEND:20200616T203000
DTSTART:20200616T160000
SUMMARY:build a spaceship
UID:3bc8b3b6-d17b-4e1d-8323-2f55bfb14792
END:VEVENT
END:VCALENDAR
```

Dump to ics file: `rtw dump > today.ics`

### For last week

Example:
```
rtw dump lastweek
```

Dump to ics file: `rtw dump --lastweek > lastweek.ics`

### For a given date range

Example:
```
rtw dump last monday - now
```

Dump to ics file: `rtw dump last monday - now > lastweek.ics`

## Continue Activity

### Continue last finished activity

Example:
```
rtw continue
```

Example output:
```
Tracking write doc
```

### Continue finished activity with id

Example:
```
rtw continue 2
```

Example output:
```
Tracking read twir
```

## Delete Activity

### Delete Activity with id

Example:
```
rtw delete 1
```

Example output:
```
Deleted write doc
Started 2019-12-25T19:43:00
Ended   2019-12-25T19:45:00
Total   00:02:00
```

## Track a finished activity

### Track a finished activity with dates

Example:
```
rtw track 2019-12-25T19:43:00 - 2019-12-25T19:45:00 write doc
```

> please note the `-` separator

Example output
```
Recorded write doc
Started 2019-12-25T19:43:00
Ended   2019-12-25T19:45:00
Total   00:02:00
```

### Track a finished activity the same day

Example:
```
rtw track 09:00 - 10:00 write doc
```

> please note the `-` separator

Example output
```
Recorded write doc
Started 2020-03-14T09:00:00
Ended   2020-03-14T10:00:00
Total   01:00:00
```

## Track an activity and provide a long description

Example:

```
rtw track 9 - 10 breakfast -d "I ate delicious pancakes"
rtw summary -d
```

output:
```
breakfast 2020-07-11T09:00:00 2020-07-11T10:00:00 01:00:00
I ate delicious pancakes
```

## Display current status (for usage in scripts/status bars/prompts...)

Example:

```
rtw start foo
rtw status --format "{id} {ongoing} {start} {human_duration} {duration}"
```

output:

```
0 foo 2021-04-20T19:31:09 2 hours ago 02:20:53
```

## For multitasking people

Requires `deny_overlapping: false` in `rtw_config.json`

### Start (overlapping) activities

Example:

```
rtw start work
rtw start child question -d "answer how fish can breath under water"
rtw
```

Output:

```
./target/debug/rtw                                                                                                                                       PicoJr
Tracking work
Total    00:03:03
Id       0
Tracking child question
Total    00:01:25
Id       1
```

### Stop ongoing activity

`--id` is only required when ongoing activities > 1.

Example:

```
rtw stop --id 1
```

Output:

```                                                                                                                        PicoJr
Recorded child question
Started 2020-07-14T10:54:36
Ended   2020-07-14T10:57:23
Total   00:02:47
```

stop the other remaining ongoing activity:

```
rtw stop
```

Output:

```
Recorded work
Started 2020-07-14T10:52:58
Ended   2020-07-14T11:00:17
Total   00:07:18
```