+(defbinding window-list-toplevels () (glist window))
+
+(defbinding window-add-mnemonic (window key target) nil
+ (window window)
+ ((gdk:keyval-from-name key) unsigned-int)
+ (target widget))
+
+(defbinding window-remove-mnemonic (window key target) nil
+ (window window)
+ ((gdk:keyval-from-name key) unsigned-int)
+ (target widget))
+
+(defbinding window-mnemonic-activate (window key modifier) nil
+ (window window)
+ ((gdk:keyval-from-name key) unsigned-int)
+ (modifier gdk:modifier-type))
+
+(defbinding window-present () nil
+ (window window))
+
+(defbinding window-iconify () nil
+ (window window))
+
+(defbinding window-deiconify () nil
+ (window window))
+
+(defbinding window-stick () nil
+ (window window))
+
+(defbinding window-unstick () nil
+ (window window))
+
+(defbinding window-maximize () nil
+ (window window))
+
+(defbinding window-unmaximize () nil
+ (window window))
+
+(defbinding window-begin-resize-drag () nil
+ (window window)
+ (edge gdk:window-edge)
+ (button int)
+ (root-x int) (root-y int)
+ (timestamp (unsigned-int 32)))
+
+(defbinding window-begin-move-drag () nil
+ (window window)
+ (edge gdk:window-edge)
+ (button int)
+ (root-x int) (root-y int)
+ (timestamp (unsigned-int 32)))
+
+(defbinding window-set-frame-dimensions () nil
+ (window window)
+ (left int) (top int) (rigth int) (bottom int))
+
+(defbinding (window-default-icons "gtk_window_get_default_icon_list")
+ () (glist gdk:pixbuf))
+
+(defbinding %window-get-default-size () nil
+ (window window)
+ (width int :out)
+ (height int :out))
+
+(defun window-get-default-size (window)
+ (multiple-value-bind (width height) (%window-get-default-size window)
+ (values (unless (= width -1) width) (unless (= height -1) height))))
+
+(defbinding window-get-frame-dimensions () nil
+ (window window)
+ (left int :out) (top int :out) (rigth int :out) (bottom int :out))
+
+(defbinding %window-get-icon-list () (glist gdk:pixbuf)
+ (window window))
+
+(defmethod window-icon ((window window))
+ (let ((icon-list (%window-get-icon-list window)))
+ (if (endp (rest icon-list))
+ (first icon-list)
+ icon-list)))
+
+(defbinding window-get-position () nil
+ (window window)
+ (root-x int :out)
+ (root-y int :out))
+
+(defbinding window-get-size () nil
+ (window window)
+ (width int :out)
+ (height int :out))
+
+(defbinding window-move () nil
+ (window window)
+ (x int)
+ (y int))
+
+(defbinding window-parse-geometry () boolean
+ (window window)
+ (geometry string))
+
+(defbinding window-reshow-with-initial-size () nil
+ (window window))
+
+(defbinding window-resize () nil
+ (window window)
+ (width int)
+ (heigth int))
+
+(defbinding %window-set-icon-list () nil
+ (window window)
+ (icon-list (glist gdk:pixbuf)))
+
+(defmethod (setf window-icon) (icon (window window))
+ (%window-set-icon-list window (mklist icon)))
+
+