Set the class hints for managed windows.
This commit is contained in:
parent
30f503fd01
commit
9824ec404c
|
@ -32,6 +32,7 @@ extern int TSXPointInRegion(Region, int, int);
|
|||
extern Region TSXPolygonRegion(XPoint*, int, int);
|
||||
extern int TSXRectInRegion(Region, int, int, unsigned int, unsigned int);
|
||||
extern int TSXSaveContext(Display*, XID, XContext, const char*);
|
||||
extern int TSXSetClassHint(Display*, Window, XClassHint*);
|
||||
extern void TSXSetWMProperties(Display*, Window, XTextProperty*, XTextProperty*, char**, int, XSizeHints*, XWMHints*, XClassHint*);
|
||||
extern void TSXSetWMSizeHints(Display*, Window, XSizeHints*, Atom);
|
||||
extern int TSXSetRegion(Display*, GC, Region);
|
||||
|
|
|
@ -113,6 +113,7 @@ XSaveContext
|
|||
XSendEvent
|
||||
XSetArcMode
|
||||
XSetBackground
|
||||
XSetClassHint
|
||||
XSetClipMask
|
||||
XSetClipOrigin
|
||||
XSetClipRectangles
|
||||
|
|
|
@ -219,6 +219,17 @@ int TSXSaveContext(Display* a0, XID a1, XContext a2, const char* a3)
|
|||
return r;
|
||||
}
|
||||
|
||||
int TSXSetClassHint(Display* a0, Window a1, XClassHint* a2)
|
||||
{
|
||||
int r;
|
||||
TRACE(x11, "Call XSetClassHint\n");
|
||||
EnterCriticalSection( &X11DRV_CritSection );
|
||||
r = XSetClassHint(a0, a1, a2);
|
||||
LeaveCriticalSection( &X11DRV_CritSection );
|
||||
TRACE(x11, "Ret XSetClassHint\n");
|
||||
return r;
|
||||
}
|
||||
|
||||
void TSXSetWMProperties(Display* a0, Window a1, XTextProperty* a2, XTextProperty* a3, char** a4, int a5, XSizeHints* a6, XWMHints* a7, XClassHint* a8)
|
||||
{
|
||||
TRACE(x11, "Call XSetWMProperties\n");
|
||||
|
|
|
@ -128,13 +128,20 @@ BOOL32 X11DRV_WND_CreateWindow(WND *wndPtr, CLASS *classPtr, CREATESTRUCT32A *cs
|
|||
if(!wndPtr->window)
|
||||
return FALSE;
|
||||
|
||||
if ((wndPtr->flags & WIN_MANAGED) &&
|
||||
(cs->dwExStyle & WS_EX_DLGMODALFRAME))
|
||||
{
|
||||
if (wndPtr->flags & WIN_MANAGED) {
|
||||
XClassHint *class_hints = TSXAllocClassHint();
|
||||
|
||||
if (class_hints) {
|
||||
class_hints->res_name = "wineManaged";
|
||||
class_hints->res_class = "Wine";
|
||||
TSXSetClassHint( display, wndPtr->window, class_hints );
|
||||
TSXFree (class_hints);
|
||||
}
|
||||
|
||||
if (cs->dwExStyle & WS_EX_DLGMODALFRAME) {
|
||||
XSizeHints* size_hints = TSXAllocSizeHints();
|
||||
|
||||
if (size_hints)
|
||||
{
|
||||
if (size_hints) {
|
||||
size_hints->min_width = size_hints->max_width = cs->cx;
|
||||
size_hints->min_height = size_hints->max_height = cs->cy;
|
||||
size_hints->flags = (PSize | PMinSize | PMaxSize);
|
||||
|
@ -143,6 +150,7 @@ BOOL32 X11DRV_WND_CreateWindow(WND *wndPtr, CLASS *classPtr, CREATESTRUCT32A *cs
|
|||
TSXFree(size_hints);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (cs->hwndParent) /* Get window owner */
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue