Difference between revisions of "Shutter:Events"
(Changed table headings and cleaned description of few events.) |
(Methods for monitoring user inactivity) |
||
Line 50: | Line 50: | ||
|- | |- | ||
| User Inactive | | User Inactive | ||
− | | Track the time of user's last mouse and keyboard activity. Trigger event when user | + | | |
+ | Track the time of user's last mouse and keyboard activity. Trigger the event when the user has been inactive for the specified period of time. | ||
+ | |||
+ | Methods for monitoring user inactivity: | ||
+ | # '''Last Input Event''' - Uses <tt>GetLastInputInfo</tt> API. Captures activity only of the initiating user session. The most stable and the least intrusive approach. | ||
+ | # '''Low Level Hook''' - Uses <tt>SetWindowsHookEx(WH_KEYBOARD_LL)</tt> and <tt>SetWindowsHookEx(WH_MOUSE_LL)</tt> API. Captures activity from all user sessions. Applied without injection into foreign processes to achieve a less intrusive effect, contrary to the official documentation, so it may stop working in future versions of Windows. | ||
+ | # '''Injection Hook''' - Uses <tt>SetWindowsHookEx(WH_KEYBOARD)</tt> and <tt>SetWindowsHookEx(WH_MOUSE)</tt> API. Captures activity from all user sessions. A tiny dedicated library file is injected into all foreign processes to capture user activity across all applications. This is a well established approach which may yield better results in some cases, but it is the most intrusive approach. | ||
+ | |||
| | | | ||
#Play WinAmp when no one is using the PC (turn the PC into entertainment center). | #Play WinAmp when no one is using the PC (turn the PC into entertainment center). |
Revision as of 23:01, 16 February 2018
Below is a list of all available events.
Remember that Shutter is often used with a set of multiple events (rather than a single event); and these events have a pre-defined relationship between them.
Event | Description | Example uses |
---|---|---|
Countdown | Count down a specified amount of time. This Event is considered "triggered" when the timer reaches zero. |
|
On Time | Event is triggered when the current time (as displayed in the system tray) reaches the specified time. |
|
Winamp Stops | Event periodically checks the playback state of Winamp. The event is triggered once it is detected that application is no longer playing the media.
Note: Winamp Messaging API is used to achieve this. |
|
CPU Usage | Periodically check the processor usage and trigger event when the usage stays above (or below) the specified mark for the specified amount of time. |
|
Network usage | Check the network's load (select from total, upload only, or download only); and if it falls below specified limit for the specified duration, then the event is triggered. |
|
User Inactive |
Track the time of user's last mouse and keyboard activity. Trigger the event when the user has been inactive for the specified period of time. Methods for monitoring user inactivity:
|
|
Battery Low | Monitor power battery level and trigger event when level drops below specified level. |
|
Window Closes |
Monitor opened windows for the specified title match. Event is triggered when specified title does not match any of the opened windows.
Note: Be careful when specifying the window name: The text should match with what you see in the Title Bar of the application (the top bar of the application's window). Sometimes the Title Bar shows the file that is opened in the application, instead of the application's name. |
|
Process Stops | Monitor all processes that match the specified filename. Event is triggered when the specified filename is not found in the list of executing processes. |
|
Ping Stops | Ping the specified host and trigger when host is not responding for the specified period of time. Useful for monitoring availability of network services. |
|
File Size Limit | Periodically check the size of the specified file and trigger event when file reaches the specified size. Size "0" can be used to check whether file exists or not. |
|