我在xmonad下使用glfw。 Glfw顯然設置了窗口標題,之後創建窗口,因此不允許xmonad正確處理它。我想修改glfw源文件,以便在創建窗口之前設置窗口標題。
問題:
所以我下載GLFW-2.6,我考慮的lib/X11/x11_window.c;造成麻煩的線路有:
// Create a window
_glfwWin.Win = XCreateWindow(
_glfwLibrary.Dpy,
RootWindow(_glfwLibrary.Dpy, _glfwWin.VI->screen),
0, 0, // Upper left corner
_glfwWin.Width, _glfwWin.Height, // Width, height
0, // Borderwidth
_glfwWin.VI->depth, // Depth
InputOutput,
_glfwWin.VI->visual,
CWBorderPixel | CWColormap | CWEventMask,
&wa
);
晚些時候通過如下:
_glfwPlatformSetWindowTitle("GLFW Window");
其中
void _glfwPlatformSetWindowTitle(const char *title)
{
// Set window & icon title
XStoreName(_glfwLibrary.Dpy, _glfwWin.Win, title);
XSetIconName(_glfwLibrary.Dpy, _glfwWin.Win, title);
}
現在,如果我TR音速的CreateWindow的調用之前移動glfwPlatformSetWindowTitle電話,我得到一個段錯誤 - 因爲我應該,因爲_glfwWin.win不會被定義。
我不知道如何解決這個問題,因爲要設置窗口標題,我需要_glfwWin.Win來初始化,但要初始化它,我需要創建窗口。
因此,我問:在X11中,在創建窗口之前設置窗口標題的正確方法是什麼?
謝謝!