More configure/compile things for X11.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2002-02-10 11:20:52 +00:00
parent b555c37c8e
commit 68e422780f
3 changed files with 18 additions and 7 deletions

4
configure vendored
View File

@@ -12183,10 +12183,10 @@ rm -f conftest*
fi fi
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext -lXt -lX11" GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext -lXt -lX11"
TOOLKIT_VPATH="\${top_srcdir}/src/x11" TOOLKIT_VPATH="\${top_srcdir}/src/x11 \${top_srcdir}/src/univ"
TOOLKIT=X11 TOOLKIT=X11
GUIDIST=X11_DIST GUIDIST=X11_DIST
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__ -D__WXX11__" TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
fi fi
if test "$wxUSE_WINE" = 1; then if test "$wxUSE_WINE" = 1; then

View File

@@ -1882,10 +1882,10 @@ equivalent variable and GTK+ is version 1.2.3 or above.
fi fi
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext -lXt -lX11" GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext -lXt -lX11"
TOOLKIT_VPATH="\${top_srcdir}/src/x11" TOOLKIT_VPATH="\${top_srcdir}/src/x11 \${top_srcdir}/src/univ"
TOOLKIT=X11 TOOLKIT=X11
GUIDIST=X11_DIST GUIDIST=X11_DIST
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__ -D__WXX11__" TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
fi fi
if test "$wxUSE_WINE" = 1; then if test "$wxUSE_WINE" = 1; then

View File

@@ -43,7 +43,9 @@
// Set the window manager decorations according to the // Set the window manager decorations according to the
// given wxWindows style // given wxWindows style
#if 0
static bool SetWMDecorations(Widget w, long style); static bool SetWMDecorations(Widget w, long style);
#endif
static bool MWMIsRunning(Window w); static bool MWMIsRunning(Window w);
@@ -110,7 +112,9 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent,
Atom wm_delete_window = XInternAtom(wxGlobalDisplay(), "WM_DELETE_WINDOW", False); Atom wm_delete_window = XInternAtom(wxGlobalDisplay(), "WM_DELETE_WINDOW", False);
XSetWMProtocols(wxGlobalDisplay(), (Window) GetMainWindow(), &wm_delete_window, 1); XSetWMProtocols(wxGlobalDisplay(), (Window) GetMainWindow(), &wm_delete_window, 1);
#if 0
SetWMDecorations((Window) GetMainWindow(), style); SetWMDecorations((Window) GetMainWindow(), style);
#endif
SetTitle(title); SetTitle(title);
@@ -237,6 +241,7 @@ void wxTopLevelWindowX11::SetIcon(const wxIcon& icon)
if (icon.Ok() && GetMainWindow()) if (icon.Ok() && GetMainWindow())
{ {
#if 0
XWMHints *wmHints = XAllocWMHints(); XWMHints *wmHints = XAllocWMHints();
wmHints.icon_pixmap = (Pixmap) icon.GetPixmap(); wmHints.icon_pixmap = (Pixmap) icon.GetPixmap();
@@ -251,6 +256,7 @@ void wxTopLevelWindowX11::SetIcon(const wxIcon& icon)
XSetWMHints(wxGlobalDisplay(), (Window) GetMainWindow(), XSetWMHints(wxGlobalDisplay(), (Window) GetMainWindow(),
wmHints); wmHints);
XFree(wmHints); XFree(wmHints);
#endif
} }
} }
@@ -308,6 +314,7 @@ struct MwmHints {
// Set the window manager decorations according to the // Set the window manager decorations according to the
// given wxWindows style // given wxWindows style
#if 0
static bool SetWMDecorations(Widget w, long style) static bool SetWMDecorations(Widget w, long style)
{ {
if (!MWMIsRunning(w)) if (!MWMIsRunning(w))
@@ -370,21 +377,25 @@ static bool SetWMDecorations(Widget w, long style)
return TRUE; return TRUE;
} }
#endif
static bool MWMIsRunning(Window w) static bool MWMIsRunning(Window w)
{ {
Display *dpy = (Display*)wxGetDisplay();
Atom motifWmInfo = XInternAtom(dpy, "_MOTIF_WM_INFO", False); Atom motifWmInfo = XInternAtom(dpy, "_MOTIF_WM_INFO", False);
unsigned long length, bytesafter; unsigned long length, bytesafter;
unsigned char value[20]; unsigned char value[20];
int ret, type, format; unsigned char *ptr = &value[0];
int ret, format;
Atom type;
type = format = length = 0; type = format = length = 0;
value = 0; value[0] = 0;
ret = XGetWindowProperty(wxGlobalDisplay(), w, motifWmInfo, ret = XGetWindowProperty(wxGlobalDisplay(), w, motifWmInfo,
0L, 2, False, motifWmInfo, 0L, 2, False, motifWmInfo,
&type, &format, &length, &bytesafter, &value); &type, &format, &length, &bytesafter, &ptr);
return (ret == Success); return (ret == Success);
} }