This is simple AddOn that displays the time left on your main hand, off hand and thrown poisons as independent DataBroker plugins.
It was designed with Rogue Poisons in mind, but also works with Shaman Imbues.
Version 1.0 has been tested with Titan Panel (v188.8.131.52200), Bazooka (v2.1.3), ButtonBin (v1.0.77) and Chocolate Bar (v2.2) though it should work with any DataBroker display AddOn (that supports the "data source" LDB Data Object type).
Version 1.1 is now configurable via the new slash command and has ChoonLib embedded.
Version 1.2 has simplified the slash command by merging the prefix and timer format into a single string for each timer.
Slash Command Usage
/brokerpoisontimers or /poisontimers or /bpt mainhand|offhand|thrown setting
Changes the time format of the specified timer to setting. setting can contain all characters (including spaces).
%M and %S will be replaced with the minutes and seconds remaining, respectively. To display a percent sign in the format, you must use %%. The default time format is "X: %M:%S" (where X is M, O or T).
Several other tokens can be used in the time format, but only the minutes/seconds have meaningful values. The other tokens can be found at the link to "strftime" at Wowpedia.
If you get a Lua error telling you that the "format is too long", it actually means the function used to display the timers doesn't support one of the tokens you used.
Timers don't update properly with the new remaining time after applying a poison/imbue. This seems to be a flaw in the function used to get the initial remaining times. Mousing over a timer will call the function again and update all timers with the correct time. See the Known Caveats page for detailed technical information.
The original concept for the AddOn was outlined by Zelreth.
Merged the prefix and timer format into a single string for each timer.
Updated the slash command and BPT_DB saved variable to reflect this.
Added a slash command to change the display format of the timers.
Added the BPT_DB saved variable to the TOC (saved per character).
Moved the timer text formatting code to a dedicated local function, GetTimerText.