Creator of Thyme here. I made it track my own application usage and find possible interventions to boost my productivity. Happy to answer any questions and hope you find it useful!
So from my understanding, given how you've commented that it works with Xorg, you're getting the list of everything on the screen that is currently drawing a rectangle. Do you get some false positive issues with things like your window manager. What about if I made the mistake of listening to the wrong kind of music while programming (or playing YouTube in the background) -- thyme wouldn't be able to track those, right?
Also, is the name a reference to this xkcd? It's the first thing I thought of when seeing the name. https://xkcd.com/282/
Looks like a nice project but me myself prefers Wakatime that breaks down the time between project (basically git sources you open in your editor) rather than all the application opens. Then I can see what project I'm spending too much/little time at and balance myself.
Looks excellent. My immediate thought was whether it could be developed to get one step ahead: actually flag up the "bad" behaviour when you're doing it, rather than afterwards when it's too late
Obviously, that could sometimes be deeply annoying but there'd be plenty of times I'd like a calm push to focus and to stop switching about!
Of course detecting that sort of behaviour effectively would be a non-trivial task but it strikes me as pretty helpful.
I'm excited to try this myself because I'm kind of hoping I can ditch RescueTime! Not that I don't like it, but it's $ and they have my data. It feels weird to be running their agent on my systems, and I actually don't run it on my work machines because that's a bridge too far.
I wrote a very bare-bones version of this a few years ago for my personal use on MacOS, which has been running ever since: https://github.com/goerz/activity_logger/
This looks much more polished though, so it may be time for a switch!
Apologies for the lack of Windows support! I unfortunately don't have a Windows machine, but all that's necessary to add support is to implement this simple Go interface: https://sourcegraph.com/github.com/sourcegraph/thyme/-/blob/.... I'd gladly trade a drink for a pull request (or a free t-shirt if you're not in San Francisco)!
For those on OSX, using Homebrew to install go is a far nicer experience, in addition to making it easier to keep things up-to-date. http://brew.sh then `brew install go` will move you past step 0, although I somehow thought one had to specify a `GOPATH` in order to use `go get`:
$ go get -u github.com/sourcegraph/thyme/cmd/thyme
package github.com/sourcegraph/thyme/cmd/thyme: cannot download, $GOPATH not set. For more details see: go help gopath
meaning there is a step 0.5 of `export GOPATH=/some/place/with/a/lot/of/disk/space` and (again, as I understand it) you'll want `$GOPATH/bin` in your `$PATH` or step 2 will not behave as expected.