diff -urN -X ../ice_excludes src/atasks.cc ../icewm-1.2.13pre3patched/src/atasks.cc
--- src/atasks.cc	2003-09-15 03:13:53.000000000 +1000
+++ ../icewm-1.2.13pre3patched/src/atasks.cc	2003-09-16 20:43:27.000000000 +1000
@@ -128,9 +128,9 @@
     } else if (!getFrame()->visibleNow()) {
         bg = invisibleTaskBarAppBg;
         fg = invisibleTaskBarAppFg;
-        bgPix = taskbackPixmap;
+	bgPix = taskbuttonminimizedPixmap;
 #ifdef CONFIG_GRADIENTS	
-	bgGrad = taskbackPixbuf;
+	bgGrad = taskbuttonminimizedPixbuf;
 #endif
     } else if (getFrame()->isMinimized()) {
         bg = minimizedTaskBarAppBg;
Files src/icewm-session and ../icewm-1.2.13pre3patched/src/icewm-session differ
diff -urN -X ../ice_excludes src/objbar.cc ../icewm-1.2.13pre3patched/src/objbar.cc
--- src/objbar.cc	2003-09-15 03:13:53.000000000 +1000
+++ ../icewm-1.2.13pre3patched/src/objbar.cc	2003-09-16 20:43:27.000000000 +1000
@@ -73,7 +73,7 @@
     else 
 #endif	    
     if (taskbackPixmap)
-        g.fillPixmap(taskbackPixmap, 0, 0, width(), height());
+        g.fillPixmap(taskbackPixmap, -10, 0, width() + 10, height());
     else {
 	g.setColor(bgColor);
         g.fillRect(0, 0, width(), height());
diff -urN -X ../ice_excludes src/wmapp.cc ../icewm-1.2.13pre3patched/src/wmapp.cc
--- src/wmapp.cc	2003-09-15 03:13:54.000000000 +1000
+++ ../icewm-1.2.13pre3patched/src/wmapp.cc	2003-09-16 20:43:27.000000000 +1000
@@ -776,6 +776,7 @@
 
     windowMenu->addSeparator();
     windowMenu->addItem(_("_Close"), -2, KEY_NAME(gKeyWinClose), actionClose);
+    windowMenu->addItem(_("_Kill Client"), -2, 0, actionKill);
 #ifdef CONFIG_WINLIST
     windowMenu->addSeparator();
     windowMenu->addItem(_("_Window list"), -2, KEY_NAME(gKeySysWindowList), actionWindowList);
diff -urN -X ../ice_excludes src/wmtaskbar.cc ../icewm-1.2.13pre3patched/src/wmtaskbar.cc
--- src/wmtaskbar.cc	2003-09-15 03:13:54.000000000 +1000
+++ ../icewm-1.2.13pre3patched/src/wmtaskbar.cc	2003-09-16 20:47:22.000000000 +1000
@@ -484,6 +484,9 @@
 
 void TaskBar::updateLayout() {
     int ht = 26;
+    int htop = 1;
+    int hb = 1;
+    int hbot = ht - htop - hb;
 
     setSize(1, ht);
 #ifdef CONFIG_APPLET_CLOCK
@@ -519,8 +522,8 @@
 
         updateLocation();
 
-        leftX = 0;
-        rightX = width() - 2;
+        leftX = 4;
+        rightX = width() - 4;
 #ifdef CONFIG_APPLET_CLOCK
         if (fClock) {
             fClock->setPosition(rightX - fClock->width(),
@@ -609,8 +612,8 @@
         }
 #endif
 
-        leftX = 0;
-        rightX = width() - 1;
+        leftX = 4;
+        rightX = width() - 4;
 
 #ifdef CONFIG_WINMENU
         if (fWinList) {
@@ -640,8 +643,8 @@
 
         updateLocation();
 
-        leftX = 0;
-        rightX = width() - 2;
+        leftX = 4;
+        rightX = width() - 4;
 #ifdef CONFIG_APPLET_CLOCK
         if (fClock) {
             fClock->setPosition(rightX - fClock->width(),
@@ -696,57 +699,55 @@
         }
 #endif
         if (fApplications) {
-            fApplications->setGeometry(YRect(leftX, 1,
-                                             fApplications->width(),
-                                             ht - 2));
+            fApplications->setGeometry(YRect(leftX, htop, fApplications->width(), hbot));
             fApplications->show();
             leftX += fApplications->width();
         }
 #ifdef CONFIG_WINMENU
         if (fWinList) {
-            fWinList->setGeometry(YRect(leftX, 1, fWinList->width(), ht - 2));
+            fWinList->setGeometry(YRect(leftX, htop, fWinList->width(), hbot));
             fWinList->show();
             leftX += fWinList->width();
         }
 #endif
         if (fShowDesktop) {
-            fShowDesktop->setGeometry(YRect(leftX, 1, fShowDesktop->width(), ht - 2));
+            fShowDesktop->setGeometry(YRect(leftX, htop, fShowDesktop->width(), hbot));
             fShowDesktop->show();
             leftX += fShowDesktop->width();
         }
         if (leftX > 0) leftX += 4;
 #ifndef NO_CONFIGURE_MENUS
         if (fObjectBar) {
-            fObjectBar->setGeometry(YRect(leftX, 1, fObjectBar->width(), ht - 2));
+            fObjectBar->setGeometry(YRect(leftX, htop, fObjectBar->width(), hbot));
             fObjectBar->show();
             leftX += fObjectBar->width() + 4;
         }
 #endif
 
         if (fWorkspaces && taskBarWorkspacesLeft) {
-            fWorkspaces->setGeometry(YRect(leftX, 1, fWorkspaces->width(), ht - 2));
+            fWorkspaces->setGeometry(YRect(leftX, htop, fWorkspaces->width(), hbot));
             leftX += fWorkspaces->width() + 4;
             fWorkspaces->show();
         }
 #ifdef CONFIG_ADDRESSBAR
         if (fAddressBar && taskBarShowWindows) {
-            fAddressBar->setGeometry(YRect(leftX, 1, rightX - leftX, height() - 2));
+            fAddressBar->setGeometry(YRect(leftX, htop, rightX - leftX, hbot));
         }
 #endif
     }
 
-    {
-//        int w;
-        int h((int) height() - ((wmLook == lookMetal) ? 0 : 1));
-        int y(((int) height() - h) / 2 + 1);
-//        w = 48;
-        rightX -= fTray2->width();
-	if (taskBarDoubleHeight) {
-            y = 3 * height() / 4 - (h / 2 - 1) / 2;
-        }
-        fTray2->setPosition(rightX, y);
-        fTray2->show();
-    }
+//     {
+// //        int w;
+//         int h((int) height() - ((wmLook == lookMetal) ? 0 : 1));
+//         int y(((int) height() - h) / 2 + 1);
+// //        w = 48;
+//         rightX -= fTray2->width();
+// 	if (taskBarDoubleHeight) {
+//             y = 3 * height() / 4 - (h / 2 - 1) / 2;
+//         }
+//         fTray2->setPosition(rightX, y);
+//         fTray2->show();
+//     }
 #ifdef CONFIG_TRAY
     if (fTray) {
         int trayWidth(fTray->getRequiredWidth());
@@ -778,12 +779,12 @@
             int h = height() - 2;
 
             if (taskBarDoubleHeight) {
-                h = ht - 2; //  / 2 - 1;
+                h = hbot; //  / 2 - 1;
             } else {
-                h = ht - 2;
+                h = hbot;
             }
-            int y = height() - 1 - h;
-            fTasks->setGeometry(YRect(leftX, y, rightX - leftX, h));
+            //int y = height() - 1 - h;
+            fTasks->setGeometry(YRect(leftX, htop, rightX - leftX, hbot));
             fTasks->show();
             fTasks->relayout();
         }
@@ -826,7 +827,7 @@
         if (fIsHidden)
             y = taskBarAtTop ? dy - h + 1 : int(dy + dh - 1);
         else
-            y = taskBarAtTop ? dy - 1: int(dy + dh - h + 1);
+            y = taskBarAtTop ? dy : int(dy + dh - h + 1);
     }
 
     {
diff -urN -X ../ice_excludes src/wmtitle.cc ../icewm-1.2.13pre3patched/src/wmtitle.cc
--- src/wmtitle.cc	2003-09-15 03:13:54.000000000 +1000
+++ ../icewm-1.2.13pre3patched/src/wmtitle.cc	2003-09-16 20:43:27.000000000 +1000
@@ -288,9 +288,9 @@
 
 	int lLeft(onLeft + (titleP[pi] ? (int)titleP[pi]->width() : 0)),
 	    lRight(onRight - (titleM[pi] ? (int)titleM[pi]->width() : 0));
-
-	tlen = clamp(lRight - lLeft, 0, tlen);
-	stringOffset = lLeft + (lRight - lLeft - tlen)
+	
+	tlen = clamp(onRight - lLeft, 0, tlen);
+	stringOffset = lLeft + (onRight - lLeft - tlen)
 			      * (int) titleBarJustify / 100;
 
 	lLeft = stringOffset;
diff -urN -X ../ice_excludes src/wmwinmenu.cc ../icewm-1.2.13pre3patched/src/wmwinmenu.cc
--- src/wmwinmenu.cc	2003-09-15 03:13:54.000000000 +1000
+++ ../icewm-1.2.13pre3patched/src/wmwinmenu.cc	2003-09-16 20:43:27.000000000 +1000
@@ -116,18 +116,19 @@
     for (long d = 0; d < manager->workspaceCount(); d++) {
         if (d == manager->activeWorkspace())
             continue;
-        if (first) {
+        //if (first) {
             addSeparator();
-            first = false;
-        }
+         //   first = false;
+        //}
         char s[50];
         sprintf(s, _("%lu. Workspace %-.32s"), (unsigned long)(d + 1),
                 manager->workspaceName(d));
 
         YMenu *sub = 0;
-        if (manager->windowCount(d) > 0) // !!! do lazy create menu instead
-            sub = manager->createWindowMenu(0, d);
+        //if (manager->windowCount(d) > 0) // !!! do lazy create menu instead
+            //sub = manager->createWindowMenu(0, d);
         addItem(s, (d < 10) ? 0 : -1, workspaceActionActivate[d], sub);
+	if (manager->windowCount(d) > 0) manager->createWindowMenu(this, d);
     }
 #ifdef CONFIG_WINLIST
     addSeparator();
