diff --git a/mlvwm/borders.c b/mlvwm/borders.c index bf11f09..3ec5b0e 100644 --- a/mlvwm/borders.c +++ b/mlvwm/borders.c @@ -649,6 +649,7 @@ void DrawSbarArrow( MlvwmWindow *t, int context, Bool on_off ) XGCValues xgcv; XSetWindowAttributes attributes; Cursor cursor; + GC fill, outline; switch( context ){ case C_SBAR_UP: @@ -692,11 +693,19 @@ void DrawSbarArrow( MlvwmWindow *t, int context, Bool on_off ) if( t->flags&SCROLL && size<0 ) { DrawShadowBox( 0, 0, SBAR_WH, SBAR_WH, win, 1, Scr.WhiteGC, Scr.Gray2GC, SHADOW_ALL ); - DrawArrow( win, context, Scr.Gray3GC, Scr.BlackGC); + if( Scr.flags&SYSTEM8 ) + fill = outline = Scr.BlackGC; + else { + fill = Scr.Gray3GC; + outline = Scr.BlackGC; + } } else{ - DrawArrow( win, context, Scr.Gray4GC, Scr.Gray2GC); + fill = outline = Scr.Gray2GC; + if( !(Scr.flags&SYSTEM8) ) + fill = Scr.Gray4GC; } + DrawArrow( win, context, fill, outline); } else{ mask = GCForeground; diff --git a/mlvwm/event.c b/mlvwm/event.c index 522ce36..30c6372 100644 --- a/mlvwm/event.c +++ b/mlvwm/event.c @@ -1248,7 +1248,10 @@ void PressSbar( Bool isHbar, Window pressedwin, MlvwmWindow *tmp_win ) anker = tmp_win->scroll_v[3]; } if( pushd!=0 ){ - DrawArrow( pressedwin, direction, Scr.BlackGC, Scr.BlackGC ); + if( Scr.flags&SYSTEM8 ) + DrawShadowBox( 0, 0, SBAR_WH, SBAR_WH, pressedwin, 1, Scr.Gray2GC, Scr.WhiteGC, SHADOW_ALL ); + else + DrawArrow( pressedwin, direction, Scr.BlackGC, Scr.BlackGC ); XSync( dpy, 0 ); } @@ -1289,15 +1292,23 @@ void PressSbar( Bool isHbar, Window pressedwin, MlvwmWindow *tmp_win ) break; case EnterNotify: if( ev.xcrossing.window==pressedwin ){ - if( !isSelect ) - DrawArrow( pressedwin, direction, Scr.BlackGC, Scr.BlackGC ); + if( !isSelect ) { + if( Scr.flags&SYSTEM8 ) + DrawShadowBox( 0, 0, SBAR_WH, SBAR_WH, pressedwin, 1, Scr.Gray2GC, Scr.WhiteGC, SHADOW_ALL ); + else + DrawArrow( pressedwin, direction, Scr.BlackGC, Scr.BlackGC ); + } isSelect = True; } break; case LeaveNotify: if( ev.xcrossing.window==pressedwin ){ - if( isSelect ) - DrawArrow( pressedwin, direction, Scr.Gray3GC, Scr.BlackGC ); + if( isSelect ) { + if( Scr.flags&SYSTEM8 ) + DrawShadowBox( 0, 0, SBAR_WH, SBAR_WH, pressedwin, 1, Scr.WhiteGC, Scr.Gray2GC, SHADOW_ALL ); + else + DrawArrow( pressedwin, direction, Scr.Gray3GC, Scr.BlackGC ); + } isSelect = False; } break; @@ -1329,8 +1340,12 @@ void PressSbar( Bool isHbar, Window pressedwin, MlvwmWindow *tmp_win ) } while( !isEnd ); - if( pushd!=0 ) - DrawArrow( pressedwin, direction, Scr.Gray3GC, Scr.BlackGC ); + if( pushd!=0 ) { + if( Scr.flags&SYSTEM8 ) + DrawShadowBox( 0, 0, SBAR_WH, SBAR_WH, pressedwin, 1, Scr.WhiteGC, Scr.Gray2GC, SHADOW_ALL ); + else + DrawArrow( pressedwin, direction, Scr.Gray3GC, Scr.BlackGC ); + } XSync( dpy, 0 ); }