Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Xlib:调整包含pixmap的窗口大小_C_Linux_Xlib_Dwm - Fatal编程技术网

C Xlib:调整包含pixmap的窗口大小

C Xlib:调整包含pixmap的窗口大小,c,linux,xlib,dwm,C,Linux,Xlib,Dwm,与……相关。 正如上面提到的主题所总结的,不可能调整pixmap的大小。在pixmap被复制到窗口之后,窗口会怎么样?在下面的示例中,在调整窗口大小之前,一切都很好。图标在复制到窗口后绘制,但在调整窗口大小后丢失。我是否遗漏了一些东西,或者根本没有办法调整pixmap内容的大小? 上下文:尝试将客户端图标添加到的选项卡中 unsigned int px_w, px_h, dummy_i; Window icon_w, dummy_w; Pixmap getWindowIcon (Window

与……相关。
正如上面提到的主题所总结的,不可能调整pixmap的大小。在pixmap被复制到窗口之后,窗口会怎么样?在下面的示例中,在调整窗口大小之前,一切都很好。图标在复制到窗口后绘制,但在调整窗口大小后丢失。我是否遗漏了一些东西,或者根本没有办法调整pixmap内容的大小?

上下文:尝试将客户端图标添加到的选项卡中

unsigned int px_w, px_h, dummy_i;
Window icon_w, dummy_w;

Pixmap getWindowIcon (Window *w) {
    XWMHints *wmh;
    Pixmap pxmp = NULL;

    if(wmh = XGetWMHints(dpy, w)) {
        pxmp = wmh->icon_pixmap;
        XFree(wmh);
    }

    return pxmp;
}

Pixmap client_icon = getWindowIcon(current_window); // current_window is already existing Window instance
// find the pixmap dimensions and store in px_w, px_h:
XGetGeometry(dpy, client_icon, &dummy_w, &dummy_i, &dummy_i, &px_w, &px_h, &dummy_i, &dummy_i );

icon_w = XCreateSimpleWindow(dpy, root_window, 0, 0, px_w, px_h, 0, 0, color);
XMapRaised(dpy, icon_w);

// copy pixmap to the newly created win:
XCopyArea(dpy, client_icon, icon_w, cellDC.gc, 0, 0, px_w, px_h, 0, 0);

// resize - after which the pixmap is lost in the window:
XResizeWindow(dpy, icon_w, px_w+1, px_h+1);