Only in .: Makefile diff -u ./afterstep.c /home/malda/code/AfterStep-1.0/afterstep/afterstep.c --- ./afterstep.c Wed May 14 17:38:24 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/afterstep.c Sun May 4 11:19:57 1997 @@ -164,11 +164,6 @@ Bool single = False; Bool option_error = FALSE; - - Scr.ButtonType=0; - Scr.TitleTextType=0; - Scr.TitleTextY=0; - #ifdef M4 /* Set the defaults for m4 processing */ diff -u ./borders.c /home/malda/code/AfterStep-1.0/afterstep/borders.c --- ./borders.c Thu May 15 01:18:03 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/borders.c Thu Mar 20 19:09:21 1997 @@ -186,7 +186,6 @@ { Window w=None; int y, i, x; - int z=0; GC ReliefGC,ShadowGC; GC HReliefGC,HShadowGC; Pixel BorderColor,BackColor; @@ -359,33 +358,16 @@ (expose_win==t->right_w[i]) || (expose_win == None)) { - if(Scr.ButtonType==0){ RelieveWindow(t,t->right_w[i],0,0,t->button_height, - t->button_height, - (PressedW==t->right_w[i]?ShadowGC:ReliefGC), - (PressedW==t->right_w[i]?ReliefGC:ShadowGC), - BOTTOM_HILITE|RIGHT_HILITE); z=2; } - - + RelieveWindow(t,t->right_w[i],0,0,t->button_height, + t->button_height, + (PressedW==t->right_w[i]?ShadowGC:ReliefGC), + (PressedW==t->right_w[i]?ReliefGC:ShadowGC), + BOTTOM_HILITE|RIGHT_HILITE); switch (Scr.button_style[(i*2+2)%10]) { case XPM_BUTTON_STYLE: - if((PressedW==t->right_w[i])&&(Scr.ButtonType==1)) - { /* Pressed! */ - XShapeCombineMask(dpy, t->right_w[i], ShapeBounding, 0, 0, - Scr.dbutton_pixmap_mask[(i*2+2)%10], ShapeSet); - XCopyArea(dpy, Scr.dbutton_pixmap[(i*2+2)%10], t->right_w[i], - Scr.MaskGC, 0, 0, Scr.button_width[(i*2+2)%10], - Scr.button_height[(i*2+2)%10], z, z); - - } - else /* Not Pressed */ - { - if(Scr.ButtonType==1) XShapeCombineMask(dpy, t->right_w[i], ShapeBounding, 0, 0, - Scr.button_pixmap_mask[(i*2+2)%10], ShapeSet); - XCopyArea(dpy, Scr.button_pixmap[(i*2+2)%10], t->right_w[i], - Scr.MaskGC, 0, 0, Scr.button_width[(i*2+2)%10], - Scr.button_height[(i*2+2)%10], z, z); - - } + XCopyArea(dpy, Scr.button_pixmap[(i*2+2)%10], t->right_w[i], + Scr.LineGC, 0, 0, Scr.button_width[(i*2+2)%10], + Scr.button_height[(i*2+2)%10], 2, 2); break; default: afterstep_err( "old button styles should not be used\n",NULL,NULL,NULL); @@ -400,27 +382,37 @@ if(t->flags & BORDER ) { /* draw relief lines */ - GC rgc,sgc; - - rgc = onoroff?Scr.HiReliefGC:Scr.StdReliefGC; - sgc = onoroff?Scr.HiShadowGC:Scr.StdShadowGC; - - y = t->frame_height - 2*t->corner_width; - x = t->frame_width - 2*t->corner_width +t->bw; - SetBottomBackground(t, onoroff); - RelieveWindow(t,t->side,0,0,x,t->boundary_height, - rgc, sgc, 0x0004); + y = t->frame_height - 2*t->corner_width; + x = t->frame_width - 2*t->corner_width +t->bw; + SetBottomBackground(t, onoroff); + /* + if((flush_expose (t->side))||(expose_win == t->side)|| + (expose_win == None)) {*/ + + RelieveWindow(t,t->side,0,0,x,t->boundary_height, + HReliefGC, HShadowGC, 0x0004); + /* } */ for(i=0;i<2;i++) { - RelieveWindow(t,t->corners[i],0,0,t->corner_width, + /* + if((flush_expose(t->corners[i]))||(expose_win==t->corners[i])|| + (expose_win == None)) + {*/ + GC rgc,sgc; + + rgc = HReliefGC; + sgc = HShadowGC; + + RelieveWindow(t,t->corners[i],0,0,t->corner_width, t->corner_width+t->bw, rgc,sgc, corners[i]); if(t->boundary_height > 1) - RelieveParts(t,i,rgc,sgc); + RelieveParts(t,i,rgc,i?rgc:sgc); else - RelieveParts(t,i,rgc,sgc); + RelieveParts(t,i,sgc,i?sgc:sgc); + /* } */ } } else /* no decorative border */ @@ -641,64 +633,9 @@ DrawTexturedText(dpy,t->title_w,Scr.WindowFont.font,hor_off, 4,Scr.TitleGradient, t->name, strlen(t->name)); } else { - - if(Scr.TitleTextType==1){ - if(onoroff) - { /* If on, check */ - tGC = PressedW==t->title_w?Scr.HiFontReliefGC:Scr.HiFontGC; - ReliefGC = PressedW==t->title_w?Scr.HiFontShadowGC:Scr.HiFontReliefGC; - ShadowGC = PressedW==t->title_w?Scr.HiFontGC:Scr.HiFontShadowGC; - - } - else - { /* If Off, then just use Lo */ - ReliefGC=Scr.LoFontReliefGC; - ShadowGC=Scr.LoFontShadowGC; - tGC=Scr.LoFontGC; - } - - XDrawString (dpy, t->title_w,ReliefGC,hor_off, Scr.WindowFont.y+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off+1, Scr.WindowFont.y+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off+2, Scr.WindowFont.y+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off+3, Scr.WindowFont.y+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off+4, Scr.WindowFont.y+Scr.TitleTextY, t->name, strlen(t->name)); - - XDrawString (dpy, t->title_w,ReliefGC,hor_off, Scr.WindowFont.y+1+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off, Scr.WindowFont.y+2+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off, Scr.WindowFont.y+3+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off, Scr.WindowFont.y+4+Scr.TitleTextY, t->name, strlen(t->name)); - - XDrawString (dpy, t->title_w,ShadowGC,hor_off+4,Scr.WindowFont.y+2+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ShadowGC,hor_off+4,Scr.WindowFont.y+3+Scr.TitleTextY, t->name, strlen(t->name)); - - XDrawString (dpy, t->title_w,ShadowGC,hor_off+4,Scr.WindowFont.y+4+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ShadowGC,hor_off+3,Scr.WindowFont.y+4+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ShadowGC,hor_off+2,Scr.WindowFont.y+4+Scr.TitleTextY, t->name, strlen(t->name)); - - XDrawString (dpy, t->title_w,tGC,hor_off+2, Scr.WindowFont.y+2+Scr.TitleTextY, t->name, strlen(t->name)); - } - else if(Scr.TitleTextType==2){ - tGC = (onoroff?Scr.HiFontGC:Scr.LoFontGC); - ReliefGC = (onoroff?Scr.HiFontReliefGC:Scr.HiFontReliefGC); - ShadowGC = (onoroff?Scr.HiFontShadowGC:Scr.LoFontShadowGC); - - if(PressedW!=t->title_w) - { - XDrawString (dpy, t->title_w,ShadowGC,hor_off+1,Scr.WindowFont.y+1+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,ReliefGC,hor_off+2,Scr.WindowFont.y+2+Scr.TitleTextY, t->name, strlen(t->name)); - XDrawString (dpy, t->title_w,tGC, hor_off+3,Scr.WindowFont.y+3+Scr.TitleTextY, t->name, strlen(t->name)); - } else - - XDrawString (dpy, t->title_w,Scr.HiFontGC,hor_off+1,Scr.WindowFont.y+1+Scr.TitleTextY, t->name, strlen(t->name)); - - - } - else - { /* Default Window Draw */ - XDrawString (dpy, t->title_w,Scr.FontGC,hor_off, - Scr.WindowFont.y+ 4, - t->name, strlen(t->name)); - } + XDrawString (dpy, t->title_w,Scr.FontGC,hor_off, + Scr.WindowFont.y+ 4, + t->name, strlen(t->name)); } } #else @@ -797,9 +734,8 @@ { case 0: seg[0].x1 = t->boundary_width-1; - /* used to be -2 */ seg[0].x2 = t->corner_width-2; - seg[0].y1 = t->corner_width - t->boundary_height+t->bw-1; + seg[0].y1 = t->corner_width - t->boundary_height+t->bw; seg[0].y2 = t->corner_width - t->boundary_height+t->bw; break; case 1: Only in .: borders.c.rej diff -u ./configure.c /home/malda/code/AfterStep-1.0/afterstep/configure.c --- ./configure.c Wed May 21 19:53:30 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/configure.c Sat Mar 8 19:43:54 1997 @@ -1,17 +1,17 @@ /**************************************************************************** * This module is mostly all new - * by Rob Nation + * by Rob Nation * Copyright 1993 Robert Nation. No restrictions are placed on this code, * as long as the copyright notice is preserved **************************************************************************** * slightly modified for BowMan * by Bo Yang - * + * * slightly modified for AfterStep * by Frank Fejes - * + * **************************************************************************** - * + * * Configure.c: reads the .steprc or system.steprc file, interprets it, * and sets up menus, bindings, colors, and fonts as specified * @@ -30,7 +30,6 @@ #include #include - #ifdef M4 #include #endif @@ -85,7 +84,7 @@ void nocolor(char *note, char *name); int contexts; int mods,func,func_val_1,func_val_2; - + #ifndef NO_PAGER int pager_x=10000,pager_y=10000; #endif @@ -97,16 +96,7 @@ char *TexMaxcols=NULL; char *TColor=NULL, *IColor=NULL, *MColor=NULL, *UColor=NULL, *SColor=NULL; char *TGColor=NULL; -char *TPixmap=NULL,*UPixmap=NULL,*SPixmap=NULL, *MTPixmap=NULL, *MPixmap=NULL, *MTPixmapMask=NULL, *MArrowPixmap=NULL; - -char hincolor[15]; -char hircolor[15]; -char hiscolor[15]; -char loncolor[15]; -char lorcolor[15]; -char loscolor[15]; - - +char *TPixmap=NULL,*UPixmap=NULL,*SPixmap=NULL; extern void InitTextureData(TextureInfo *info, char *title, char*utitle, char *mtitle, char *menu, char *sticky, char *text); int IconTexType = TEXTURE_BUILTIN; @@ -158,7 +148,7 @@ {"IconBox", SetBox, (char **)0, (int *)0}, {"StickyIcons", SetFlag, (char **)StickyIcons, (int *)0}, {"IconFont", assign_string, &Scr.IconFont.name, (int *)0}, - {"IconTitle", SetFlag, (char **)IconTitle, (int*)0}, + {"IconTitle", SetFlag, (char **)IconTitle, (int*)0}, #ifndef PRUNE {"Icon", SetOneStyle, (char **)&Scr.TheList,(int *)ICON_FLAG}, #endif @@ -174,13 +164,13 @@ {"CirculateSkipIcons",SetFlag, (char **)CirculateSkipIcons, (int *)0}, #ifndef PRUNE - {"NoFocus", SetOneStyle, (char **)&Scr.TheList, + {"NoFocus", SetOneStyle, (char **)&Scr.TheList, (int *)NOFOCUS_FLAG}, - {"NoTitle", SetOneStyle, (char **)&Scr.TheList, + {"NoTitle", SetOneStyle, (char **)&Scr.TheList, (int *)NOTITLE_FLAG}, - {"NoBorder", SetOneStyle, (char **)&Scr.TheList, + {"NoBorder", SetOneStyle, (char **)&Scr.TheList, (int *)NOBORDER_FLAG}, - {"Sticky", SetOneStyle, (char **)&Scr.TheList, + {"Sticky", SetOneStyle, (char **)&Scr.TheList, (int *)STICKY_FLAG}, {"StaysOnTop", SetOneStyle, (char **)&Scr.TheList, (int *)STAYSONTOP_FLAG}, @@ -234,7 +224,7 @@ {"BackingStore", SetFlag, (char **)BackingStore, (int *)0}, {"AppsBackingStore", SetFlag, (char **)AppsBackingStore, (int *)0}, {"SaveUnders", SetFlag, (char **)SaveUnders, (int *)0}, - + {"ModulePath", assign_string, &ModulePath, (int *)0}, #ifndef PRUNE {"Module", executeModule, (char **)0, (int *)0}, @@ -243,7 +233,7 @@ {"TitleBarStyle", assign_string, &TitleStyle, (int *)0}, {"TextureTypes", assign_string, &TexTypes, (int *)0}, {"TextureMaxColors", assign_string, &TexMaxcols, (int *)0}, - + {"TitleTextureColor", assign_string, &TColor, (int*)0}, /* title */ {"MenuTextureColor", assign_string, &IColor, (int*)0}, /* menu items */ {"UTitleTextureColor", assign_string, &UColor, (int*)0}, /*unfocused title*/ @@ -252,9 +242,6 @@ {"TitlePixmap", assign_string, &TPixmap, (int*)0}, /* title pixmap */ {"UTitlePixmap", assign_string, &UPixmap, (int*)0}, /* title pixmap */ {"STitlePixmap", assign_string, &SPixmap, (int*)0}, /* title pixmap */ - {"MenuPixmap", assign_string, &MPixmap, (int*)0}, /* title pixmap */ - {"MTitlePixmap", assign_string, &MTPixmap, (int*)0}, /* title pixmap */ - {"MArrowPixmap", assign_string, &MArrowPixmap, (int*)0}, {"TextGradientColor", assign_string, &TGColor, (int*)0}, /* title text */ {"TexturedHandle", SetTextureFlag, (char **)TexturedHandle, (int *)0}, {"TitlebarNoPush", SetTextureFlag, (char **)TitlebarNoPush, (int *)0}, @@ -267,8 +254,7 @@ {"ButtonNoBorder", SetIconFlag, (char **)IconNoBorder, (int *)0}, #endif {"TitleTextAlign", SetInts, (char **)&Scr.TitleTextAlign, &dummy}, - {"TitleButton", SetTitleButton, (char **)1, (int *)0}, - {"TitleTextMode", SetTitleText, (char **)1, (int *)0}, + {"TitleButton", SetTitleButton, (char **)1, (int *)0}, {"", 0, (char **)0, (int *)0} }; @@ -318,8 +304,8 @@ #endif {"", 0,(char **)0} }; - -struct charstring + +struct charstring { char key; int value; @@ -378,9 +364,9 @@ #endif /*************************************************************** - * + * * Read a XPM file - * + * **************************************************************/ Pixmap GetXPMTile(char *file) { @@ -390,14 +376,14 @@ char *path = NULL; Pixmap pix, mask; #ifdef XPM - + path = findIconFile(file, PixmapPath,R_OK); if(path == NULL)return None; XGetWindowAttributes(dpy,Scr.Root,&root_attr); -/* xpm_attributes.colormap = root_attr.colormap; + xpm_attributes.colormap = root_attr.colormap; xpm_attributes.closeness = 40000; /* Allow for "similar" colors */ - xpm_attributes.valuemask = (XpmReturnPixels | XpmReturnExtensions); + xpm_attributes.valuemask = XpmReturnPixels | XpmColormap | XpmCloseness; if (XpmReadFileToPixmap(dpy, Scr.Root, path, &pix, &mask, @@ -406,7 +392,7 @@ return None; } free(path); - if (mask!=None) + if (mask!=None) XFreePixmap(dpy,mask); #else pix = None; @@ -414,42 +400,8 @@ return pix; } - -Pixmap GetXPMTileMask(char *file, Pixmap *mask) -{ - XWindowAttributes root_attr; - XpmAttributes xpm_attributes; - extern char *PixmapPath; - char *path = NULL; - Pixmap pix; -#ifdef XPM - - path = findIconFile(file, PixmapPath,R_OK); - if(path == NULL)return None; - - XGetWindowAttributes(dpy,Scr.Root,&root_attr); -/* xpm_attributes.colormap = root_attr.colormap; - xpm_attributes.closeness = 40000; /* Allow for "similar" colors */ - - xpm_attributes.valuemask = (XpmReturnPixels | XpmReturnExtensions); - - if (XpmReadFileToPixmap(dpy, Scr.Root, path, - &pix, mask, - &xpm_attributes) != XpmSuccess ) { - free(path); - return None; - } - free(path); -#else - pix = None; -#endif - - return pix; -} - - /***************************************************************************** - * + * * This routine is responsible for reading and parsing the config file * ****************************************************************************/ @@ -462,9 +414,9 @@ int HomeLen; /* length of Home */ #ifdef ENABLE_TEXTURE int icol, mcol, ucol, tcol, scol; /* texture colors */ - int defcol; + int defcol; #endif - + #ifdef M4 extern int m4_enable; #endif @@ -488,7 +440,7 @@ Scr.MouseButtonRoot = NULL; Scr.FuncKeyRoot.next = NULL; Scr.TheList = NULL; - + Scr.DefaultIcon = NULL; /* find the home directory to look in */ @@ -498,7 +450,7 @@ HomeLen = strlen(Home); if(config_file[0] == '/') - { + { home_file = safemalloc(strlen(config_file)+1); strcpy(home_file,config_file); } @@ -538,13 +490,13 @@ * Process the config file through m4 and save the * results in a temp file. */ - + afterstep_file = m4_defs(dpy, display_name, m4_options, afterstep_file); fclose(config_fd); + + config_fd = fopen(afterstep_file, "r"); - config_fd = fopen(afterstep_file, "r"); - - if (config_fd == (FILE *) 0) + if (config_fd == (FILE *) 0) { perror("Cannot open m4-processed config file\n"); exit(1); @@ -585,7 +537,7 @@ defcol = 32; } else { defcol = 10; - } + } if (!TexMaxcols) { Textures.Tmaxcols = defcol; Textures.Imaxcols = defcol; @@ -601,7 +553,7 @@ Textures.Mmaxcols = (mcol >= 0 ? mcol : defcol); Textures.Smaxcols = (scol >= 0 ? scol : defcol); } - InitTextureData(&Textures, TColor, UColor, MColor, IColor, SColor, + InitTextureData(&Textures, TColor, UColor, MColor, IColor, SColor, TGColor); /* load titlebar pixmaps */ if (Textures.Ttype==TEXTURE_PIXMAP) { @@ -611,9 +563,9 @@ if ((Scr.ForeTitle=GetXPMTile(TPixmap))==None) { printf("couldn't load Titlebar tile pixmap\n"); Textures.Ttype = 0; - } + } } - } + } if (Textures.Utype==TEXTURE_PIXMAP) { if (UPixmap==NULL) Textures.Utype=0; @@ -633,49 +585,16 @@ Textures.Stype = 0; } } - } - - - if (Textures.Mtype==TEXTURE_PIXMAP) { - if (MPixmap==NULL) - Textures.Mtype=0; - else { - if ((Scr.MenuItem=GetXPMTile(MPixmap))==None) { - printf("couldn't load Menu Item pixmap\n"); - Textures.Mtype = 0; - } - } - } - - if (Textures.Itype==TEXTURE_PIXMAP) { - if (MTPixmap==NULL) - Textures.Itype=0; - else { - if ( - (Scr.MenuTitle =GetXPMTileMask(MTPixmap,&Scr.MenuTitleMask))==None) - { - printf("couldn't load Menu Titlebar tile pixmap\n"); - Textures.Itype = 0; - } - } - } - - if(MArrowPixmap==NULL) - Scr.MenuArrow=None; - else - if((Scr.MenuArrow=GetXPMTile(MArrowPixmap))==None) - printf("couldn't load menu arrow pixmap\n", Scr.MenuArrow=None); - - + } /* cache textures for ideal cases (types 2 and 3) */ if (Textures.Ttype==2 || Textures.Ttype==3) { Scr.ForeTitle = XCreatePixmap(dpy, Scr.Root, Scr.MyDisplayWidth-1, NS_TITLE_HEIGHT, Scr.d_depth); if (Scr.ForeTitle!=None) { - if (!DrawHGradient(dpy, Scr.ForeTitle, 0, 0, + if (!DrawHGradient(dpy, Scr.ForeTitle, 0, 0, Scr.MyDisplayWidth-1, NS_TITLE_HEIGHT, - Textures.Tfrom, Textures.Tto, 1, + Textures.Tfrom, Textures.Tto, 1, Textures.Tmaxcols, Textures.Ttype-2)) { XFreePixmap(dpy, Scr.ForeTitle); Scr.ForeTitle = None; @@ -713,12 +632,12 @@ } } if (Textures.Utype==2 || Textures.Utype==3) { - Scr.BackTitle = XCreatePixmap(dpy, Scr.Root, Scr.MyDisplayWidth-1, + Scr.BackTitle = XCreatePixmap(dpy, Scr.Root, Scr.MyDisplayWidth-1, NS_TITLE_HEIGHT, Scr.d_depth); if (Scr.BackTitle!=None) { if (!DrawHGradient(dpy, Scr.BackTitle, 0, 0, Scr.MyDisplayWidth-1, NS_TITLE_HEIGHT, - Textures.Ufrom, Textures.Uto, 1, + Textures.Ufrom, Textures.Uto, 1, Textures.Umaxcols, Textures.Utype-2)) { XFreePixmap(dpy, Scr.BackTitle); Scr.BackTitle = None; @@ -727,14 +646,14 @@ } else Textures.Utype = 0; } - + if (Textures.Stype==2 || Textures.Stype==3) { - Scr.StickyTitle = XCreatePixmap(dpy, Scr.Root, Scr.MyDisplayWidth-1, - NS_TITLE_HEIGHT, Scr.d_depth); + Scr.StickyTitle = XCreatePixmap(dpy, Scr.Root, Scr.MyDisplayWidth-1, + NS_TITLE_HEIGHT, Scr.d_depth); if (Scr.StickyTitle!=None) { if (!DrawHGradient(dpy, Scr.StickyTitle, 0, 0, Scr.MyDisplayWidth-1, NS_TITLE_HEIGHT, - Textures.Sfrom, Textures.Sto, 1, + Textures.Sfrom, Textures.Sto, 1, Textures.Smaxcols, Textures.Stype-2)) { XFreePixmap(dpy, Scr.StickyTitle); Scr.StickyTitle = None; @@ -742,9 +661,9 @@ } } else Textures.Stype=0; - } + } #endif /* ENABLE_TEXTURE */ - + /* create pixmaps for buttons */ ButtonStyle(); @@ -757,12 +676,12 @@ /* if edgescroll >1000 and < 100000m * wrap at edges of desktop (a "spherical" desktop) */ - if (Scr.EdgeScrollX >= 1000) + if (Scr.EdgeScrollX >= 1000) { Scr.EdgeScrollX /= 1000; Scr.flags |= EdgeWrapX; } - if (Scr.EdgeScrollY >= 1000) + if (Scr.EdgeScrollY >= 1000) { Scr.EdgeScrollY /= 1000; Scr.flags |= EdgeWrapY; @@ -784,7 +703,7 @@ Scr.flags &= ~EdgeWrapY; GetColors(); - + /* create pixmap for icon button background */ IconStyle(); @@ -800,7 +719,7 @@ /***************************************************************************** - * + * * Copies a text string from the config file to a specified location * ****************************************************************************/ @@ -809,42 +728,8 @@ *arg = stripcpy(text); } - - - -/**************************************************************************** - * - * Read TitleText Controls - * - ****************************************************************************/ -void SetTitleText(char *tline,FILE *fd, char **junk,int *junk2) -{ - int n; - int ttype, y; - n = sscanf(tline,"%d %d %s %s %s %s %s %s",&ttype,&y,hircolor, - hiscolor, hincolor, lorcolor, loscolor, loncolor); - - if (n != 8) { - printf("wrong number of parameters given to TitleText\n"); - printf("t=%i y=%i 1=%s 2=%s 3=%s 4=%s 5=%s 6=%s\n", ttype,y,hircolor, - hiscolor, hincolor, lorcolor, loscolor, loncolor); - return; - } - - Scr.TitleTextType=ttype; - Scr.TitleTextY=y; -} - - - - - - - - - /***************************************************************************** - * + * * read the button pixmaps * ****************************************************************************/ @@ -854,7 +739,7 @@ XpmAttributes xpm_attributes; Pixmap mask; - + XGetWindowAttributes(dpy, Scr.Root, &root_attr); xpm_attributes.colormap = root_attr.colormap; xpm_attributes.closeness = 4000; @@ -869,14 +754,14 @@ } Scr.button_width[2] = xpm_attributes.width; Scr.button_height[2] = xpm_attributes.height; - Scr.button_style[2] = XPM_BUTTON_STYLE; + Scr.button_style[2] = XPM_BUTTON_STYLE; - if (mask!=None) + if (mask!=None) XFreePixmap(dpy,mask); } if (!Scr.button_pixmap[1]) { - if ( XpmCreatePixmapFromData(dpy, Scr.Root, minbutton_xpm, + if ( XpmCreatePixmapFromData(dpy, Scr.Root, minbutton_xpm, &Scr.button_pixmap[1], &mask, &xpm_attributes) != XpmSuccess ) { afterstep_err("Can not read minbutton_xpm to buttonstyles",NULL, NULL, NULL); @@ -886,16 +771,16 @@ Scr.button_height[1] = xpm_attributes.height; Scr.button_style[1] = XPM_BUTTON_STYLE; - if (mask!=None) + if (mask!=None) XFreePixmap(dpy,mask); } } /**************************************************************************** - * + * * Read Titlebar pixmap button * - ****************************************************************************/ + ****************************************************************************/ void SetTitleButton(char *tline,FILE *fd, char **junk,int *junk2) { #ifdef XPM @@ -903,14 +788,14 @@ XpmAttributes xpm_attributes; extern char *PixmapPath; char *path = NULL; + Pixmap mask; int num; char file[256]; - char file2[256]; int n; - n = sscanf(tline,"%d %s %s",&num,file,file2); + n = sscanf(tline,"%d %s",&num,file); - if (n < 2) { + if (n != 2) { printf("wrong number of parameters given with TitleButton\n"); } if (num < 0 || num > 9) { @@ -929,7 +814,7 @@ xpm_attributes.valuemask = XpmSize|XpmReturnPixels|XpmColormap|XpmCloseness; if (XpmReadFileToPixmap(dpy, Scr.Root, path, - &Scr.button_pixmap[num], &Scr.button_pixmap_mask[num], + &Scr.button_pixmap[num], &mask, &xpm_attributes) != XpmSuccess ) { printf("couldn't read Titlebar button pixmap %s\n", path); free(path); @@ -941,34 +826,8 @@ Scr.button_style[num] = XPM_BUTTON_STYLE; free(path); - - - path = findIconFile(file2,PixmapPath,R_OK); - if(path != NULL) { - Scr.ButtonType=1; /* Rob's Button Mode - Shaped & Bigger, Must Relieve */ - - XGetWindowAttributes(dpy,Scr.Root,&root_attr); - xpm_attributes.colormap = root_attr.colormap; - xpm_attributes.closeness = 40000; /* Allow for "similar" colors */ - xpm_attributes.valuemask = XpmSize|XpmReturnPixels|XpmColormap|XpmCloseness; - - if (XpmReadFileToPixmap(dpy, Scr.Root, path, - &Scr.dbutton_pixmap[num], &Scr.dbutton_pixmap_mask[num], - &xpm_attributes) != XpmSuccess ) { - printf("couldn't read Titlebar button pixmap %s\n", path); - free(path); - return; - } - - Scr.button_width[num] = xpm_attributes.width; - Scr.button_height[num] = xpm_attributes.height; - Scr.button_style[num] = XPM_BUTTON_STYLE; - } - free(path); - - - - + if (mask!=None) + XFreePixmap(dpy,mask); #endif /* XPM */ } @@ -990,8 +849,8 @@ xpm_attributes.valuemask = XpmSize | XpmReturnPixels | XpmColormap | XpmCloseness; if(XpmCreatePixmapFromData(dpy, Scr.Root, button_xpm, - &Scr.IconBgPixmap, &Scr.IconBgMask, - &xpm_attributes) == XpmSuccess ) { + &Scr.IconBgPixmap, &Scr.IconBgMask, + &xpm_attributes) == XpmSuccess ) { Scr.IconBgWidth = xpm_attributes.width; Scr.IconBgHeight = xpm_attributes.height; Scr.IconBgDepth = Scr.d_depth; @@ -1027,9 +886,9 @@ } /*************************************************************** - * + * * Read a XPM Icon Background from file - * + * **************************************************************/ static int GetXPMIconFile(char *file) { @@ -1038,7 +897,7 @@ XpmAttributes xpm_attributes; extern char *PixmapPath; char *path = NULL; - + path = findIconFile(file, PixmapPath,R_OK); if(path == NULL) return False; @@ -1067,9 +926,9 @@ } /******************************************************************* - * + * * Make a gradient pixmap for iconized windows background (aka Buttons) - * + * *******************************************************************/ static int GetXPMGradient(int from[3], int to[3], int maxcols, int type) @@ -1093,7 +952,7 @@ if (!DrawHGradient(dpy, Scr.IconBgPixmap, 0, 0, 64,64, from, to, 0, maxcols, type-TEXTURE_HGRADIENT)) { XFreePixmap(dpy, Scr.IconBgPixmap); - return 0; + return 0; } break; case TEXTURE_VGRADIENT: @@ -1101,21 +960,21 @@ if (!DrawVGradient(dpy, Scr.IconBgPixmap, 0, 0, 64,64, from, to, 0, maxcols, type-TEXTURE_VGRADIENT)) { XFreePixmap(dpy, Scr.IconBgPixmap); - return 0; - } + return 0; + } break; default: return 0; } - DrawOutline(Scr.IconBgPixmap,64,64); + DrawOutline(Scr.IconBgPixmap,64,64); return 1; } /******************************************************************* - * + * * Make a solid color pixmap for iconized windows background (aka Buttons) - * + * *******************************************************************/ static int GetSolidXPM(Pixel pixel) @@ -1141,7 +1000,7 @@ } /***************************************************************************** - * + * * Create pixmap for icon background * ****************************************************************************/ @@ -1155,9 +1014,9 @@ #ifdef XPM /* Free resources if this is a restart */ - if (Scr.IconBgPixmap != None) + if (Scr.IconBgPixmap != None) XFreePixmap(dpy,Scr.IconBgPixmap); - if (Scr.IconBgMask != None) + if (Scr.IconBgMask != None) XFreePixmap(dpy,Scr.IconBgMask); #endif /* XPM */ @@ -1195,7 +1054,7 @@ } else { BgColor=GetColor("grey"); } - + if (!GetSolidXPM(BgColor)) { afterstep_err("couldn't create Solid Button. Using default.\n",NULL,NULL,NULL); SetBuiltInIconBg(); @@ -1214,12 +1073,12 @@ if (Scr.flags & IconTitle) { XSetForeground(dpy, Scr.IconGC, Scr.HiColors.back); XFillRectangle(dpy, Scr.IconBgPixmap, Scr.IconGC, 1, 1, - Scr.IconBgWidth-2,Scr.IconFont.height+2); + Scr.IconBgWidth-2,Scr.IconFont.height+2); } } /***************************************************************************** - * + * * Changes a cursor def. * ****************************************************************************/ @@ -1230,14 +1089,14 @@ num = sscanf(text,"%d %d",&cursor_num, &cursor_style); if((num != 2)||(cursor_num >= MAX_CURSORS)||(cursor_num<0)) { - afterstep_err("Bad cursor in line %s",orig_tline,NULL,NULL); + afterstep_err("Bad cursor in line %s",orig_tline,NULL,NULL); return; } Scr.ASCursors[cursor_num] = XCreateFontCursor(dpy,cursor_style); } /***************************************************************************** - * + * * Sets a boolean flag to true * ****************************************************************************/ @@ -1261,7 +1120,7 @@ } /***************************************************************************** - * + * * Reads in one or two integer values * ****************************************************************************/ @@ -1272,7 +1131,7 @@ /***************************************************************************** - * + * * Reads in a list of mouse button numbers * ****************************************************************************/ @@ -1286,15 +1145,15 @@ if(next == text) break; text = next; if (*text == ',') text++; - if((b > 0) && (b <= MAX_BUTTONS)) + if((b > 0) && (b <= MAX_BUTTONS)) Scr.RaiseButtons |= 1<>1; g = g >>1; b = b >>1; - + /* pure black: use gray */ if( r==0 && g== 0 && b==0) r = g = b = 0x7fff; @@ -1363,7 +1222,7 @@ nocolor("alloc shadow",""); bg_color.pixel = background; } - + return bg_color.pixel; } @@ -1372,19 +1231,19 @@ * This routine computes the hilight color from the background color * ****************************************************************************/ -Pixel GetHilite(Pixel background) +Pixel GetHilite(Pixel background) { XColor bg_color, white_p; XWindowAttributes attributes; - + XGetWindowAttributes(dpy,Scr.Root,&attributes); - + bg_color.pixel = background; XQueryColor(dpy,attributes.colormap,&bg_color); white_p.pixel = GetColor(white); XQueryColor(dpy,attributes.colormap,&white_p); - + #ifndef min #define min(a,b) (((a)<(b)) ? (a) : (b)) #define max(a,b) (((a)>(b)) ? (a) : (b)) @@ -1397,7 +1256,7 @@ bg_color.red = max((white_p.red/5), bg_color.red); bg_color.green = max((white_p.green/5), bg_color.green); bg_color.blue = max((white_p.blue/5), bg_color.blue); - + bg_color.red = min(white_p.red, (bg_color.red*140)/100); bg_color.green = min(white_p.green, (bg_color.green*140)/100); bg_color.blue = min(white_p.blue, (bg_color.blue*140)/100); @@ -1406,7 +1265,7 @@ #ifdef max #undef max #endif - + if(!XAllocColor(dpy,attributes.colormap,&bg_color)) { nocolor("alloc hilight",""); @@ -1443,17 +1302,17 @@ /* black and white - override user choices */ Scr.MenuColors.back = GetColor(white); - Scr.MenuColors.fore = GetColor(black); + Scr.MenuColors.fore = GetColor(black); Scr.MenuStippleColors.back = GetColor(white); - Scr.MenuStippleColors.fore = GetColor(black); + Scr.MenuStippleColors.fore = GetColor(black); Scr.MenuRelief.back = GetColor(black); Scr.MenuRelief.fore = GetColor(white); Scr.StdColors.back = GetColor(white); - Scr.StdColors.fore = GetColor(black); + Scr.StdColors.fore = GetColor(black); Scr.StickyColors.back = GetColor(white); - Scr.StickyColors.fore = GetColor(black); + Scr.StickyColors.fore = GetColor(black); Scr.HiColors.back = GetColor(white); - Scr.HiColors.fore = GetColor(black); + Scr.HiColors.fore = GetColor(black); Scr.StdRelief.back = GetColor(black); Scr.StdRelief.fore = GetColor(white); Scr.StickyRelief.back = GetColor(black); @@ -1470,17 +1329,17 @@ /* color - accept user choices */ Scr.MenuColors.back = GetColor(Menuback); - Scr.MenuColors.fore = GetColor(Menufore); + Scr.MenuColors.fore = GetColor(Menufore); Scr.MenuStippleColors.back = GetColor(Menuback); - Scr.MenuStippleColors.fore = GetColor(Menustipple); + Scr.MenuStippleColors.fore = GetColor(Menustipple); Scr.MenuRelief.back = GetShadow(Scr.MenuColors.back); Scr.MenuRelief.fore = GetHilite(Scr.MenuColors.back); Scr.StdColors.back = GetColor(Stdback); - Scr.StdColors.fore = GetColor(Stdfore); + Scr.StdColors.fore = GetColor(Stdfore); Scr.StickyColors.back = GetColor(Stickyback); - Scr.StickyColors.fore = GetColor(Stickyfore); + Scr.StickyColors.fore = GetColor(Stickyfore); Scr.HiColors.back = GetColor(Hiback); - Scr.HiColors.fore = GetColor(Hifore); + Scr.HiColors.fore = GetColor(Hifore); Scr.StdRelief.back = GetShadow(Scr.StdColors.back); Scr.StdRelief.fore = GetHilite(Scr.StdColors.back); Scr.StickyRelief.back = GetShadow(Scr.StickyColors.back); @@ -1545,7 +1404,7 @@ Scr.IconFont.font->ascent+Scr.IconFont.font->descent; Scr.IconFont.y = Scr.IconFont.font->ascent; IconFont = &Scr.IconFont; - } else { + } else { nofont("fixed: that's bad..."); exit(1); } @@ -1559,20 +1418,20 @@ } /**************************************************************************** - * + * * Prints an error message for font loading * - ****************************************************************************/ + ****************************************************************************/ void nofont(char *name) { afterstep_err("can't get font %s", name,NULL,NULL); } /**************************************************************************** - * + * * Processes a menu body definition * - ****************************************************************************/ + ****************************************************************************/ MenuRoot *ParseMenuBody(char *name,FILE *fd) { MenuRoot *mr; @@ -1617,7 +1476,7 @@ AddToMenu(mr, stripcpy2(pline,1,True), stripcpy2(pline,2,True), ptr2, func,func_val_1,func_val_2, unit_1, unit_2); } - + pline = fgets(newline,(sizeof newline)-1,fd); if(pline == (char *)0)return NULL; @@ -1631,10 +1490,10 @@ } /**************************************************************************** + * + * Parses a popup definition * - * Parses a popup definition - * - ****************************************************************************/ + ****************************************************************************/ void ParsePopupEntry(char *tline,FILE *fd, char **junk,int *junk2) { MenuRoot *mr=0; @@ -1663,10 +1522,10 @@ } /**************************************************************************** - * + * * Parses a mouse binding * - ****************************************************************************/ + ****************************************************************************/ void ParseMouseEntry(char *tline,FILE *fd, char **junk,int *junk2) { char context[256],modifiers[256],function[256],*ptr; @@ -1748,7 +1607,7 @@ (func == F_WARP)||(func == F_MODULE)) { mi = (MenuItem *)safemalloc(sizeof(MenuItem)); - + mi->next = (MenuItem *)NULL; mi->prev = (MenuItem *)NULL; mi->item_num = 0; @@ -1770,7 +1629,7 @@ mi->val1_unit = 1; mi->val2_unit = 1; } - + temp = Scr.MouseButtonRoot; Scr.MouseButtonRoot = (MouseButton *)safemalloc(sizeof(MouseButton)); Scr.MouseButtonRoot->func = func; @@ -1802,10 +1661,10 @@ /**************************************************************************** - * + * * Processes a line with a key binding * - ****************************************************************************/ + ****************************************************************************/ void ParseKeyEntry(char *tline, FILE *fd,char **junk,int *junk2) { char context[256],modifiers[256],function[256],*ptr; @@ -1830,13 +1689,13 @@ match_string(func_config,function,"bad key function:",fd); /* Make CirculateUp and CirculateDown take args. by Y.NOMURA */ - + if ((func == F_CIRCULATE_UP) || (func == F_CIRCULATE_DOWN)|| (func == F_WARP)) ptr = stripcpy3(tline,False); - + /* End of addition */ - + if((func == F_EXEC)||(func == F_RESTART)||(func == F_MODULE)) { ptr = stripcpy3(tline,True); @@ -1865,21 +1724,21 @@ } /**************************************************************************** - * + * * Sets menu/keybinding/mousebinding function to specified value * - ****************************************************************************/ + ****************************************************************************/ void set_func(char *text, FILE *fd, char **value,int *junk) { func = (unsigned long)value; } /**************************************************************************** - * - * Turns a string context of context or modifier values into an array of + * + * Turns a string context of context or modifier values into an array of * true/false values (bits) * - ****************************************************************************/ + ****************************************************************************/ void find_context(char *string, int *output, struct charstring *table) { int i=0,j=0; @@ -1919,11 +1778,11 @@ } /**************************************************************************** - * + * * Matches text from config to a table of strings, calls routine * indicated in table. * - ****************************************************************************/ + ****************************************************************************/ void match_string(struct config *table, char *text, char *error_msg, FILE *fd) { int j; @@ -1949,21 +1808,21 @@ } } - - + + /**************************************************************************** - * + * * Generates the window for a menu * - ****************************************************************************/ + ****************************************************************************/ void MakeMenu(MenuRoot *mr) { MenuItem *cur; unsigned long valuemask; XSetWindowAttributes attributes; int y; - + /* lets first size the window accordingly */ mr->width += 15; if(mr->width2 > 0) @@ -1995,7 +1854,7 @@ mr->in_use = 0; mr->height = y; -#ifndef NO_SAVEUNDERS +#ifndef NO_SAVEUNDERS valuemask = (CWBackPixel | CWEventMask | CWCursor | CWSaveUnder); #else valuemask = (CWBackPixel | CWEventMask | CWCursor); @@ -2003,7 +1862,7 @@ attributes.background_pixel = Scr.MenuColors.back; attributes.event_mask = (ExposureMask | EnterWindowMask); attributes.cursor = Scr.ASCursors[MENU]; -#ifndef NO_SAVEUNDERS +#ifndef NO_SAVEUNDERS attributes.save_under = TRUE; #endif mr->width = mr->width + mr->width2; @@ -2014,7 +1873,7 @@ (Visual *) CopyFromParent, valuemask, &attributes); XSaveContext(dpy,mr->w,MenuContext,(caddr_t)mr); - + return; } @@ -2022,23 +1881,23 @@ * Procedure: * scanForHotkeys - Look for hotkey markers in a MenuItem * (pete@tecc.co.uk) - * + * * Inputs: * it - MenuItem to scan * which - +1 to look in it->item1 and -1 to look in it->item2. * ***********************************************************************/ -void scanForHotkeys(MenuItem *it, int which) +void scanForHotkeys(MenuItem *it, int which) { char *start, *txt; start = (which > 0) ? it->item : it->item2; /* Get start of string */ - for (txt = start; *txt != '\0'; txt++) + for (txt = start; *txt != '\0'; txt++) { /* Scan whole string */ - if (*txt == '&') + if (*txt == '&') { /* A hotkey marker? */ - if (txt[1] == '&') + if (txt[1] == '&') { /* Just an escaped & */ char *tmp; /* Copy the string down over it */ for (tmp = txt; *tmp != '\0'; tmp++) tmp[0] = tmp[1]; @@ -2046,7 +1905,7 @@ } /* It's a hot key marker - work out the offset value */ it->hotkey = txt[1]; - for (; txt[1] != '\0'; txt++) + for (; txt[1] != '\0'; txt++) txt[0] = txt[2]; /* Copy down.. */ return; /* Only one hotkey per item... */ } @@ -2071,7 +1930,7 @@ * func - the numeric function * ***********************************************************************/ -void AddToMenu(MenuRoot *menu, char *item, char *item2, char *action,int func, +void AddToMenu(MenuRoot *menu, char *item, char *item2, char *action,int func, long func_val_1,long func_val_2, char unit_1, char unit_2) { MenuItem *tmp; @@ -2092,7 +1951,7 @@ tmp->prev = menu->last; } menu->last = tmp; - + tmp->item = item; if (item != (char *)0) { @@ -2162,7 +2021,7 @@ menu->width2 = width; if((width==0)&&(tmp->strlen2>0)) menu->width2 = 1; - + tmp->item_num = menu->items++; } @@ -2181,7 +2040,7 @@ MenuRoot *NewMenuRoot(char *name) { MenuRoot *tmp; - + tmp = (MenuRoot *) safemalloc(sizeof(MenuRoot)); tmp->name = name; tmp->first = NULL; @@ -2191,7 +2050,7 @@ tmp->width2 = 0; #ifdef ENABLE_TEXTURE tmp->titlebg = None; - tmp->itembg = None; + tmp->itembg = None; #endif tmp->w = None; return (tmp); @@ -2227,8 +2086,8 @@ if ((keysym = XStringToKeysym(name)) == NoSymbol || (keycode = XKeysymToKeycode(dpy, keysym)) == 0) return; - - + + XDisplayKeycodes(dpy, &min, &max); for (i=min; i<=max; i++) if (XKeycodeToKeysym(dpy, i, 0) == keysym) @@ -2253,17 +2112,17 @@ tmp->val2_unit = 100; else tmp->val2_unit = Scr.MyDisplayHeight; - + tmp->menu = mr; } return; } /**************************************************************************** - * + * * Loads a single color * - ****************************************************************************/ + ****************************************************************************/ Pixel GetColor(char *name) { XColor color; @@ -2271,11 +2130,11 @@ XGetWindowAttributes(dpy,Scr.Root,&attributes); color.pixel = 0; - if (!XParseColor (dpy, attributes.colormap, name, &color)) + if (!XParseColor (dpy, attributes.colormap, name, &color)) { nocolor("parse",name); } - else if(!XAllocColor (dpy, attributes.colormap, &color)) + else if(!XAllocColor (dpy, attributes.colormap, &color)) { nocolor("alloc",name); } @@ -2287,11 +2146,11 @@ afterstep_err("can't %s color %s", note,name,NULL); } /**************************************************************************** - * + * * Copies a string into a new, malloc'ed string * Strips leading spaces and trailing spaces and new lines * - ****************************************************************************/ + ****************************************************************************/ char *stripcpy(char *source) { char *tmp,*ptr; @@ -2311,10 +2170,10 @@ ptr[len]=0; return ptr; } - + /**************************************************************************** - * + * * Copies a string into a new, malloc'ed string * Strips all data before the first quote and after the second * @@ -2337,13 +2196,13 @@ if(!tab_sensitive) while((*ptr!='"')&&(*ptr != 0)) { - ptr++; + ptr++; count++; } else if(tab_sensitive==1) while((*ptr!='"')&&(*ptr != 0)&&(*ptr!='\t')) { - ptr++; + ptr++; count++; } else if(tab_sensitive==2) @@ -2372,7 +2231,7 @@ /**************************************************************************** - * + * * Copies a string into a new, malloc'ed string * Strips all data before the second quote. and strips trailing spaces and * new lines @@ -2394,7 +2253,7 @@ source++; return stripcpy(source); } - + void bad_binding(int num) { afterstep_err("bad binding in line %s",orig_tline,NULL,NULL); @@ -2413,23 +2272,16 @@ { XGCValues gcv; unsigned long gcm; - + /* create GC's */ - - gcm = GCForeground|GCBackground|GCGraphicsExposures; - gcv.foreground = Scr.StdColors.fore; - gcv.background = Scr.StdColors.back; - gcv.graphics_exposures = False; - Scr.MaskGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); - - gcm = GCLineWidth|GCForeground|GCBackground|GCFunction; + gcm = GCLineWidth|GCForeground|GCBackground|GCFunction; gcv.function = GXcopy; gcv.line_width = 1; gcv.foreground = Scr.StdColors.fore; gcv.background = Scr.StdColors.back; Scr.LineGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); - gcm = GCFunction|GCLineWidth|GCForeground|GCSubwindowMode; + gcm = GCFunction|GCLineWidth|GCForeground|GCSubwindowMode; gcv.function = GXxor; gcv.line_width = 0; gcv.foreground = XORvalue; @@ -2441,33 +2293,6 @@ gcv.line_width = 0; gcv.function = GXcopy; gcv.plane_mask = AllPlanes; - - if(Scr.TitleTextType!=0){ - gcv.foreground = GetColor(hircolor); - gcv.font = Scr.WindowFont.font->fid; - Scr.HiFontReliefGC= XCreateGC(dpy, Scr.Root, gcm, &gcv); - - gcv.foreground = GetColor(hiscolor); - gcv.font = Scr.WindowFont.font->fid; - Scr.HiFontShadowGC= XCreateGC(dpy, Scr.Root, gcm, &gcv); - - gcv.foreground = GetColor(hincolor); - gcv.font = Scr.WindowFont.font->fid; - Scr.HiFontGC= XCreateGC(dpy, Scr.Root, gcm, &gcv); - - gcv.foreground = GetColor(lorcolor); - gcv.font = Scr.WindowFont.font->fid; - Scr.LoFontReliefGC= XCreateGC(dpy, Scr.Root, gcm, &gcv); - - gcv.foreground = GetColor(loscolor); - gcv.font = Scr.WindowFont.font->fid; - Scr.LoFontShadowGC= XCreateGC(dpy, Scr.Root, gcm, &gcv); - - gcv.foreground = GetColor(loncolor); - gcv.font = Scr.WindowFont.font->fid; - Scr.LoFontGC= XCreateGC(dpy, Scr.Root, gcm, &gcv); - } - gcv.foreground = Scr.StdColors.fore; gcv.background = Scr.StdColors.back; gcv.font = Scr.StdFont.font->fid; @@ -2477,10 +2302,10 @@ * call in FindScreenInfo (events.c) (since drawable is a pixmap). */ gcv.graphics_exposures = False; - + Scr.NormalGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); - + /* GC for pager labels */ Scr.FontGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); @@ -2498,11 +2323,11 @@ gcv.foreground = Scr.HiRelief.fore; gcv.background = Scr.HiRelief.back; gcv.fill_style = FillSolid; - Scr.HiReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.HiReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); gcv.foreground = Scr.HiRelief.back; gcv.background = Scr.HiRelief.fore; - Scr.HiShadowGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.HiShadowGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); if (Scr.BevelReliefGC==None) Scr.BevelReliefGC=Scr.HiReliefGC; @@ -2523,7 +2348,7 @@ gcm=GCFunction|GCPlaneMask|GCGraphicsExposures|GCLineWidth|GCForeground| GCBackground|GCFont|GCStipple|GCFillStyle; Scr.MenuStippleGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); - + gcm=GCFunction|GCPlaneMask|GCGraphicsExposures|GCLineWidth|GCForeground| GCBackground|GCFont; gcv.fill_style = FillSolid; @@ -2536,24 +2361,24 @@ } gcv.foreground = Scr.MenuRelief.fore; gcv.background = Scr.MenuRelief.back; - Scr.MenuReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.MenuReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); gcv.foreground = Scr.MenuRelief.back; gcv.background = Scr.MenuRelief.fore; - Scr.MenuShadowGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.MenuShadowGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); gcv.foreground = Scr.StdRelief.fore; gcv.background = Scr.StdRelief.back; - Scr.StdReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.StdReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); gcv.foreground = Scr.StdRelief.back; gcv.background = Scr.StdRelief.fore; - Scr.StdShadowGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.StdShadowGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); Scr.ScratchGC2 = XCreateGC(dpy, Scr.Root, gcm, &gcv); gcv.foreground = Scr.StickyRelief.fore; gcv.background = Scr.StickyRelief.back; - Scr.StickyReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); + Scr.StickyReliefGC = XCreateGC(dpy, Scr.Root, gcm, &gcv); gcv.foreground = Scr.StickyRelief.back; gcv.background = Scr.StickyRelief.fore; @@ -2562,7 +2387,6 @@ gcv.foreground = Scr.HiColors.fore; gcv.font = Scr.IconFont.font->fid; Scr.IconGC = XCreateGC(dpy, Scr.Root, GCForeground|GCFont, &gcv); - } /*********************************************************************** @@ -2571,7 +2395,7 @@ * SetOneStyle - add a window name to the no title list * * Inputs: - * name - a pointer to the name of the window + * name - a pointer to the name of the window * ***********************************************************************/ #ifndef PRUNE @@ -2613,8 +2437,8 @@ free (p); } AddToList(name,icon_name,new_flags,0,desknumber,0,0,NULL,NULL,0,0); -} -#endif +} +#endif #ifdef M4 @@ -2646,11 +2470,11 @@ static char *cp = NULL; static int maxsize = 0; int n; - + /* The char * storage only lasts for 1 call... */ /* Get space to hold everything, if needed */ - + n = EXTRA + strlen(name) + strlen(def); if (n > maxsize) { maxsize = n; @@ -2674,7 +2498,7 @@ } else strcpy(cp, "define("); - + strcat(cp, name); /* Tack on "," and 2 sets of starting quotes */ @@ -2697,14 +2521,14 @@ } strcat(cp, "dnl\n"); - + return(cp); } static char *MkNum(char *name,int def) { char num[20]; - + sprintf(num, "%d", def); return(MkDef(name, num)); } @@ -2731,7 +2555,7 @@ } strcat(tmp_name, "/steprcXXXXX"); mktemp(tmp_name); - + if (*tmp_name == '\0') { perror("mktemp failed in m4_defs"); @@ -2753,7 +2577,7 @@ perror("Cannot open pipe to m4"); exit(0377); } - + mygethostname(client,MAXHOSTNAME); mygetostype (ostype, sizeof ostype); @@ -2775,7 +2599,7 @@ /* TWM_TYPE is afterstep, for completeness */ fputs(MkDef("TWM_TYPE", "afterstep"), tmpf); - + /* The machine running the X server */ fputs(MkDef("SERVERHOST", server), tmpf); /* The machine running the window manager process */ @@ -2806,7 +2630,7 @@ fputs(MkNum("BITS_PER_RGB", visual->bits_per_rgb), tmpf); - switch(visual->class) + switch(visual->class) { case(StaticGray): vc = "StaticGray"; @@ -2830,11 +2654,11 @@ vc = "NonStandard"; break; } - + fputs(MkDef("CLASS", vc), tmpf); - if (visual->class != StaticGray && visual->class != GrayScale) + if (visual->class != StaticGray && visual->class != GrayScale) fputs(MkDef("COLOR", "Yes"), tmpf); - else + else fputs(MkDef("COLOR", "No"), tmpf); fputs(MkDef("AFTER_VERSION", VERSION), tmpf); @@ -2867,18 +2691,18 @@ fputs(MkDef("OPTIONS", options), tmpf); fputs(MkDef("AFTERDIR", AFTERDIR), tmpf); - + /* * At this point, we've sent the definitions to m4. Just include * the steprc file now. */ - + fprintf(tmpf, "%sinclude(%s%s%s)\n", (m4_prefix) ? "m4_": "", m4_startquote, config_file, m4_endquote); - + pclose(tmpf); return(tmp_name); } diff -u ./icons.c /home/malda/code/AfterStep-1.0/afterstep/icons.c --- ./icons.c Wed May 14 17:38:51 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/icons.c Thu Mar 20 19:09:21 1997 @@ -221,8 +221,8 @@ char *text=NULL; XSetForeground(dpy, Scr.IconGC, Scr.HiColors.back); -/* XFillRectangle(dpy, Tmp_win->icon_pixmap_w, Scr.IconGC, 1, 1, - Tmp_win->icon_p_width-2,titleH+6); */ + XFillRectangle(dpy, Tmp_win->icon_pixmap_w, Scr.IconGC, 1, 1, + Tmp_win->icon_p_width-2,titleH+6); XSetForeground(dpy, Scr.IconGC, Scr.HiColors.fore); if (Tmp_win->icon_name==NULL) { if (Tmp_win->name!=NULL) { @@ -255,11 +255,8 @@ cnt = i; } } - XDrawString(dpy, Tmp_win->icon_pixmap_w, Scr.IconGC, textX, Scr.IconFont.font->ascent+1, text, cnt); - /* XDrawString(dpy, Tmp_win->icon_pixmap_w, Scr.IconGC, textX+1, - Scr.IconFont.font->ascent+2, text, cnt); */ } } } diff -u ./menus.c /home/malda/code/AfterStep-1.0/afterstep/menus.c --- ./menus.c Wed May 21 19:28:47 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/menus.c Sat Apr 19 16:26:01 1997 @@ -46,8 +46,6 @@ ***********************************************************************/ #include "../configure.h" - - #include #include #include @@ -56,8 +54,6 @@ #include #include - - #include "afterstep.h" #include "menus.h" #include "misc.h" @@ -67,11 +63,6 @@ #include "stepgfx.h" #endif - -#ifdef SHAPE -#include -#endif /* SHAPE */ - short menu_on=0; Bool IgnoreRelease = 1; int BottomOfPage=0; @@ -187,17 +178,6 @@ menu->titlebg = None; } break; - case 128: - XCopyArea(dpy, Scr.MenuTitle, menu->titlebg, Scr.NormalGC, 0, 0, menu->width-2, menu->first->y_height-2, 0,0); - break; - case 129: - XSetWindowBackgroundPixmap(dpy, menu->w, Scr.MenuTitle); - if(Scr.MenuTitleMask!=None) - XShapeCombineMask(dpy, menu->w, ShapeBounding, 0, 0, - Scr.MenuTitleMask, ShapeSet); - XFreePixmap(dpy, menu->titlebg); - break; - default: XFreePixmap(dpy, menu->titlebg); menu->titlebg = None; @@ -206,10 +186,6 @@ Textures.Mtype=0; } } - if(Textures.Mtype==128) - XSetWindowBackgroundPixmap(dpy, menu->w, Scr.MenuTitle); - - if ((menu->itembg==None) && (Textures.Itype>0) && (menu->last!=NULL)) { menu->itembg = XCreatePixmap(dpy, menu->w, menu->width-2, menu->last->y_height-3, @@ -244,12 +220,6 @@ menu->itembg = None; } break; - case 128: /* Pixmap */ - if(Textures.Mtype!=129) - XCopyArea(dpy, Scr.MenuItem, menu->itembg, Scr.NormalGC,0, 0, menu->width-2, menu->last->y_height-3,0,0); - else { XFreePixmap(dpy, menu->itembg); - menu->itembg = None; } - break; default: XFreePixmap(dpy, menu->itembg); menu->itembg = None; @@ -350,16 +320,11 @@ if (mr->titlebg != None) { Globalgcv.foreground = Scr.HiColors.back; XChangeGC(dpy,Scr.ScratchGC1,GCForeground,&Globalgcv); - - if(Textures.Mtype<129) - XCopyArea(dpy, mr->titlebg, mr->w, DefaultGC(dpy,Scr.screen), + XCopyArea(dpy, mr->titlebg, mr->w, DefaultGC(dpy,Scr.screen), 0, y_offset, mr->width-1, mr->first->y_height-2, 1, y_offset+1); - else XCopyArea(dpy, mr->titlebg, mr->w, DefaultGC(dpy,Scr.screen), - 0, y_offset+1, mr->width-1, mr->height, 1, y_offset+1); - if(Textures.Mtype<129) - XDrawRectangle(dpy, mr->w, Scr.ScratchGC1, 0, y_offset, - mr->width-1, y_height-2); + XDrawRectangle(dpy, mr->w, Scr.ScratchGC1, 0, y_offset, + mr->width-1, y_height-2); text_y += 4; } else @@ -375,15 +340,14 @@ else { #ifdef ENABLE_TEXTURE if (mr->itembg!=None) { - if(Textures.Mtype<129) - XCopyArea(dpy, mr->itembg, mr->w, DefaultGC(dpy,Scr.screen), 0, 0, + XCopyArea(dpy, mr->itembg, mr->w, DefaultGC(dpy,Scr.screen), 0, 0, mr->width-2, mr->last->y_height-3, 1, y_offset+1); } else #endif XClearArea(dpy, mr->w, 0,y_offset,mr->width,y_height,0); } #ifdef ENABLE_TEXTURE - if ((mr->titlebg == None || mi->func != F_TITLE)&&(Textures.Mtype!=129)) { + if (mr->titlebg == None || mi->func != F_TITLE) { RelieveHalfRectangle(mr->w, 0, y_offset, mr->width, y_height, ReliefGC, ShadowGC); RelieveRectangle(mr->w, 0, y_offset, mr->width, y_height-1, @@ -394,8 +358,8 @@ /* end hack */ if(mi->func != F_TITLE) text_y += HEIGHT_EXTRA>>1; - if(Textures.Mtype!=129) - XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_height+y_offset-1, + + XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_height+y_offset-1, mr->width, y_height+y_offset-1); } #else @@ -408,8 +372,8 @@ */ if(mi->func != F_TITLE) text_y += HEIGHT_EXTRA>>1; - if(Textures.Mtype!=129) - XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_height+y_offset-1, + + XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_height+y_offset-1, mr->width, y_height+y_offset-1); /* XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_offset, @@ -448,12 +412,10 @@ DrawTrianglePattern(mr->w, ShadowGC, ReliefGC, ShadowGC,mr->width-d-8, y_offset+d-1, mr->width-d-1, y_offset+d+7); /* major hackage going on here */ - if(Textures.Mtype!=129) { - if (y_offset > 30) - XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_offset-1, 1600, y_offset-1); - else - XDrawLine( dpy, mr->w, Scr.MenuStippleGC, 0, y_offset-1, 1600, y_offset-1); - } + if (y_offset > 30) + XDrawLine( dpy, mr->w, Scr.LineGC, 0, y_offset-1, 1600, y_offset-1); + else + XDrawLine( dpy, mr->w, Scr.MenuStippleGC, 0, y_offset-1, 1600, y_offset-1); return; } @@ -494,15 +456,13 @@ void DrawTrianglePattern(Window w,GC GC1,GC GC2,GC GC3,int l,int u,int r,int b) { int m; - if(Scr.MenuArrow==None) { - m = (u + b)/2; - XDrawLine(dpy,w,GC1,l,u,l,b); + m = (u + b)/2; - XDrawLine(dpy,w,GC2,l,b,r,m); - XDrawLine(dpy,w,GC3,r,m,l,u); - } - else XCopyArea(dpy,Scr.MenuArrow, w, GC1, 0,0,r-l,b-u, l,u); + XDrawLine(dpy,w,GC1,l,u,l,b); + + XDrawLine(dpy,w,GC2,l,b,r,m); + XDrawLine(dpy,w,GC3,r,m,l,u); } /*********************************************************************** diff -u ./misc.h /home/malda/code/AfterStep-1.0/afterstep/misc.h --- ./misc.h Wed May 14 17:39:23 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/misc.h Tue Mar 18 20:37:12 1997 @@ -305,7 +305,6 @@ void ButtonStyle(); void IconStyle(); void SetTitleButton(char *text,FILE *,char **,int *); -void SetTitleText(char *text, FILE *, char **, int *); void SetFlag(char *text, FILE *fd, char **arg,int *); void SetTextureFlag(char *text, FILE *fd, char **arg,int *); void SetIconFlag(char *text, FILE *fd, char **arg,int *); diff -u ./screen.h /home/malda/code/AfterStep-1.0/afterstep/screen.h --- ./screen.h Wed May 21 17:41:50 1997 +++ /home/malda/code/AfterStep-1.0/afterstep/screen.h Mon Mar 10 19:49:26 1997 @@ -157,7 +157,6 @@ GC StippleGC; /* normal GC for menus, pager, resize window */ GC DrawGC; /* GC to draw lines for move and resize */ GC LineGC; /* GC to draw lines on buttons */ - GC MaskGC; GC HiReliefGC; /* GC for highlighted window relief */ GC HiShadowGC; /* GC for highlighted window shadow */ GC BevelReliefGC; @@ -175,15 +174,6 @@ GC StickyShadowGC; /* GC for unselected sticky window shadow */ GC FontGC; /* GC for non-standard fonts */ - GC HiFontReliefGC; - GC HiFontShadowGC; - GC HiFontGC; - GC LoFontGC; - GC LoFontShadowGC; - GC LoFontReliefGC; - int TitleTextType; - int TitleTextY; - int SizeStringWidth; /* minimum width of size window */ int CornerWidth; /* corner width for decoratedwindows */ int BoundaryWidth; /* frame width for decorated windows */ @@ -195,11 +185,6 @@ Pixmap BackTitle; /* Cached titlebars for gradient or tiling */ Pixmap ForeTitle; /* types 2 and 3. unfocused, focused */ Pixmap StickyTitle; /* and sticky */ - Pixmap MenuTitle; - Pixmap MenuTitleMask; - Pixmap MenuArrow; - Pixmap MenuArrowMask; - Pixmap MenuItem; Pixmap TitleGradient; /* gradient for the focused title text */ #endif long next_focus_sequence; /* keep track of previously focused windows */ @@ -241,12 +226,8 @@ MenuRoot *InitFunction; MenuRoot *RestartFunction; - int ButtonType; int button_style[10]; Pixmap button_pixmap[10]; - Pixmap button_pixmap_mask[10]; - Pixmap dbutton_pixmap[10]; - Pixmap dbutton_pixmap_mask[10]; int button_width[10]; int button_height[10];