Get an Epic Experience with Premium


Development Tools Login to Add Favorites
  • World of Warcraft
  • 5 Monthly Downloads
  • Supports: 4.3.4
  • 1,358 Total Downloads
  • Updated 04/19/2012
  • Created 07/14/2009
  • 11 Favorites
  • Project Site
  • Comments
  • Release Type: Inactive
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 4.0.3

About watch

This addon is a development addon that lets you display contents of variables and continually updates the result.


  • Continuous colored output of values, tables, selected functions/methods, and ui objects
  • Left-Click any key of a table to open a new watcher watching for this key
  • Try /rewatch after reloading your ui, you'll love it
  • Use your scrollwheel...
  • Right-Click the title bars for a dropdown menu
  • The white square in the lower right corner of a watcher window is actually a resize-handle... sorry for the missing texture. Window sizes are saved through sessions


/watch [expression]
Watches defined expression, if you skip the expression part, it will watch for "nil" wich is quite useless though.
/unwatch <id>
Removes a watcher with <id>, ID's are shown in the watcher window title as a number between ((double parentheses)).
/unwatch ALL
Removes ... all watchers! (the argument is case-sensitive! so "all" or "All" and not even "aLL" will work).
Restores watchers from the last session. This might yield unexpected results if called more than once ...

Useful info

  • You can watch for invalid expressions that might become valid sometime (or never, though that's not really useful), like MyAddonTable.frameindex:GetTop() might throw an error normally if the frame does not exist. This error will even be printed in the watcher frame, but if you create it during your session, the watcher will print the correct value.
  • Syntax errors should be detected when executing the slash command and should prevent generating a watcher.
  • Your expression will result in parsing a code like "return {expression}" (the curly braces are really there)

Stuff that is planned

  • Use a timer lib for updating, but do not use LibStub, so it will work even if a future untested version of the timer brought in from another addon is bugged. This is a debugging addon, it would be a shame if it was not working due to such an issue.
  • Show/Hide unsafe functions - Often you actually don't care about table values that contain functions, especially those that are not listed as safe methods, so I'd like to add an option to the dropdown to hide/show those
  • Change expression - Just a dropdown menu item to change the expression
  • A scrollbar... well...
  • Highlight lines that change (I already know how to do it, just can't decide on the color... :D)

r31 | watchout | 2012-04-19 17:19:13 +0000 (Thu, 19 Apr 2012) | 1 line
Changed paths:
   A /tags/4.0.3 (from /trunk:30)

Tagging as 4.0.3
r30 | watchout | 2012-04-19 17:16:57 +0000 (Thu, 19 Apr 2012) | 1 line
Changed paths:
   M /trunk/LibObjects.lua
   M /trunk/Watch.lua
   M /trunk/Watch.toc

wip sync commit
r29 | watchout | 2011-07-25 14:56:27 +0000 (Mon, 25 Jul 2011) | 2 lines
Changed paths:
   A /trunk/LibObjects.lua
   M /trunk/Watch.toc

LibObjects.lua - new.
Watch.toc - Removed load manager. Why was there one in the first place !?!?


Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Leaguepedia PAX Skin Giveaway