mirror of
https://github.com/morgant/mlvwm.git
synced 2024-11-22 01:31:16 +00:00
Add RoundedScreenCorners config setting
This setting enables drawing of all rounded screen corners (small interesting thing: Mac OS 9 had rounded screen corners but they must've disabled them later because I don't have them on my snow 2003 iBook G3.)
This commit is contained in:
parent
4910df83f7
commit
8370be7cc1
@ -713,6 +713,11 @@ void SetEdgeResist( char *line, FILE *fp )
|
||||
}
|
||||
}
|
||||
|
||||
void SetRoundedCorners( char *line, FILE *fp )
|
||||
{
|
||||
Scr.flags |= ROUNDEDCORNERS;
|
||||
}
|
||||
|
||||
config_func main_config[]={
|
||||
{ "Desktopnum", SetDeskTopNum },
|
||||
{ "DoubleClickTime", SetDoubleClickTime },
|
||||
@ -734,6 +739,7 @@ config_func main_config[]={
|
||||
{ "Menu", SetMenu},
|
||||
{ "Read", ReadNewConfigFile },
|
||||
{ "RestartPreviousState", SetRstPrevState },
|
||||
{ "RoundedScreenCorners", SetRoundedCorners },
|
||||
{ "ScrollBarWidth", SetBarWidth },
|
||||
{ "ShadeMap", SetShadeMap },
|
||||
{ "ShortCut", SetShortCut },
|
||||
|
@ -120,27 +120,32 @@ void RedrawMenuBar( void )
|
||||
if( Scr.flags&SYSTEM8 )
|
||||
DrawShadowBox( 0, 0, Scr.MyDisplayWidth, MENUB_H, Scr.MenuBar, 1,
|
||||
Scr.WhiteGC, Scr.Gray1GC, SHADOW_ALL );
|
||||
XFillRectangle( dpy, Scr.MenuBar, Scr.BlackGC, 0, 0, 7, 7 );
|
||||
XFillRectangle( dpy, Scr.MenuBar,
|
||||
Scr.BlackGC, Scr.MyDisplayWidth-7, 0, 7, 7 );
|
||||
if( Scr.flags&SYSTEM8 && !(Scr.flags&STARTING) ){
|
||||
for( lp=0; lp<2; lp++ ){
|
||||
XDrawArc( dpy, Scr.MenuBar, Scr.WhiteGC, 0, 0,
|
||||
14-lp, 14-lp, 180*64, -(90*64) );
|
||||
XDrawArc( dpy, Scr.MenuBar, Scr.Gray1GC, Scr.MyDisplayWidth-15, 0,
|
||||
14-lp, 14-lp, 0, 90*64 );
|
||||
}
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.MenuBlueGC, 0, 0,
|
||||
14, 14, 180*64, -(90*64) );
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.MenuBlueGC, Scr.MyDisplayWidth-15, 0,
|
||||
14, 14, 0, 90*64 );
|
||||
}
|
||||
else{
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.WhiteGC, 0, 0,
|
||||
14, 14, 180*64, -(90*64) );
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.WhiteGC, Scr.MyDisplayWidth-15, 0,
|
||||
14, 14, 0, 90*64 );
|
||||
}
|
||||
if(Scr.flags&ROUNDEDCORNERS){
|
||||
XFillRectangle( dpy, Scr.MenuBar, Scr.BlackGC, 0, 0, 7, 7 );
|
||||
XFillRectangle( dpy, Scr.MenuBar,
|
||||
Scr.BlackGC, Scr.MyDisplayWidth-7, 0, 7, 7 );
|
||||
if( Scr.flags&SYSTEM8 && !(Scr.flags&STARTING) ){
|
||||
for( lp=0; lp<2; lp++ ){
|
||||
XDrawArc( dpy, Scr.MenuBar, Scr.WhiteGC, 0, 0,
|
||||
14-lp, 14-lp, 180*64, -(90*64) );
|
||||
XDrawArc( dpy, Scr.MenuBar, Scr.Gray1GC, Scr.MyDisplayWidth-15, 0,
|
||||
14-lp, 14-lp, 0, 90*64 );
|
||||
}
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.MenuBlueGC, 0, 0,
|
||||
14, 14, 180*64, -(90*64) );
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.MenuBlueGC, Scr.MyDisplayWidth-15, 0,
|
||||
14, 14, 0, 90*64 );
|
||||
}
|
||||
else{
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.WhiteGC, 0, 0,
|
||||
14, 14, 180*64, -(90*64) );
|
||||
XFillArc( dpy, Scr.MenuBar, Scr.WhiteGC, Scr.MyDisplayWidth-15, 0,
|
||||
14, 14, 0, 90*64 );
|
||||
}
|
||||
|
||||
XMapWindow( dpy, Scr.lbCorner );
|
||||
XMapWindow( dpy, Scr.rbCorner );
|
||||
}
|
||||
if( !(Scr.flags&SYSTEM8) )
|
||||
XDrawLine( dpy, Scr.MenuBar, Scr.BlackGC,
|
||||
0, MENUB_H-1, Scr.MyDisplayWidth, MENUB_H-1 );
|
||||
@ -1293,30 +1298,26 @@ Window PixmapWin (char **data_xpm, Window root, int x, int y)
|
||||
|
||||
void CreateMenuBar( void )
|
||||
{
|
||||
static char *lbot_xpm[] = {
|
||||
"7 7 2 1",
|
||||
" c none s none",
|
||||
"# c black",
|
||||
"# ",
|
||||
"# ",
|
||||
"# ",
|
||||
"## ",
|
||||
"### ",
|
||||
"#### ",
|
||||
"#######"
|
||||
};
|
||||
static char *rbot_xpm[] = {
|
||||
"7 7 2 1",
|
||||
" c none s none",
|
||||
"# c black",
|
||||
" #",
|
||||
" #",
|
||||
" #",
|
||||
" ##",
|
||||
" ###",
|
||||
" ####",
|
||||
"#######"
|
||||
};
|
||||
static char *lbot_xpm[] = {
|
||||
"5 5 2 1",
|
||||
" c none s none",
|
||||
"# c black",
|
||||
"# ",
|
||||
"# ",
|
||||
"## ",
|
||||
"### ",
|
||||
"#####"
|
||||
};
|
||||
static char *rbot_xpm[] = {
|
||||
"5 5 2 1",
|
||||
" c none s none",
|
||||
"# c black",
|
||||
" #",
|
||||
" #",
|
||||
" ##",
|
||||
" ###",
|
||||
"#####"
|
||||
};
|
||||
unsigned long valuemask;
|
||||
XSetWindowAttributes attributes;
|
||||
|
||||
@ -1331,11 +1332,9 @@ void CreateMenuBar( void )
|
||||
CopyFromParent, InputOutput, CopyFromParent,
|
||||
valuemask, &attributes );
|
||||
XMapWindow( dpy, Scr.MenuBar );
|
||||
Scr.lbCorner = PixmapWin( lbot_xpm, Scr.Root, 0, -1 );
|
||||
XMapWindow( dpy, Scr.lbCorner );
|
||||
Scr.lbCorner = PixmapWin( lbot_xpm, Scr.Root, 0, -1 );
|
||||
Scr.rbCorner = PixmapWin( rbot_xpm, Scr.Root, -1, -1 );
|
||||
|
||||
Scr.rbCorner = PixmapWin( rbot_xpm, Scr.Root, -1, -1 );
|
||||
XMapWindow( dpy, Scr.rbCorner );
|
||||
RedrawMenuBar( );
|
||||
}
|
||||
|
||||
|
@ -141,6 +141,7 @@ typedef struct ScreenInfo
|
||||
#define OPAQUERESIZE 0x00008000
|
||||
#define ONECLICKMENU 0x00010000
|
||||
#define DEBUGOUT 0x00020000
|
||||
#define ROUNDEDCORNERS 0x00040000
|
||||
|
||||
#ifdef USE_LOCALE
|
||||
#define MENUBARFONT Scr.MenuBarFs
|
||||
|
Loading…
Reference in New Issue
Block a user