No mouse movement detection warning
Easy-to-use personal time tracking application for Windows and Unix
Brought to you by:
cesilko
is possibible to have an automatic change of activity when is passed a certain amount of time?
for example I must work for 8 hours per day, But when I work for 9 hours i get an extraordinary time of 1 hour.
And is possible to have an automatic "relax-time (lunch time)" recognition when the mouse or keyboard is going into an idle state and restart when the keyboard or mouse is active again?
thanks a lot for this program!
I suggest to download Rachota 2.3 where detection of inactivity and hibernation was implemented. Closing as works for me since I believe the new features can help you. Just brief description:
Reminder Service
* inactivity detection, if there is no interaction with Rachota for given time interval, ask user what's going on
* stop measuring task and offer 3 options: 1. go on, 2. working on other task, 3. doing nothing + turn off switch
* default interval and default action in system settings
Hibernation Support
* delayed clock tick detection, in case of significant delta ask user or do predefined action automatically
* according to user preference: ignore delta & stop measuring current task or add delta & continue measuring current task or don't add delta but ask user what to do
* default hibernation threshold set to 10 minutes + default action set to ask user - both configurable in system settings
yes i have see that feature but my proposal is a little different, i suggested a way to recognize the iffle status based on the mouse and keyboard event not on a continuos and some time annoing request to the user.
for the other features do you know anythings?
I am sorry but I am not aware of any way how to detect idle status in Java. If you know about a suitable solution, let me please know. Thanks!
yes i have an idea:
create a thread
check the initial mouse position with this call:
MouseInfo.getPointer.getPosition();
than every a set time check again the mouse position.
then you can decide a certain area (it could be a vibration of the table or a bad hardware that could move the pointer) and if the position is the same after the the inital check create a new windows, give the focus and connect the mouse move in listener, click listener. if any of this listeners are fired reset the timer register the new mouse position.
Otherwise stop the current activity.
Now the possibilities are infinite for me the best solution is:
change the window on screen into a dialog with a dropdown activity with the last preselected.
this ask "do you want to restart to work?" on yes reset timer restart the activity selected, and register the new mouse position
reference:
http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/MouseInfo.html#getPointerInfo\()
http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/PointerInfo.html
the nobody sender is me! (i forget to login)
You are right! It really works. Is there any similar way to detect the same for keyboard?
i searched a lot on internet and i found this class:
ref: http://code.google.com/p/jintellitype/
beacause the standard java api doesn't permit to became a keylogger for security reason (password and other) so u must write a SO specific application because you must register your app with the system keys hooks.
i suggest to use this class into another thread so the whole application will result more light.
i hope to be usefull.
in the last for the automatic activity change quastion, do u know nothing?
i have thought better on that.
For don't annoy user with windows and focus lost during operation maybe is better to make a two way controll of idle status. I suggest this way: when the check's time is near to expire, the application show a popup on icon bar and the thread makes the polling of mouse position more frequently and if the user move the mouse during this "sub period", no action is taken from the app, at gui level, only the timer is reset. Instead if the timer expire show the window and stop the current activity..
i hope to have given an idea of my vision :D
bye