aardappel / procrastitracker Goto Github PK
View Code? Open in Web Editor NEWa Windows time tracking application
Home Page: http://strlen.com/procrastitracker/
a Windows time tracking application
Home Page: http://strlen.com/procrastitracker/
Is it possible to add password option so the app is protected by a password?
When using the software, I find it's hard to categorize some tasks because the title will change often.
For instance a web browser will display the title of the app but sometimes you would like to regroup several titles together (for instance "xxxx - YouTube").
My proposal would be to allow to configure a list of regular expressions that gets applied to application titles, so for instance adding:
.* - YouTube
-> Youtube.com
would merge all youtube videos watched into the same task.
The same apply for Github, and many other web services.
The ability for the regexp to be applied afterwards would be nice.
Would it be possible to support the individual windows inside of mIRC's MDI interface? They would be channel names, and/or individual nickname messages..
I have tried to export out views from the db but it seem to not work. I'm trying to export from a date forward becaus I want to discard data from before a set date but i'm unable to.
I set it to a starting date -> today and then export, remove the old db and then open the application and the db is empty as expected. But when I import the view, it does import the whole old db. I have tried restarting the pc, terminating the app and everything else that there is to make this work, but it always merge the old db whole. Maybe it is ignoring views when exporting? It's odd because when I export to html it does show only the filtered data...
Am I doing something wrong?
Hello,
How can procrastitracker capture Firefox current url?
Very nice application
Thanks
Most of the ones between 1 week and 90 days appear to limit themselves to days in this month, and not set the date range correctly.
There is no shortcut to main window "View Statistics...", so a doubleclick on tray icon would be good user experience I think.
Single click on tray could open the menu (which is now done by doubleclick).
The program crashes seemingly randomly. I've noticed it almost every time when I close a game (The Outer Worlds to be exact) and go to check how long I have been playing it that day, But I just had it crash after closing PhpStorm.
How it looks like:
I close a game. I right click ProcrastiTracker's NotifyIcon, the context menu opens but it's unclickable, if I click it crashes and windows asks me if I want to close the program.
Would it be possible to show idle time in the UI?
I don't whether it is the full screen mode to cause this problem, it seems that it can't detect the lol application.
I can edit the colors in the program source, but they only take effect if I delete my database and start fresh which I don't want to do.
Therefore It seems tag colors are saved in the db file. I do not seem to have the technical know how to figure out how to edit the db file as is however. I can extract it with gzip and get a db file, but I can't figure out what the db file is. I've tired opening it with a number of different database browsers to no avail, and opening it in a text editor shows mostly only null characters and the tag names.
Would be great to be able to do some custom visualization - the timeline view is pretty limited in that it leaves out empty days and has no scale or labels. This is alright when you have the whole tree to explore as well, but not great as a standalone graph to share with others.
I saw you have some concerns about the CSV format being inadequate for tree-structure data. You know more than I do but for my purposes just having the top level in a predictable format would suffice:
Day App1 App2 App3 ...
2018/10/24 04:63:07 - sublime_text 02:08:56 - google_chrome 01:54:55 - photoshop
2018/10/25 04:25:53 - sublime_text 01:22:56 - photoshop 00:32:12 - slack
2018/10/26 03:23:02 - sublime_text 01:08:56 - google_chrome 00:53:01 - cmd
Lower level data could be represented in the same field with a simple separator, like:
Day App1 App2 ...
2018/10/24 04:63:07 - sublime_text >> C: >> foobar >> etc.py 02:08:56 - google_chrome >> github.com >> Blahblah
This would allow for custom scripts to access the data and create custom visualizations.
Alternatively, is there a way for an external script to access the actual PT database itself?
It was running on the notification area, as I just reopened my Windows 10 Dell Laptop after it slept it disappears. I reopened the application and viewed my statistics again, then all my data (6 hours at least) is gone.
I've seen that tag colors are loaded from (and saved to) db, but there's no way to edit them without tinkering with the file.
A subject of my brief confusion was absence of context menus on the tag list and treeview - separate buttons to change tag name and apply tag to tree item would have seemed like an interesting twist.
https://github.com/YellowAfterlife/procrastitracker/
Done:
Not done:
May or may not be made appropriately due to my limited experience with "raw" WinAPI.
If this looks fine, I can submit a PR. Otherwise would be glad to hear what to do with this.
Both the setup package and the installed executable are identified as Trojan: Win32/Maltule.C!cl by Windows Defender at Windows 10.
Items for the setup package:
containerfile:C:\ProgramData\Microsoft\Windows Defender\LocalCopy{6C164890-F6A4-465B-B279-F18934AA2393}-ProcrastiTracker_Setup.exe
containerfile:C:\ProgramData\Microsoft\Windows Defender\Scans\FilesStash\3573A51A-0626-6640-3937-50EF4FCE2F86_1d1ebcda759762d
containerfile:C:\Users\wildcat\Downloads\ProcrastiTracker_Setup.exe
file:C:\ProgramData\Microsoft\Windows Defender\LocalCopy{6C164890-F6A4-465B-B279-F18934AA2393}-ProcrastiTracker_Setup.exe->(nsis-6-procrastitracker.exe)
file:C:\ProgramData\Microsoft\Windows Defender\Scans\FilesStash\3573A51A-0626-6640-3937-50EF4FCE2F86_1d1ebcda759762d
file:C:\ProgramData\Microsoft\Windows Defender\Scans\FilesStash\3573A51A-0626-6640-3937-50EF4FCE2F86_1d1ebcda759762d->(nsis-6-procrastitracker.exe)
file:C:\Users\wildcat\Downloads\ProcrastiTracker_Setup.exe->(nsis-6-procrastitracker.exe)
webfile:C:\ProgramData\Microsoft\Windows Defender\LocalCopy{6C164890-F6A4-465B-B279-F18934AA2393}-ProcrastiTracker_Setup.exe|chrome.exe
webfile:C:\ProgramData\Microsoft\Windows Defender\Scans\FilesStash\3573A51A-0626-6640-3937-50EF4FCE2F86_1d1ebcda759762d|http://strlen.com/procrastitracker/ProcrastiTracker_Setup.exe|chrome.exe
webfile:C:\Users\wildcat\Downloads\ProcrastiTracker_Setup.exe|http://strlen.com/procrastitracker/ProcrastiTracker_Setup.exe|chrome.exe
Items for the installed executable:
file:C:\Program Files (x86)\ProcrastiTracker\procrastitracker.exe
file:C:\Users\wildcat\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ProcrastiTracker.lnk
process:pid:8640,ProcessStart:131144269884830321
startup:C:\Users\wildcat\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ProcrastiTracker.lnk
Got it back by making a custom build that discards the 'hidden' field in nodes, but it should probably be fixed or made more clear as to how to solve this..
I'd like a means to automatically tag items. For instance, I'd like to automatically say that time spent in the Netflix or my news reader app is entertainment, and time spent on my school's website is schoolwork. I could see doing this with Regex, but I'm not particularly attached to that implementation idea. However, some means of automatic tagging would reduce the amount of time I have to spend tagging items, and thus help me be more productive.
Hi!
Huge fan of your work. Has saved me a bunch of time for billing & keeping track of time.
I had an issue recently with keeping track of time spent in virtual desktops. I was using a tool called "Desktops" from sysinternals. Procrastitracker (and a few other similiar apps) cannot seem to track any activity in any other virtual destop but desktop 1. What is the reason for this?
I posted this question on a sysinternals forum too, we will see what happens there.
Thanks,
Drew Morrissey
Hello, thank you for this very useful piece of software.
I've been experiencing a bug:
The database files are there, yet procrastitracker doesn't read anything before ~30 days. (I did set it to "All Time").
I remember a while ago it wouldn't read anything before 2 to 3 months, I think. Now it's 30 days.
Also all my tags have reset (again), but I guess that's a different bug. Maybe I'll open a new Issue.
I've built it locally, if you want me to use the debugger for anything.
Thanks.
Dear @aardappel,
the repository is updated with commits which bring features and fixes, yet the official binary version is still dated back to 2016. Perhaps it’s very time to release a new version for mere Windows users without compiler? Releases section of Github might be the very place for it.
Tools does the job. I see now very detailed view with no need to type manually. Please add donate button for such cool stuff.
Binary installer from website:
https://www.metadefender.com/#!/results/file/ZTE2MTEwM0hrbXZUd1dPbGdCazR2cHYtT2dn/regular/analysis
https://www.virustotal.com/en/file/5d4d6bda9640ca24d5ac36669b924853c60942af5edca6b51f6ed34367774ba9/analysis/1478133705/
Compiled from source:
https://www.metadefender.com/#!/results/file/ZTE2MTEwM3JKelpmWVdkZ2VCSm1aekZaT3hs/regular/analysis
https://www.virustotal.com/en/file/756b7d6b2227789bf831c62a178c61931584f848fe90e57a808c67ec48e0a931/analysis/1478134193/
Not sure what's giving these positives.
Is it possible to import data from similar software?
I would love to convert my ManicTime database to PT. Thank you.
Seems the MS Visual C (or Studio) Community Edition cannot be installed on Windows XP.
I prepared a DIFF file containing modifications necessary to adapt procrastitracker for MinGW.
pt4mingw_diff.zip
To apply it, one need use 'patch' utility - get the DIFF fiile from the ZIP, enter 'src' directory and
run "patch < (path)\pt4mingw.diff"; then can use 'make' command to compile the procrastitracker.
Working on port to the MinGW I discovered an bug in procrastitracker - the mouse wheel
moves were not counted because incorrect structure was used. 'pt4mingw.diff' fixes it, too.
Request for tests: (1) compile procrastitracker with my modifications (see if these sources can be
compiled using newest Visual Studio Community Edition), and (2) try how my changes affect
counting mouse wheel moves (I noticed they were ignored with the structure used previously
and they are counted correctly after the change I did, after compiling by MinGW).
I tested the resultant EXE and found it writes correct db.PT files; I did not test its graphical
interface - possibly need do something to get it working. I also asked someone to compile
modified sources using an older Visual Studio - they could be compiled without more changes
Important: MinGW and older MS Visual Studio do not support 'auto' type for variables.
All their occurrences (there are 3 of them now) must be replaced with the correct type,
and adding 'auto' type variables should be avoided for compatibility with other compilers.
In my environment, I have gcc-g++ and libz (so I do not use the included zlib), and posiibly some
other MinGW libs or utils - it is hard to find if a package was installed manually or automatically.
Full list of packages in my MinGW environment:
mingw32-base, mingw32-binutils (bin), mingw32-gcc (bin+lic),
mingw32-gcc-g++ (bin+dev), mingw32-gdb (bin), mingw32-libatomic (dll),
mingw32-libgcc (dll), mingw32-libgmp (dll), mingw32-libgcmp (dll),
mingw32-libiconv (dll), mingw32-libintl (dll), mingw32-libmpc (dll),
mingw32-libmpfr (dll), mingw32-libthreadgc (dev+dll),
mingw32-libquadmath (dll), mingw32-libssp (dll), mingw32-libstdc++ (dll),
mingw32-libz (dev+dll), mingw32-make (bin), mingw32-mingw-get (bin+gui+lic),
mingw32-mingwrt (dev+dll), mingw32-tcl (bin+dev+dll+doc),
mingw32-tk (bin+dev+dll+doc), mingw32-w32api (dev), mingw32-zlib (lic),
msys-base (bin), msys-bash (bin), msys-bzip2 (bin),
msys-core (bin+doc+ext+lic), msys-coreutils (bin), msys-diffutils (bin),
msys-dos2unix (bin), msys-file (bin), msys-findutils (bin), msys-gawk (bin),
msys-grcp (bin), msys-gzip (bin), msys-less (bin), msys-libbz2 (dll),
msys-libiconv (dll), msys-libintl (dll), msys-liblzma (dll),
msys-libmagic (dll), msys-libregex (dll), msys-libtermcap (dll),
msys-make (bin), msys-patch (bin), msys-sed (bin), msys-tar (bin),
msys-termcap (bin), msys-texinfo (bin), msys-unzip (bin), msys-xz (bin)
I think it's important issue for games.
Is there a way to show the extracted data into a particular database for example sql server or mysql...........
Whenever I'm not connected to the internet, if I have a fullscreen game open for a few minutes, the game will minimize and I'll get a popup from procrastitracker saying that it cannot recreate the taskbar icon. Procrastitracker then crashes. Exiting and restarting PT does not fix it: I get the same problem a few minutes later. When I am connected to the internet everything is fine: it does not crash, even while full screen games run.
I wanted to process the data myself, to visualize some of my keystroke activity for fun. However I could not find any guide or hint as to how to read the file. There is this but I am not familiar with Java.
Would it be feasible to provide geeks among users with a guide or some hints?
So I'm collecting data on myself and I like that your app records each and every window even sub windows.. But is there a way for you to collect data on the URL of the web and/or file location of an application?
Also the exact date and time of the application start and end would be nice compared to just the total usage time..
Dear @aardappel,
your application belongs to the works of the 21st century, yet it seems not to be aware of Unicode:
�е в �ебе
instead of Не в себе
себе
)Would you mind fixing it?
Currently the application can filter based on start day and end day. It will be great if it can include start time and end time as well
Hi! I love the work you are doing. I wanted to tell you that I'm not able to view the "apply tag to node" and "rename tag" button on my laptop screen, it's HD 720p, even on full screen.
You should embed a scroll on the left side.
Thanks :)
I just installed "ProcrastiTracker_Setup.exe" from http://strlen.com/procrastitracker/#download and Windows Defender is reporting:
"ProcrastiTracker_Setup.exe" has a SHA1 hash of 4fce6e14fd35bdd2ed82b3e534bf196efd2f325a
Anyone else getting this?
Great program! You should consider making it available through chocolatey.
It might happen that we might have opened a window and have a face to face discussion with others, during which the application will assume that we have worked on that window for so long.
Hello. I prepared 2 changes today: 1st was saving database when the procrastitracker is ended due to logout/reboot/shutdown, 2nd was Makefile changes for using NSIS (it modifies executable file name to match this needed by NSIS, and shows an information how to use NSIS to make an installer.
I put the 1st on the GitHub, made a pull request, and then put the 2nd, assuming the pull request will not be affected by the 2nd change - seems it was, and both changes were merged. This will not be a problem for anyone using MS compiler, as it ignores the Makefile; it should not be a problem for anyone using Mingw, as the 'make' will just tell that the NSIS can be used and how.
The only wrong thing is that the change title does not reflect fully what in fact was changed and this may be misguiding for anyone looking at history of changes.
Currently we have to select one item after another and tag them. If we can multiselect items and tag all of them in a single go, it will be much more productive.
Downloaded the installer from the official website and Windows Defender detected it basically immediately. This is a pretty severe issue.
I'd recommend hosting the releases on github, since it can be caused by a hacked webhost...
I've been looking for something like this and there's a ton where they just do too much and charge too much (hundreds per month). This is almost exactly what I was hoping for (if a bit less pretty, haha). So thanks!
It would be ideal if it did as I saw some of those things do, subtracting the time spent idle once the idle limit is hit, rather than only stopping tracking from then onwards. I spend a lot of time staring at the screen and thinking, so it would let me set the idle limit higher (10-15 min) without worry of it becoming really inaccurate from going AFK.
Only ~1 hour registered out of ~3 hours spent writing & debugging code in Visual Studio 2015 launched in Administrator mode. It seems that when VS is launched normally, the time gets registered correctly.
hi, this looks really cool, but i'm getting a virus threat on the link on your website for the installer.
I have been using procrastitracker a couple of years now and only now have I had a need for the away tracker :-). (Great tool by the way, many thanks)
The problem is that this window pops "under" other windows and thus I only notice it when alt-tabbing to other stuff. Running on Windows 7, 64bit. If you need any other info let me know.
First of all - thanks for all the great work on this incredible app! It's amazingly simple and useful.
Have you considered also showing a timeline view, in addition to the tree? When reviewing the work I've done each day, it's incredibly helpful to piece the day together with window activities. I assume this would deviate slightly, as it's likely that the same window would appear multiple times throughout the day, so would need to be tracked as such. There are commercial products doing this, but it'd be great if procrastitracker could fit the bill.
so that we can easily copy and process the db easily without additional programming.
thanks!
Tree view multiselect with ctrl or shift to use "apply tag" with multiple nodes in one click
I know it may be difficult to implement since everything is written with Win32 api, but I think it would be soo useful
What would really help in separating work done in various modes would be tracking of coinciding system settings.
First and foremost I would welcome here the option of logging coinciding network settings (e.g. IDE usage while specific IP is assigned to the mobile workstation) since this is the most convenient way of separating between in-office work, work on-site and work at home (e.g. by mapping gateway, DNS or IP to specific location).
Other properties that would also help in determining the nature of work performed would be the CPU usage (e.g. wait time while compiling), network traffic flow, log-in status etc.
Is it possible to filter out (not stop counting, just not being shown) one or more apps or tags? (at least tags would be good enough). For example if I want to exclude Chrome from my daily feed, simply have an option (maybe a check button next to the surfing tab). Also since I like to be detailed and assign tags on tasks, maybe a + button to add a custom tag?
Keep up the great work, this tool is trully amazing
Recently I noticed that procrastitracker shows me "away popup" when I switch focus from Visual Studio window to any another app. I use windows 10 with latest updates and run Visual Studio Enterprise 2015 Update 3 as administrator. What may cause this issue? Can I fix it from my side?
I'll preface this with the fact that my system hasn't ever crashed for any other reason, nor have had any other issues and is very stable.
Every so often if I double click the ProcrastiTracker system tray icon rather than right click it. (I forget get that double clicking doesn't just open the main window as that's how everything else I have in the tray area works. XD) The system will crash. No BSOD just screen freeze death.
The first few times it happened I just thought it was a random fluke, but figured I'd try not to risk it and just put a sticky note at the side of my screen to always use the right click and I went an entire month solid up time with zero issues, then someone removed my sticky note and I accidentally double clicked it, and the system froze and crashed. So at this point I'm pretty sure double clicking the ProcrastiTracker system tray Icon can crash a windows 10 system.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.