1
我有一個簡單的xlib程序可以創建窗口。我認爲它必須在屏幕的左上角顯示窗口,因爲我將0,0傳遞給XCreateSimpleWindow函數,但它位於中上部。爲什麼?Xlib:創建窗口的位置不正確
#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char* argv[])
{
Display* display;
int screen_num;
Window win;
unsigned int display_width,display_height;
unsigned int width, height;
char *display_name = getenv("DISPLAY");
display = XOpenDisplay(display_name);
screen_num = DefaultScreen(display);
display_width = DisplayWidth(display, screen_num);
display_height = DisplayHeight(display, screen_num);
width = (display_width/3);
height = (display_height/3);
win = XCreateSimpleWindow(display, RootWindow(display, screen_num), 0, 0, width, height, 1, BlackPixel(display, screen_num), WhitePixel(display, screen_num));
XMapWindow(display, win);
XSync(display, False);
while(1) { }
}
如何在沒有窗口管理器的情況下在顯示器上運行它?我正在使用VNC連接到服務器。 – Ashot
啓動VNC服務器,然後殺死窗口管理器可能是最簡單的途徑。爲vnc服務器正確設置參數,以便它使用不啓動窗口管理器的臨時啓動腳本可能是應該如何完成的。 (例如,將特殊名稱傳遞給vncserver -name並在xstartup中的VNCDESKTOP中檢查它)。 – AProgrammer
我禁用窗口管理器,它的工作原理,但沒有窗口管理器我不能做任何事情,例如。我無法移動或調整窗口大小。有沒有其他方式沒有禁用它? – Ashot