Detail

The HandleBox widget allows a portion of a window to be "torn off".
It is a bin widget which displays its child and a handle that the user can
drag to tear off a separate window (the float window) containing the child
widget. A thin ghost is drawn in the original location of the handlebox. By
dragging the separate window back to its original location, it can be
reattached.

When reattaching, the ghost and float window, must be aligned along one
of the edges, the snap edge. This either can be specified by the application
programmer explicitely, or Gtk+ will pick a reasonable default based on the
handle position.

To make detaching and reattaching the handlebox as minimally confusing as
possible to the user, it is important to set the snap edge so that the snap
edge does not move when the handlebox is deattached. For instance, if the
handlebox is packed at the bottom of a VBox, then when the handlebox is
detached, the bottom edge of the handlebox's allocation will remain fixed as
the height of the handlebox shrinks, so the snap edge should be set to
PosBottom.

Sets the snap edge of the HandleBox. The snap edge is the edge of the
detached child that must be aligned with the corresponding edge of the
"ghost" left behind when the child was detached to reattach the torn-off
window. Usually, the snap edge should be chosen so that it stays in the same
place on the screen when the handlebox is torn off.

If the snap edge is not set, then an appropriate value will be guessed
from the handle position. If the handle position is PosRight or PosLeft,
then the snap edge will be PosTop, otherwise it will be PosLeft.