diff -Nur vim60.old/runtime/doc/options.txt vim60/runtime/doc/options.txt
--- vim60.old/runtime/doc/options.txt	Wed Sep 26 19:46:46 2001
+++ vim60/runtime/doc/options.txt	Tue Oct 30 00:44:36 2001
@@ -2428,6 +2428,15 @@
 	otherwise it's "grep -n".
 	This option cannot be set from a |modeline|, for security reasons.
 
+						*'guialphablend'* *'gal'*
+'guialphablend' 'gal'	number	(default 255)
+			global
+			{not in Vi}
+			{only available when compiled with GUI enabled}
+	This option makes VIM GUI on Windows 2000 semi-transparent.
+	0 and 255 means disable, and the range between 1 and 254 will
+	make the GUI window semi-transparent.
+
 						*'guicursor'* *'gcr'*
 'guicursor' 'gcr'	string	(default "n-v-c:block-Cursor/lCursor,
 					ve:ver35-Cursor,
diff -Nur vim60.old/runtime/optwin.vim vim60/runtime/optwin.vim
--- vim60.old/runtime/optwin.vim	Sun Sep  2 20:36:58 2001
+++ vim60/runtime/optwin.vim	Tue Oct 30 00:46:42 2001
@@ -493,6 +493,10 @@
 
 if has("gui")
   call <SID>Header("GUI")
+  if has("win32")
+      call append("$", "guialphablend\tsemi-transparency of GUI")
+      call <SID>OptionG("gal", &gal)
+  endif
   call append("$", "guifont\tlist of font names to be used in the GUI")
   call <SID>OptionG("gfn", &gfn)
   if has("xfontset")
diff -Nur vim60.old/src/gui_w32.c vim60/src/gui_w32.c
--- vim60.old/src/gui_w32.c	Wed Sep 19 20:43:48 2001
+++ vim60/src/gui_w32.c	Tue Oct 30 00:13:00 2001
@@ -28,6 +28,11 @@
  */
 #include "gui_w48.c"
 
+/* piaip: alphablend support */
+#define WS_EX_LAYERED (0x80000)
+#define LWA_ALPHA     (2)
+typedef BOOL (WINAPI *TSetLayeredWindowAttributes)(HANDLE, COLORREF, BYTE, DWORD);
+static TSetLayeredWindowAttributes SetLayeredWindowAttributes = NULL;
 
 #ifdef __MINGW32__
 /*
@@ -985,6 +990,16 @@
     dyn_imm_load();
 #endif
 
+    // piaip: Load SetLayeredWindowAttributes Library for AlphaBlend in W2k
+    {
+	HMODULE usr32 = GetModuleHandle("User32.DLL");
+	if(usr32) {
+	    SetLayeredWindowAttributes = (TSetLayeredWindowAttributes)
+		GetProcAddress(usr32, "SetLayeredWindowAttributes");
+	    FreeLibrary(usr32);
+	}
+    }
+
     /* Create the text area window */
     if (GetClassInfo(s_hinst, szTextAreaClass, &wndclass) == 0)
     {
@@ -3324,6 +3339,22 @@
     SetForegroundWindow(s_hwnd);
 }
 #endif
+
+// piaip: new alphablend
+    int
+gui_set_alphablend(long alpha) 
+{
+    int AStyle = GetWindowLong(s_hwnd, GWL_EXSTYLE);
+
+    if (alpha < 255 && alpha > 0) {
+	if ((AStyle & WS_EX_LAYERED) == 0)
+	    SetWindowLong(s_hwnd, GWL_EXSTYLE, AStyle | WS_EX_LAYERED);
+	SetLayeredWindowAttributes(s_hwnd, 0, (BYTE)alpha, LWA_ALPHA);
+	return alpha;
+    }
+    SetWindowLong(s_hwnd, GWL_EXSTYLE, AStyle & (~WS_EX_LAYERED));
+    return 0;
+}
 
 #if defined(FEAT_MBYTE_IME) && defined(DYNAMIC_IME)
     static void
diff -Nur vim60.old/src/option.c vim60/src/option.c
--- vim60.old/src/option.c	Wed Sep 26 22:25:52 2001
+++ vim60/src/option.c	Mon Oct 29 23:42:06 2001
@@ -911,6 +911,15 @@
 			    {(char_u *)NULL, (char_u *)0L}
 #endif
 			    },
+    {"guialphablend", "gal",  P_NUM|P_VI_DEF,
+#if (defined(FEAT_GUI) && defined(WIN32))
+			    (char_u *)&p_guialphablend, PV_NONE,
+			    {(char_u *)255L, (char_u *)NULL}
+#else
+			    (char_u *)NULL, PV_NONE,
+			    {(char_u *)NULL, (char_u *)NULL}
+#endif
+				    },
     {"guicursor",    "gcr",  P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
 #ifdef CURSOR_SHAPE
 			    (char_u *)&p_guicursor, PV_NONE,
@@ -2355,6 +2364,7 @@
 static int check_opt_strings __ARGS((char_u *val, char **values, int));
 static int check_opt_wim __ARGS((void));
 
+
 /*
  * Initialize the options, first part.
  *
@@ -5965,6 +5975,13 @@
 	if (gui.in_use && gui_mch_adjust_charsize() == OK)
 	    gui_set_shellsize(FALSE, FALSE);
     }
+#ifdef WIN32
+    else if (pp == &p_guialphablend)
+    {
+	if (gui.in_use) 
+	    p_guialphablend = gui_set_alphablend(p_guialphablend);
+    }
+#endif
 #endif
 
 #ifdef FEAT_FOLDING
diff -Nur vim60.old/src/option.h vim60/src/option.h
--- vim60.old/src/option.h	Sun Sep 16 21:03:16 2001
+++ vim60/src/option.h	Mon Oct 29 23:35:14 2001
@@ -428,6 +428,9 @@
 #ifdef FEAT_MOUSESHAPE
 EXTERN char_u	*p_mouseshape;	/* 'mouseshape' */
 #endif
+#if defined(FEAT_GUI) && defined(WIN32)
+EXTERN long p_guialphablend;	/* 'guialphablend' */
+#endif
 #if defined(FEAT_GUI)
 EXTERN char_u	*p_go;		/* 'guioptions' */
 #endif
diff -Nur vim60.old/src/proto/gui_w32.pro vim60/src/proto/gui_w32.pro
--- vim60.old/src/proto/gui_w32.pro	Wed Sep 26 03:49:30 2001
+++ vim60/src/proto/gui_w32.pro	Mon Oct 29 23:01:44 2001
@@ -74,4 +74,5 @@
 void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
 int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
 void gui_mch_set_foreground __ARGS((void));
+int gui_set_alphablend(long alpha);
 /* vim: set ft=c : */

