diff options
Diffstat (limited to 'Gui/wm')
-rw-r--r-- | Gui/wm/ws.c | 38 | ||||
-rw-r--r-- | Gui/wm/ws.h | 2 |
2 files changed, 16 insertions, 24 deletions
diff --git a/Gui/wm/ws.c b/Gui/wm/ws.c index 790f9d57f3..9dcd06890c 100644 --- a/Gui/wm/ws.c +++ b/Gui/wm/ws.c @@ -107,7 +107,6 @@ inline int wsSearch( Window win ); void wsWindowDecoration( wsTWindow * win,long d ) { -//XUnmapWindow( wsDisplay,win->WindowID ); wsMotifHints=XInternAtom( wsDisplay,"_MOTIF_WM_HINTS",0 ); if ( wsMotifHints != None ) { @@ -118,17 +117,6 @@ void wsWindowDecoration( wsTWindow * win,long d ) XChangeProperty( wsDisplay,win->WindowID,wsMotifHints,wsMotifHints,32, PropModeReplace,(unsigned char *)&wsMotifWmHints,5 ); } -//XMapWindow( wsDisplay,win->WindowID ); -// if ( d ) -// { -// win->SizeHint.win_gravity=ForgetGravity; -// } -// else -// { -// win->SizeHint.win_gravity=StaticGravity; -// } -// win->SizeHint.flags=PWinGravity; -// XSetWMSizeHints( wsDisplay,win->WindowID,&win->SizeHint,win->AtomWMSizeHint ); } // ---------------------------------------------------------------------------------------------- @@ -856,20 +844,24 @@ void wsPutImage( wsTWindow * win ) // ---------------------------------------------------------------------------------------------- // Move window to x, y. // ---------------------------------------------------------------------------------------------- -void wsMoveWindow( wsTWindow * win,int x, int y ) +void wsMoveWindow( wsTWindow * win,int b,int x, int y ) { - switch ( x ) - { - case -1: win->X=( wsMaxX / 2 ) - ( win->Width / 2 ); break; - case -2: win->X=wsMaxX - win->Width; break; - default: win->X=x; break; - } - switch ( y ) + if ( b ) { - case -1: win->Y=( wsMaxY / 2 ) - ( win->Height / 2 ); break; - case -2: win->Y=wsMaxY - win->Height; break; - default: win->Y=y; break; + switch ( x ) + { + case -1: win->X=( wsMaxX / 2 ) - ( win->Width / 2 ); break; + case -2: win->X=wsMaxX - win->Width; break; + default: win->X=x; break; + } + switch ( y ) + { + case -1: win->Y=( wsMaxY / 2 ) - ( win->Height / 2 ); break; + case -2: win->Y=wsMaxY - win->Height; break; + default: win->Y=y; break; + } } + else { win->X=x; win->Y=y; } win->SizeHint.flags=PPosition | PWinGravity; win->SizeHint.x=win->X; diff --git a/Gui/wm/ws.h b/Gui/wm/ws.h index 0838a8b2ff..27d99c41ab 100644 --- a/Gui/wm/ws.h +++ b/Gui/wm/ws.h @@ -203,7 +203,7 @@ extern void wsMainLoop( void ); // ---------------------------------------------------------------------------------------------- extern void wsCreateWindow( wsTWindow * win,int X,int Y,int wX,int hY,int bW,int cV,unsigned char D,char * label ); extern void wsDestroyWindow( wsTWindow * win ); -extern void wsMoveWindow( wsTWindow * win,int x, int y ); +extern void wsMoveWindow( wsTWindow * win,int b,int x, int y ); extern void wsResizeWindow( wsTWindow * win,int sx, int sy ); extern void wsIconify( wsTWindow win ); extern void wsMoveTopWindow( wsTWindow * win ); |