+IGNORE_REQUESTED_POSITIONS = 0
+"""When non-zero, the placement algorithm will attempt to place windows even
+ when they request a position (like XMMS). Note this only applies to normal
+ windows, not to special cases like desktops and docks."""
+DONT_DUPLICATE = 1
+"""When non-zero, if 2 copies of the same match in history are to be placed
+ before one of them is closed (so it would be placed over-top of the last
+ one), this will cause the second window to not be placed via history, and
+ the FALLBACK will be used instead."""
+FALLBACK = windowplacement.random
+"""The window placement algorithm that will be used when history placement
+ does not have a place for the window."""
+CONFIRM_CALLBACK = 0
+"""Set this to a function to have the function called before attempting to
+ place a window via history. If the function returns a non-zero, then an
+ attempt will be made to place the window. If it returns zero, the
+ FALLBACK method will be directly applied instead."""
+FILENAME = 'historydb'
+"""The name of the file where history data will be stored. The number of
+ the screen is appended onto this filename."""
+##############################################################################
+
+def place(data):
+ """Place a window usingthe history placement algorithm."""
+ _place(data)
+
+###########################################################################
+###########################################################################
+
+###########################################################################
+### Internal stuff, should not be accessed outside the module. ###
+###########################################################################