Desktop timer for project tracking
May 16, 2021 5:07 PM   Subscribe

I'm looking for an offline/desktop project time tracker. There seem to be a lot of these but most have issues. It needs to be desktop as net is not perfect here. What I'm hoping for is either something I can set to track folders and individual file actions, or something that I can just punch a shortcut for a e.g. jobcode and the system logs it. I've been running flabdablet's nagme.cmd for a long while now but need something more granular.

I've looked at:

- manictime - but it keeps crashing when I add items to include/exclude, otherwise seems like a good handsfree solution.
- klok needs Abobe Air, which conflicts with other software on my system.

I've recently found timetrace, and it seems to fit, but would require me to load yet another framework to run it, AFAICT.
posted by unearthed to Computers & Internet (5 answers total) 1 user marked this as a favorite
 
something I can set to track folders and individual file actions

Windows has this built in. Bit fiddly to get going but not having to install anything might make up for that.

Results end up in the Event Log, from which you can export them with PowerShell for further processing by Excel or whatever.
posted by flabdablet at 5:21 AM on May 17, 2021


Response by poster: Thanks very much flabdablet, I'll try when I get home, it looks like a nice local solution. Amazing there are so many useful tools in windows that are not enabled by default, and a certain hassle to switch on.

I hope all is well with you in Gippsland.
posted by unearthed at 1:42 AM on May 18, 2021


Not a direct answer to your question, but: the makers of ManicTime were really responsive to my cries for help, so maybe if you contact them with your problem?
posted by gakiko at 2:49 AM on May 18, 2021


I'll try when I get home

Let me know how you get on.

If you're going to use PowerShell code to export stuff from the Event Log, you'll presumably want to package it as a script you can run just by double-clicking it. The least fragile way to do this, as far as I know, still involves wrapping your PowerShell code up in a little JScript tortilla. This is the one I usually use. Save it as a file with a .ps1 extension while you're debugging it, then change the extension to .js to make it executable by double-click or drag-and-drop.
$b='\'<#';ax=ActiveXObject;ws=WScript;fs=new ax('Scripting.FileSystemObject')
fs.CopyFile(ws.ScriptFullName,ps1=fs.GetSpecialFolder(2)+'\\'+ws.ScriptName.
slice(0,-3)+'-'+new ax('Scriptlet.TypeLib').Guid.slice(1,37)+'.ps1')
cmd='powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -File "'+ps1+'"'
a=ws.Arguments;for(i=0;i<a.length;++i)cmd+=' "'+a(i)+'"'
new ax('WScript.Shell').Run(cmd,0,true);fs.DeleteFile(ps1,true)/*#>

# This is a polyglot script, syntactically correct in both PowerShell and
# JScript. The first six characters are active in both languages; the rest are
# wrapped in the inactive language's comment markers. If the file is saved
# with a .js filename extension, the JScript part makes a temporary .ps1 copy
# and runs it with PowerShell, bypassing the default execution policy that
# usually blocks the use of .ps1 scripts and hiding the PowerShell console.

# Replace this comment line with your own PowerShell code.

#*/

posted by flabdablet at 7:47 AM on May 18, 2021


By the way, if you do want a PowerShell console window to be visible while running the above as a JScript, perhaps for debugging purposes, just changing Run(cmd,0,true) to Run(cmd,1,true) will make that happen. The filename included in any PowerShell error messages will be that of the temporary .ps1 copy rather than the original .js file, but the line numbers will be correct.
posted by flabdablet at 9:55 AM on May 18, 2021


« Older Well, I guess I just ask questions about Star Trek...   |   Workout Glucose Control. Newer »
This thread is closed to new comments.