This project is abandoned and its default file will likely not work with the most recent version of World of Warcraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

A library to manage snappy dragging & sticking of frames across multiple mods.


LibStickyFrames-2.0 vs LibStickyFrames-1.0

  • Complete API Change
  • Insets are taken into account when checking overlapping.
  • Overlays are created by the mod and recycled when not in use
  • Grouping can be added, it's potentially very powerful yet can be very simple
  • Overlays are coloured based on whether the frames are enabled or not, hidden or can be attached to when being dragged
  • Callbacks is moved to CallbackHandler-1.0
  • Callback for clicking on an overlay which allows the mod to decide whether to enable, disable or hide as well as other things
  • Assuming the frame is anchored, when insets are updated the positioning of the frame is updated along with any frames attached to it
  • Shows hidden frames temprarily when the sticky group is set and hides them when the sticky group is unset.

The vision:

Many mods have invisible display areas or otherwise draggable frames that I need to lay out in my UI so that they do not overlap & thus can exist in harmony. All mods with such frames will one day use this lib to accomplish the following:

  • When I start dragging a bar around in Bartender3 or AutoBar, or the raid warnings frames from Deadly Boss Mods, BigWigs or other display frames from Quartz, SCT, etc. then all these frames go green & red and so on & I can see exactly where I can drag to & thus snap to or stick to so I can lay out my interface with or without overlap as I desire.
  • Once the sticking code goes in it is even more beautiful since I can just drag a few frames around at that point without destroying my careful layout or getting hosed with a ui scale change...
  • Since the dragging interface is standard, I am not uselessly trying ctrl-alt-shift-left&right-button drag just to move some frame around.
  • All these hard to access frames suddenly become easily accesible.

Design goals:

  • A consistent drag experience across implementing mods.
  • Snapping & sticking to all registered frames + select Blizzard frames.
  • Visibility & Labeling of all frames of interest while dragging (except for the Blizzard frames?)
  • Private Clusters
    • Private Clusters stick only to themselves.
    • Private Clusters have a supplied or calculated clusterFrame which participates in general sticking.
  • Grouped Frames
    • Groups of frames that are stuck together can be dragged by dragging any member of the group
  • Consistent interface for all these operations, including modifier keys for sticking or not snapping or unsticking etc.

Planned Features:

  • Make frame snapping more intelligent

Origin of the Species

This is based on code from:

StickyFrames by Cladhaire.

LegoBlock by Tekkub & JoshBorke.

FlyPaper by Tuller.

All teleported together into the BrindleFly thing otherwise know as LibStickyFrames by Toadkiller.

And enhanced by Sorata.


Posts Quoted:
Clear All Quotes

About This Project

  • Project ID
  • Created
    May 13, 2008
  • Last Released File
    Sep 7, 2009
  • Total Downloads
  • License



Recent Files

WoW Retail