XPFixation

From Wiki
Jump to: navigation, search
Download Version 1.5 Icon-zip.png (100 KB)


XPFixation is a Windows tray icon program that monitors your Perlmonks.org XP. When your XP increases, the tray icon changes from a ±0 to a green up-arrow, and optionally, a .WAV file can be played. In the unfortunate event your XP decreases, a red down-arrow is displayed, and optionally, a WAV file may be played.
XPFixation is easy to install, and easy to use. Pick a directory to place the 3 files in, such as C:\Program Files\XPFixation. Use WinZip to unzip the files into this directory. Then, if you like, create a shortcut on your desktop or taskbar to C:\Program Files\XPFixation\XPFixation.exe
Now start XPFixation. The default user ID for Anonymous Monk, whom you probably don't want to monitor. To enter your homenode ID, either double-click the ±0 icon in the tray, or right-click the icon and select 'Configure...'. Enter your home node ID in the home node field, and click 'OK'
You will need to fill in your home node ID, at the very least. If you'd like sounds when your XP changes, either enter a path to the WAV file you'd like played (C:\Program Files\XPFixation\chaching.wav), or use the 'Browse...' button to select the file. Two sounds, a CHA*CHING! and a flushing sound are provided in the ZIP file. You can either use these, or provide your own. If no file is supplied, no sound will be played for that action.
XPFixation delays reading your XP the first time by however long the refresh delay is set to (normally 300 seconds). Once read, hovering the mouse over the icon will display the current XP, how much it has changed, and the date/time it was read at. If the icon is the green up-arrow or red down-arrow, single clicking the icon will reset it to the ±0 icon (by doing this, you're acknowledging you've seen the change, so you know when the next XP change occurs).
Right clicking the icon brings up a menu with several options. 'Configuration...' allows changing your home node ID, refresh interval, and sounds played. The configuration menu can also be reached by double-clicking the icon.
The 'About...' dialog is a typical Windows About box.
'Sounds' is a quick way to enable/disable sounds (pets/spouse are sleeping, and you don't want to hear a loud CHA*CHING every time your XP goes up). This is remembered across program invocations for convienence.
The history options are most likely grayed out as you first start the program. When an XP change event occurs, the clicking the 'History' menu will display up to the last 10 changes, with the most recent changes on top. 'History Clear' will erase the history.
'Reset' is the same action as single clicking the tray icon. If the icon is not the green up-arrow or red-down arrow (indicating an XP change since the last reading), this option will be grayed out.
'Force Check' causes an immediate re-reading of your XP, and updates the history, icons, etc, as necessary.
If a red '!!' icon is displayed, this indicates that XPFixation could not connect to perlmonks.org after 5 attempts. It will keep trying, and once connected, will update the icon accordingly.


Bugs:
  • None currently known


Information:
  • Home node ID, etc are stored in the registry, under HKEY_CURRENT_USER\Software\XPFixation.
  • The program is pure Win32 C code, no MFC, ATL, STL, etc.
  • I had nothing better to do.


Platforms tested:
  • Windows 2000 (jcwren, wil, ar0n)
  • Windows NT4 SP6a (BrowserUK)
  • Windows XP Pro (grinder)
  • Windows 95 (jcwren)


Change Log:
  • V1.5 - Bug Fix
  • Homenode ID wasn't always "sticking" for some people, due to an uninitialized variable.
  • V1.4 - Changes
  • Removed username and password, changed to using home node ID. [jaybonci] made a change that allowed pulling XML XP info without logging in, and I modified that change to support passing a node ID.
  • Changed default refresh time to 300 seconds. Existing users will have thier current refresh time maintained, new installations will use the 300 second value.
  • Automatically deletes the old username and password registry key entries, so manual editing of the registry is not required.
  • V1.3 - Bug Fixes
  • Clearing the history resets the tray icon back to ±0.
  • History clearing now works correctly.
  • INTERNET_FLAG_NO_COOKIES added to InternetOpenURL call.
  • Some internal cruft removed.
  • V1.2 - Improvements
  • Added check to throw up dialog if XML info is for 'anonymous monk'
  • XML retrieval code implemented as a thread to reduce latency in responding to icon events
  • Checks for internet connection before attempting XML retrieval. Shouldn't cause a modem connection to attempt to dial, or errors if network card is offline.
  • Username and password characters URI escaped
  • First XP retrieval occurs 5 seconds after program start, instead of waiting for a complete refresh interval to elapse.
  • Some internal program restructuring.
  • V1.1 - Initial release


Known Bugs In V1.4:
  • None yet reported.
Known Bugs In V1.3:
  • None yet reported.
Known Bugs In V1.2:
  • Clearing history appears to work until next XP change occurs, at which time previous history entries will be displayed, but not in the correct order.
  • While not a bug, reading the history should probably reset the tray icon back to ±0.