---------------------------------------------------------------------------- `grep -n 3D *.[ch] > 3Ddiffs.lst` of CTWM-3.1. This is where VTWM-5.4 began. The exclamation marks denote what I ported. This is not inclusive or exhaustive. RTSL for the signature 'djhjr'. ! add_window.c:276: tmp_win->frame_bw3D = Scr->ThreeDBorderWidth; ! add_window.c:279: tmp_win->frame_bw3D = 0; ! add_window.c:282: if (tmp_win->frame_bw3D != 0) { ! add_window.c:446: AddingW = tmp_win->attr.width + bw2 + 2 * tmp_win->frame_bw3D; ! add_window.c:448: bw2 + 2 * tmp_win->frame_bw3D; ! add_window.c:451: tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D); ! add_window.c:521: tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D); ! add_window.c:634: tmp_win->attr.width = AddingW - bw2 - 2 * tmp_win->frame_bw3D; ! add_window.c:636: bw2 - 2 * tmp_win->frame_bw3D; ! add_window.c:655: int delta = tmp_win->attr.border_width - tmp_win->frame_bw - tmp_win->frame_bw3D; ! add_window.c:725: if (Scr->use3Dtitles && !Scr->BeNiceToColormap) GetShadeColors (&tmp_win->title); ! add_window.c:726: if (Scr->use3Dborders && !Scr->BeNiceToColormap) { ! add_window.c:733: - tmp_win->frame_bw3D; ! add_window.c:735: tmp_win->old_bw - tmp_win->frame_bw - tmp_win->frame_bw3D; ! add_window.c:736: tmp_win->frame_width = tmp_win->attr.width + 2 * tmp_win->frame_bw3D; ! add_window.c:738: 2 * tmp_win->frame_bw3D; ! add_window.c:776: tmp_win->frame_bw3D - tmp_win->frame_bw, ! add_window.c:777: tmp_win->frame_bw3D - tmp_win->frame_bw, ! add_window.c:793: if (Scr->use3Dtitles && (Scr->Monochrome != COLOR)) ! add_window.c:818: tmp_win->title_x = tmp_win->frame_bw3D - tmp_win->frame_bw; ! add_window.c:819: tmp_win->title_y = tmp_win->frame_bw3D - tmp_win->frame_bw; ! add_window.c:851: XReparentWindow(dpy, tmp_win->w, tmp_win->frame, tmp_win->frame_bw3D, ! add_window.c:852: tmp_win->title_height + tmp_win->frame_bw3D); ! add_window.c:1103: if (Scr->use3Dtitles && (Scr->Monochrome != COLOR)) ! add_window.c:1138: if (Scr->use3Dtitles) ! add_window.c:1177: if (Scr->use3Dtitles) tmp_win->highlightx += 6; ! add_window.c:1201: tmp->title_x = tmp->frame_bw3D - tmp->frame_bw; ! add_window.c:1202: tmp->title_y = tmp->frame_bw3D - tmp->frame_bw; ! add_window.c:1244: tmp->title_x = basex - tmp->frame_bw + tmp->frame_bw3D; ! add_window.c:1589: tmp->title_height + 2 * tmp->frame_bw3D) ? 0 : 2) | ! add_window.c:1591: tmp->title_height + 2 * tmp->frame_bw3D) ? 0 : 1)]; ! ctwm.c:423: Scr->TBInfo.border = -100; /* trick to have different default value if ThreeDTitles ! ctwm.c:499: if (Scr->use3Dtitles) { ! ctwm.c:512: if (Scr->use3Dtitles && !Scr->BeNiceToColormap) GetShadeColors (&Scr->TitleC); ! ctwm.c:513: if (Scr->use3Dmenus && !Scr->BeNiceToColormap) GetShadeColors (&Scr->MenuC); ! ctwm.c:514: if (Scr->use3Dmenus && !Scr->BeNiceToColormap) GetShadeColors (&Scr->MenuTitleC); ! ctwm.c:515: if (Scr->use3Dborders && !Scr->BeNiceToColormap) GetShadeColors (&Scr->BorderColorC); ! ctwm.c:516: if (! Scr->use3Dborders) Scr->ThreeDBorderWidth = 0; ! ctwm.c:526: if (Scr->use3Dtitles) Scr->TitleHeight += 4; ! ctwm.c:732: Scr->FramePadding = -100; /* trick to have different default value if ThreeDTitles ! ctwm.c:737: Scr->ThreeDBorderWidth = 6; ! ctwm.c:797: Scr->use3Diconmanagers = FALSE; ! ctwm.c:798: Scr->use3Dmenus = FALSE; ! ctwm.c:799: Scr->use3Dtitles = FALSE; ! ctwm.c:800: Scr->use3Dborders = FALSE; ! ctwm.c:854: xwc.x += gravx * tmp->frame_bw3D; ! ctwm.c:855: xwc.y += gravy * tmp->frame_bw3D; ! events.c:1367: if (Scr->use3Dborders && (Event.xany.window == Tmp_win->frame)) { ! events.c:1415: if (Scr->use3Diconmanagers && (Scr->Monochrome != COLOR)) ! events.c:1428: if (Scr->use3Diconmanagers && Tmp_win->list->iconifypm) { ! events.c:2172: Event.xbutton.x = JunkX - Tmp_win->frame_bw3D; ! events.c:2173: Event.xbutton.y = JunkY - Tmp_win->title_height - Tmp_win->frame_bw3D; ! events.c:2202: Event.xbutton.x -= Tmp_win->frame_bw3D; ! events.c:2203: Event.xbutton.y -= (Tmp_win->title_height + Tmp_win->frame_bw3D); ! events.c:2533: if (Scr->use3Dtitles && Scr->SunkFocusWindowTitle && ! events.c:2535: Draw3DBorder (Tmp_win->title_w, Scr->TBInfo.titlex, 0, ! events.c:2557: if (Scr->use3Dtitles && Scr->SunkFocusWindowTitle && ! events.c:2559: Draw3DBorder (Tmp_win->title_w, Scr->TBInfo.titlex, 0, ! events.c:2748: if (Scr->use3Dtitles && Scr->SunkFocusWindowTitle && ! events.c:2750: Draw3DBorder (Tmp_win->title_w, Scr->TBInfo.titlex, 0, ! events.c:2882: x -= ((gravx < 0) ? 0 : Tmp_win->frame_bw3D); ! events.c:2886: y -= ((gravy < 0) ? 0 : Tmp_win->frame_bw3D); ! events.c:2890: width = cre->width + 2 * Tmp_win->frame_bw3D; ! events.c:2893: height = cre->height + Tmp_win->title_height + 2 * Tmp_win->frame_bw3D; ! iconmgr.c:101: (2 * (Scr->ThreeDBorderWidth ? Scr->ThreeDBorderWidth : Scr->BorderWidth)); ! iconmgr.c:105: (2 * (Scr->ThreeDBorderWidth ? Scr->ThreeDBorderWidth : Scr->BorderWidth)); ! iconmgr.c:475: if (Scr->use3Diconmanagers) { ! iconmgr.c:477: tmp->iconifypm = Create3DIconManagerIcon (tmp->cp); ! iconmgr.c:712: if (Scr->use3Diconmanagers) { ! iconmgr.c:717: Draw3DBorder (tmp->w, 0, 0, tmp->width, tmp->height, shadow_width, ! iconmgr.c:720: Draw3DBorder (tmp->w, 0, 0, tmp->width, tmp->height, shadow_width, ! iconmgr.c:857: bw = ip->twm_win->frame_bw3D ? ip->twm_win->frame_bw3D : ip->twm_win->frame_bw; ! iconmgr.c:869: newwidth + 2 * ip->twm_win->frame_bw3D, ! iconmgr.c:870: ip->height + ip->twm_win->title_height + 2 * ip->twm_win->frame_bw3D, -1); ! icons.c:405: if (Scr->use3Diconmanagers && !Scr->BeNiceToColormap) GetShadeColors (&icon->iconc); ! menus.c:344: if (Scr->use3Dtitles) ! menus.c:358: if (Scr->use3Dtitles) { ! menus.c:359: if (!CreateTitleButton (TBPM_3DDOT, F_ICONIFY, "", (MenuRoot *) NULL, ! menus.c:363: if (!CreateTitleButton (TBPM_3DRESIZE, F_RESIZE, "", (MenuRoot *) NULL, ! menus.c:422: if (Scr->use3Dmenus) { ! menus.c:423: Paint3DEntry (mr, mi, exposure); ! menus.c:428:void Paint3DEntry(mr, mi, exposure) ! menus.c:444: Draw3DBorder (mr->w, 2, y_offset, mr->width - 4, Scr->EntryHeight, 1, ! menus.c:476: Scr->pullPm = Create3DMenuIcon (Scr->MenuFont.height, &Scr->pullW, ! menus.c:486: Draw3DBorder (mr->w, 2, y_offset, mr->width - 4, Scr->EntryHeight, 1, ! menus.c:594: if (Scr->use3Dmenus) { ! menus.c:595: Draw3DBorder (mr->w, 0, 0, mr->width, mr->height, 2, Scr->MenuC, off, False, False); ! menus.c:890: if (Scr->use3Dmenus && !Scr->BeNiceToColormap) GetShadeColors (&tmp->normal); ! menus.c:956: if (Scr->use3Dmenus) mr->height += 4; ! menus.c:1004: borderwidth = Scr->use3Dmenus ? 0 : 1; ! menus.c:1018: if (Scr->use3Dmenus && (Scr->Monochrome == COLOR) && (mr->highlight.back == UNUSED_PIXEL)) { ! menus.c:1033: if (Scr->use3Dmenus && (Scr->Monochrome == COLOR) && (mr->highlight.fore == UNUSED_PIXEL)) { ! menus.c:1047: if (Scr->use3Dmenus && !Scr->BeNiceToColormap) GetShadeColors (&mr->highlight); ! menus.c:1072: if (Scr->use3Dmenus && !Scr->BeNiceToColormap) { ! menus.c:1447: AddingW = tmp_win->attr.width + bw2 + 2 * tmp_win->frame_bw3D; ! menus.c:1448: AddingH = tmp_win->attr.height + tmp_win->title_height + bw2 + 2 * tmp_win->frame_bw3D; ! menus.c:1476: tmp_win->title_height + tmp_win->frame_bw3D); ! menus.c:2006: moving_icon ? 0 : tmp_win->title_height + tmp_win->frame_bw3D); ! menus.c:2182: moving_icon ? 0 : tmp_win->title_height + tmp_win->frame_bw3D); ! menus.c:2224: moving_icon ? 0 : tmp_win->title_height + tmp_win->frame_bw3D); ! menus.c:3368: if (Scr->use3Dborders) PaintBorders (tmp, onoroff); ! parse.c:467:#define kw0_Use3DMenus 33 ! parse.c:468:#define kw0_Use3DTitles 34 ! parse.c:469:#define kw0_Use3DIconManagers 35 ! parse.c:470:#define kw0_Use3DBorders 36 ! parse.c:512:#define kwn_ThreeDBorderWidth 21 ! parse.c:772: { "threedborderwidth", NKEYWORD, kwn_ThreeDBorderWidth }, ! parse.c:784: { "usethreedborders", KEYWORD, kw0_Use3DBorders }, ! parse.c:785: { "usethreediconmanagers", KEYWORD, kw0_Use3DIconManagers }, ! parse.c:786: { "usethreedmenus", KEYWORD, kw0_Use3DMenus }, ! parse.c:787: { "usethreedtitles", KEYWORD, kw0_Use3DTitles }, ! parse.c:948: case kw0_Use3DBorders: ! parse.c:949: Scr->use3Dborders = TRUE; ! parse.c:952: case kw0_Use3DIconManagers: ! parse.c:953: Scr->use3Diconmanagers = TRUE; ! parse.c:956: case kw0_Use3DMenus: ! parse.c:957: Scr->use3Dmenus = TRUE; ! parse.c:960: case kw0_Use3DTitles: ! parse.c:961: Scr->use3Dtitles = TRUE; ! parse.c:1131: case kwn_ThreeDBorderWidth: ! parse.c:1132: if (Scr->FirstTime) Scr->ThreeDBorderWidth = num; ! resize.c:179: tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D); ! resize.c:214: tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D); ! resize.c:361: tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D); ! resize.c:488: tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D); ! resize.c:523: dheight = height - tmp_win->title_height - 2 * tmp_win->frame_bw3D; ! resize.c:524: dwidth = width - 2 * tmp_win->frame_bw3D; ! resize.c:592: tmp_win->iconmgrp->width = (int) (((dragWidth - 2 * tmp_win->frame_bw3D) * ! resize.c:669: dwidth -= 2 * tmp_win->frame_bw3D; ! resize.c:670: dheight -= (tmp_win->title_height + 2 * tmp_win->frame_bw3D); ! resize.c:777: *widthp = dwidth + 2 * tmp_win->frame_bw3D; ! resize.c:778: *heightp = dheight + tmp_win->title_height + 2 * tmp_win->frame_bw3D; ! resize.c:840: tmp_win->iconmgrp->width = w - (2 * tmp_win->frame_bw3D); ! resize.c:841: h = tmp_win->iconmgrp->height + tmp_win->title_height + (2 * tmp_win->frame_bw3D); ! resize.c:855: title_width = xwc.width = w - (2 * tmp_win->frame_bw3D); ! resize.c:885: tmp_win->title_x = xwc.x = tmp_win->frame_bw3D - bw; ! resize.c:886: tmp_win->title_y = xwc.y = tmp_win->frame_bw3D - bw; ! resize.c:893: tmp_win->attr.width = w - (2 * tmp_win->frame_bw3D); ! resize.c:894: tmp_win->attr.height = h - tmp_win->title_height - (2 * tmp_win->frame_bw3D); ! resize.c:911: XMoveResizeWindow (dpy, tmp_win->w, tmp_win->frame_bw3D, ! resize.c:912: tmp_win->title_height + tmp_win->frame_bw3D, ! resize.c:922: if (Scr->use3Dtitles) xwc.width -= 4; ! resize.c:937: WMapSetupWindow (tmp_win, x + tmp_win->frame_bw3D, ! resize.c:938: y + tmp_win->title_height + tmp_win->frame_bw3D, ! resize.c:948: + tmp_win->frame_bw3D); ! resize.c:951: + tmp_win->frame_bw3D); ! resize.c:1100: tmp->frame_bw3D, tmp->title_height + tmp->frame_bw3D, tmp->w, ! resize.c:1126: newBounding[0].x = tmp->title_x - tmp->frame_bw3D; ! resize.c:1127: newBounding[0].y = tmp->title_y - tmp->frame_bw3D; ! resize.c:1128: newBounding[0].width = tmp->title_width + fbw2 + 2 * tmp->frame_bw3D; ! resize.c:1129: newBounding[0].height = tmp->title_height + tmp->frame_bw3D; ! resize.c:1131: newBounding[1].y = Scr->TitleHeight + tmp->frame_bw3D; ! resize.c:1132: newBounding[1].width = tmp->attr.width + fbw2 + 2 * tmp->frame_bw3D; ! resize.c:1133: newBounding[1].height = tmp->attr.height + fbw2 + tmp->frame_bw3D; ! resize.c:1137: newClip[0].x = tmp->title_x + tmp->frame_bw - tmp->frame_bw3D; ! resize.c:1139: newClip[0].width = tmp->title_width + 2 * tmp->frame_bw3D; ! resize.c:1140: newClip[0].height = Scr->TitleHeight + tmp->frame_bw3D; ! resize.c:1142: newClip[1].y = tmp->title_height + tmp->frame_bw3D; ! resize.c:1143: newClip[1].width = tmp->attr.width + 2 * tmp->frame_bw3D; ! resize.c:1144: newClip[1].height = tmp->attr.height + tmp->frame_bw3D; ! util.c:91:static Image *Create3DMenuImage (); ! util.c:92:static Image *Create3DDotImage (); ! util.c:93:static Image *Create3DResizeImage (); ! util.c:94:static Image *Create3DZoomImage (); ! util.c:95:static Image *Create3DBarImage (); util.c:96:static Image *Create3DResizeAnimation (); ! util.c:1341:static Image *Create3DDotImage (cp) ! util.c:1355: Draw3DBorder (image->pixmap, 0, 0, h, h, 2, cp, off, True, False); ! util.c:1356: Draw3DBorder (image->pixmap, (h / 2) - 2, (h / 2) - 2, 5, 5, 2, cp, off, True, False); ! util.c:1364:static Image *Create3DBarImage (cp) ! util.c:1378: Draw3DBorder (image->pixmap, 0, 0, h, h, 2, cp, off, True, False); ! util.c:1379: Draw3DBorder (image->pixmap, 4, (h / 2) - 2, h - 8, 5, 2, cp, off, True, False); ! util.c:1387:static Image *Create3DMenuImage (cp) ! util.c:1401: Draw3DBorder (image->pixmap, 0, 0, h, h, 2, cp, off, True, False); ! util.c:1403: Draw3DBorder (image->pixmap, 4, i, h - 8, 4, 2, cp, off, True, False); ! util.c:1412:static Image *Create3DResizeImage (cp) ! util.c:1426: Draw3DBorder (image->pixmap, 0, 0, h, h, 2, cp, off, True, False); ! util.c:1427: Draw3DBorder (image->pixmap, 0, h / 4, ((3 * h) / 4) + 1, ((3 * h) / 4) + 1, 2, ! util.c:1429: Draw3DBorder (image->pixmap, 0, h / 2, (h / 2) + 1, (h / 2) + 1, 2, cp, off, True, False); ! util.c:1437:static Image *Create3DZoomImage (cp) ! util.c:1451: Draw3DBorder (image->pixmap, 0, 0, h, h, 2, cp, off, True, False); ! util.c:1452: Draw3DBorder (image->pixmap, h / 4, h / 4, (h / 2) + 2, (h / 2) + 2, 2, cp, off, True, False); ! util.c:1466:Pixmap Create3DMenuIcon (height, widthp, heightp, cp) ! util.c:1493: Draw3DBorder (col->pix, 0, 0, w, h, 1, cp, off, True, False); ! util.c:1495: Draw3DBorder (col->pix, 4, i, w - 8, 3, 1, Scr->MenuC, off, True, False); ! util.c:1502:Pixmap Create3DIconManagerIcon (cp) ! util.c:1519: Draw3DBorder (col->pix, 0, 0, w, h, 4, cp, off, True, False); util.c:1526:static Image *Create3DResizeAnimation (cp) util.c:1539: Draw3DBorder (im->pixmap, 0, 0, h, h, 2, cp, off, True, False); util.c:1540: Draw3DBorder (im->pixmap, i, i, h - (2 * i), h - (2 * i), 2, cp, off, True, False); ! util.c:1663:void Draw3DBorder (w, x, y, width, height, bw, cp, state, fill, forcebw) ! util.c:1775:void Draw3DCorner (w, x, y, width, height, thick, bw, cp, type) ! util.c:1781: Draw3DBorder (w, x, y, width, height, bw, cp, off, True, False); ! util.c:1784: Draw3DBorder (w, x + thick - bw, y + thick - bw, ! util.c:1789: Draw3DBorder (w, x - bw, y + thick - bw, ! util.c:1794: Draw3DBorder (w, x - bw, y - bw, ! util.c:1799: Draw3DBorder (w, x + thick - bw, y - bw, util.c:1813: if (tmp_win->frame_bw3D) ! util.c:1839: Draw3DBorder (tmp_win->frame, ! util.c:1845: Draw3DBorder (tmp_win->frame, ! util.c:1846: tmp_win->frame_bw3D - 2, ! util.c:1847: tmp_win->frame_bw3D - 2, ! util.c:1848: tmp_win->frame_width - 2 * tmp_win->frame_bw3D + 4, ! util.c:1849: tmp_win->frame_height - 2 * tmp_win->frame_bw3D + 4, ! util.c:1853: Draw3DBorder (tmp_win->frame, ! util.c:1857: tmp_win->frame_bw3D, ! util.c:1859: Draw3DBorder (tmp_win->frame, ! util.c:1860: tmp_win->frame_bw3D + Scr->TitleHeight, ! util.c:1861: tmp_win->frame_height - tmp_win->frame_bw3D, ! util.c:1862: tmp_win->frame_width - 2 * (Scr->TitleHeight + tmp_win->frame_bw3D), ! util.c:1863: tmp_win->frame_bw3D, ! util.c:1865: Draw3DBorder (tmp_win->frame, ! util.c:1867: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1868: tmp_win->frame_bw3D, ! util.c:1869: tmp_win->frame_height - 2 * (Scr->TitleHeight + tmp_win->frame_bw3D), ! util.c:1871: Draw3DBorder (tmp_win->frame, ! util.c:1872: tmp_win->frame_width - tmp_win->frame_bw3D, ! util.c:1873: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1874: tmp_win->frame_bw3D, ! util.c:1875: tmp_win->frame_height - 2 * (Scr->TitleHeight + tmp_win->frame_bw3D), ! util.c:1877: Draw3DCorner (tmp_win->frame, ! util.c:1878: tmp_win->title_x - tmp_win->frame_bw3D, ! util.c:1880: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1881: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1882: tmp_win->frame_bw3D, 2, cp, 0); ! util.c:1883: Draw3DCorner (tmp_win->frame, ! util.c:1886: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1887: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1888: tmp_win->frame_bw3D, 2, cp, 1); ! util.c:1889: Draw3DCorner (tmp_win->frame, ! util.c:1890: tmp_win->frame_width - (Scr->TitleHeight + tmp_win->frame_bw3D), ! util.c:1891: tmp_win->frame_height - (Scr->TitleHeight + tmp_win->frame_bw3D), ! util.c:1892: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1893: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1894: tmp_win->frame_bw3D, 2, cp, 2); ! util.c:1895: Draw3DCorner (tmp_win->frame, ! util.c:1897: tmp_win->frame_height - (Scr->TitleHeight + tmp_win->frame_bw3D), ! util.c:1898: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1899: Scr->TitleHeight + tmp_win->frame_bw3D, ! util.c:1900: tmp_win->frame_bw3D, 2, cp, 3); ! util.c:1906: if (Scr->use3Dtitles) ! util.c:1909: Draw3DBorder (tmp_win->title_w, Scr->TBInfo.titlex, 0, ! util.c:1914: Draw3DBorder (tmp_win->title_w, Scr->TBInfo.titlex, 0, ! util.c:1922: if (Scr->use3Dtitles) { ! util.c:1942: if (Scr->use3Diconmanagers) { ! util.c:1943: Draw3DBorder (tmp_win->icon->w, 0, tmp_win->icon->height, ! util.c:2095: { TBPM_3DDOT, Create3DDotImage }, ! util.c:2096: { TBPM_3DRESIZE, Create3DResizeImage }, ! util.c:2097: { TBPM_3DMENU, Create3DMenuImage }, ! util.c:2098: { TBPM_3DZOOM, Create3DZoomImage }, ! util.c:2099: { TBPM_3DBAR, Create3DBarImage }, util.c:2123: { "%xpm:resize", Create3DResizeAnimation } util.c:2128: if ((image = Create3DResizeAnimation (cp)) != None) { workmgr.c:1137: Draw3DBorder (Scr->workSpaceMgr.workspaceWindow.w, 0, 0, width, height, 2, workmgr.c:1294: Draw3DBorder (Scr->workSpaceMgr.occupyWindow.w, 0, 0, width, height, 2, workmgr.c:1347: Draw3DBorder (w, 0, 0, bwidth, bheight, Scr->WMgrButtonShadowDepth, workmgr.c:1353: Draw3DBorder (w, 0, 0, bwidth, bheight, Scr->WMgrButtonShadowDepth, ! screen.h:167: short use3Dmenus; ! screen.h:168: short use3Dtitles; ! screen.h:169: short use3Diconmanagers; ! screen.h:170: short use3Dborders; ! screen.h:236: int ThreeDBorderWidth; /* 3D border width of twm windows */ ! twm.h:250: int frame_bw3D; /* 3D borderwidth of frame */ ! twm.h:323:#define TBPM_3DDOT ":xpm:dot" /* name of titlebar pixmap for dot */ ! twm.h:324:#define TBPM_3DRESIZE ":xpm:resize" /* name of titlebar pixmap for resize button */ ! twm.h:325:#define TBPM_3DMENU ":xpm:menu" /* name of titlebar pixmap for menus */ ! twm.h:326:#define TBPM_3DZOOM ":xpm:zoom" ! twm.h:327:#define TBPM_3DBAR ":xpm:bar" ! twm.h:381:extern Pixmap Create3DMenuIcon(); ! util.h:65:void Draw3DBorder (); ! util.h:66:void Draw3DCorner (); ! protos:137:extern void Paint3DEntry(struct MenuRoot *,struct MenuItem *,int ); ! ...in menus.c ! protos:232:extern unsigned long Create3DMenuIcon(unsigned int ,unsigned int *,unsigned int *,struct ColorPair ); ! ...in twm.h ! protos:234:extern unsigned long Create3DIconManagerIcon(struct ColorPair ); ! ...in twm.h ! protos:237:extern void Draw3DBorder(unsigned long ,int ,int ,int ,int ,int ,struct ColorPair ,int ,int ,int ); ! ...in twm.h ! protos:239:extern void Draw3DCorner(unsigned long ,int ,int ,int ,int ,int ,int ,struct ColorPair ,int ); ! ...in util.c ---------------------------------------------------------------------------- `grep -in separator *.[chy] > separator.lst` of CTWM-3.1. This is what it took for menu separators. The exclamation marks denote what I ported. RTSL for the signature 'djhjr'. ! gram.y:741: if ($2 == F_SEPARATOR) { ! gram.y:751: if ($7 == F_SEPARATOR) { ! parse.c:633: { "f.separator", FKEYWORD, F_SEPARATOR }, ! parse.h:105:#define F_SEPARATOR 58 ---------------------------------------------------------------------------- See the files 4.ANNOUNCE, BUGS and CHANGELOG for a summary of these and other changes - djhjr - ----------------------------------------------------------------------------