neptuo / productivity.activitylog Goto Github PK
View Code? Open in Web Editor NEWSmall Windows utility to log top-window-time in day.
Small Windows utility to log top-window-time in day.
We need to store data very efficiently.
All strings should be stored only once.
One solution is to create a single file with strings. Each string has a number index assigned.
$1=ActivityStarted
$2=ActivityEnded
$3=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
$4=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe
Then day log files will use these variables when storing logs.
1;$1;$3;New Tab;2017-07-11_14:44:49
1;$2;$3;New Tab;2017-07-11_14:44:55
Typically, windows is created and shown with empty title.
Then title is set, but event is to fired, and when active windows is changed, event is logged with title (instead of empty one).
So, fix events with empty title for windows shown before setting title.
Use append-line only file format for performance reasons.
Each event uses single line and semicolon separated values.
Also, show a progress bar when percentual value.
Foreground process changed
Another process has raised to foreground. We need an id of a previous process and the current one.
Window title changed
Typical for web browser. User navigates to a new page, process id is still the same, but title has changed. This can be change in the activity category.
User should be able to define rules based on ApplicationPath
and WindowTitle
to categorize acitivity.
When a category more rules it is easy to exceed reasonable height.
Base events:
ActivityStarted
ActivityEnded
We should periodically save current time stamp for cases when the application crashes (or is not turned off correctly).
After next startup we should generate appropriate ActivityEnded
event.
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.