diff --git a/include/clipboard.h b/include/clipboard.h
index 605e357..16496d3 100644
--- a/include/clipboard.h
+++ b/include/clipboard.h
@@ -19,9 +19,9 @@
 
 typedef struct tagCLIPBOARD_DRIVER
 {
-    void (*pEmptyClipboard)(void);
-    void (*pSetClipboardData)(UINT);
-    BOOL (*pRequestSelection)(void);
+    void (*pEmpty)(void);
+    void (*pSetData)(UINT);
+    BOOL (*pGetData)(UINT);
     void (*pResetOwner)(struct tagWND *, BOOL);
 } CLIPBOARD_DRIVER;
 
diff --git a/include/ts_xlib.h b/include/ts_xlib.h
index cf7099c..11e985a 100644
--- a/include/ts_xlib.h
+++ b/include/ts_xlib.h
@@ -43,6 +43,7 @@
 extern int * TSXListDepths(Display*, int, int*);
 extern int   TSXReconfigureWMWindow(Display*, Window, int, unsigned int, XWindowChanges*);
 extern int   TSXSetWMProtocols(Display*, Window, Atom*, int);
+extern int   TSXIconifyWindow(Display*, Window, int);
 extern int  TSXSetTransientForHint(Display*, Window, Window);
 extern int  TSXActivateScreenSaver(Display*);
 extern int   TSXAllocColor(Display*, Colormap, XColor*);
diff --git a/include/ttydrv.h b/include/ttydrv.h
index d66997f..d8dc61e 100644
--- a/include/ttydrv.h
+++ b/include/ttydrv.h
@@ -68,9 +68,9 @@
 
 extern struct tagCLIPBOARD_DRIVER TTYDRV_CLIPBOARD_Driver;
 
-extern void TTYDRV_CLIPBOARD_EmptyClipboard(void);
-extern void TTYDRV_CLIPBOARD_SetClipboardData(UINT wFormat);
-extern BOOL TTYDRV_CLIPBOARD_RequestSelection(void);
+extern void TTYDRV_CLIPBOARD_Empty(void);
+extern void TTYDRV_CLIPBOARD_SetData(UINT wFormat);
+extern BOOL TTYDRV_CLIPBOARD_GetData(UINT wFormat);
 extern void TTYDRV_CLIPBOARD_ResetOwner(struct tagWND *pWnd, BOOL bFooBar);
 
 /* TTY desktop driver */
diff --git a/include/win.h b/include/win.h
index 1c37a53..aa366b9 100644
--- a/include/win.h
+++ b/include/win.h
@@ -92,6 +92,7 @@
 
 #define HAK_BITGRAVITY     1
 #define HAK_ACCEPTFOCUS	   2
+#define HAK_ICONICSTATE	   3
 
 /* Bit Gravity */
 
diff --git a/include/winpos.h b/include/winpos.h
index 66bbcec..e07011f 100644
--- a/include/winpos.h
+++ b/include/winpos.h
@@ -31,7 +31,7 @@
 extern void   WINPOS_GetMinMaxInfo( WND* pWnd, POINT *maxSize,
                                     POINT *maxPos, POINT *minTrack,
                                     POINT *maxTrack );
-extern UINT16 WINPOS_MinMaximize( WND* pWnd, UINT16 cmd, LPRECT16 lpPos);
+extern UINT WINPOS_MinMaximize( WND* pWnd, UINT16 cmd, LPRECT16 lpPos);
 extern BOOL WINPOS_SetActiveWindow( HWND hWnd, BOOL fMouse,
                                       BOOL fChangeFocus );
 extern BOOL WINPOS_ChangeActiveWindow( HWND hwnd, BOOL mouseMsg );
diff --git a/include/x11drv.h b/include/x11drv.h
index 4b9a967..ef778d9 100644
--- a/include/x11drv.h
+++ b/include/x11drv.h
@@ -313,13 +313,11 @@
 
 extern struct tagCLIPBOARD_DRIVER X11DRV_CLIPBOARD_Driver;
 
-extern void X11DRV_CLIPBOARD_EmptyClipboard(void);
-extern void X11DRV_CLIPBOARD_SetClipboardData(UINT wFormat);
-extern BOOL X11DRV_CLIPBOARD_RequestSelection(void);
+extern void X11DRV_CLIPBOARD_Empty(void);
+extern void X11DRV_CLIPBOARD_SetData(UINT wFormat);
+extern BOOL X11DRV_CLIPBOARD_GetData(UINT wFormat);
 extern void X11DRV_CLIPBOARD_ResetOwner(struct tagWND *pWnd, BOOL bFooBar);
-
-void X11DRV_CLIPBOARD_ReadSelection(Window w, Atom prop);
-void X11DRV_CLIPBOARD_ReleaseSelection(Window w, HWND hwnd);
+extern void X11DRV_CLIPBOARD_ReleaseSelection(Window w, HWND hwnd);
 
 /* X11 desktop driver */
 
@@ -415,6 +413,7 @@
 
 typedef struct _X11DRV_WND_DATA {
   Window window;
+  HBITMAP hWMIconBitmap;
   int bit_gravity;
 } X11DRV_WND_DATA;
 
