Review of "Chronos Time Tracker" version 15

Details Page Preview

Track your working time from the top panel: one click to start or pause, a running counter, and alarms that keep the day on track. Features: - Tracking — start/pause from the panel menu, cumulative counter shown as H:MM or H:MM:SS, restart to a preset value at any time - Break alarm — a notification after a chosen span of uninterrupted tracking, with a Postpone dialog - Start tracking reminder — a notification when the tracker stays paused inside your working hours, with Start, Postpone and Not today actions - Tracked time goal — a notification when the counter reaches your target, postponed by further tracked time rather than by the clock - Appearance — separate colors for the running and paused states, optional seconds in the indicator - Lock/suspend handling — optionally pause while the screen is locked; when disabled, time spent locked or suspended is recovered on resume - Logging — append every state change to ~/timeTrack.log, optionally capped to a number of lines - The counter may go negative, so you can count time owed down against a daily target - Localisation — English and Russian

Extension Homepage
https://github.com/0vvland/chronos

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 3

Shexli found 3 issues that may need reviewer attention.

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:252
    this._indicator = new Chronos(this)

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.

Disconnect all signals

  • extension.js:30
    this._settings.connect('changed', this.onChangeSettings.bind(this))

EGO-L-004 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • extension.js:78
          this._timeout = GLib.timeout_add(1000, GLib.PRIORITY_LOW, () => {
            // every 2 collected minutes store them
            if (getUintTime() - this._startTime > 60 * 2) {
              this.storeCountedTime();
            }
            this.refreshIndicatorLabel();
            return true;
          })

All Versions

Version Status
18 Active
17 Rejected
16 Rejected
15 Active
14 Rejected
13 Active
12 Rejected
11 Active
10 Active
9 Active
8 Active
7 Active
6 Active
5 Active
4 Active
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection active
Thanks!