gpt4 book ai didi

resize - XCB - 如何设置 WM_SIZE_HINTS?

转载 作者:行者123 更新时间:2023-12-03 22:56:08 27 4
gpt4 key购买 nike

我正在编写一个用于在 xcb 中创建窗口的简约库。
我希望能够创建一个不可调整大小的窗口。我发现,可以通过以下方式向窗口管理器提供提示:

xcb_void_cookie_t xcb_change_property (xcb_connection_t *c,       /* Connection to the X server */
uint8_t mode, /* Property mode */
xcb_window_t window, /* Window */
xcb_atom_t property, /* Property to change */
xcb_atom_t type, /* Type of the property */
uint8_t format, /* Format of the property (8, 16, 32) */
uint32_t data_len, /* Length of the data parameter */
const void *data); /* Data */

我试图用这个函数更改 WM_NORMAL_HINTS 和 WM_SIZE_HINTS,但我怎么知道我必须在 *data 参数中放入哪些数据?类型是 XCB_ATOM_INTEGER 还是其他类型?

最佳答案

这是解决方案:

#include <xcb/xcb.h>
#include <xcb/xcb_icccm.h>

#define WIDTH 900
#define HEIGHT 600

int main(){
//...
//Connect to X Server and
//Create a window
//...

xcb_size_hints_t hints;

xcb_icccm_size_hints_set_min_size(&hints, WIDTH, HEIGHT);
xcb_icccm_size_hints_set_max_size(&hints, WIDTH, HEIGHT);

xcb_icccm_set_wm_size_hints(connection, window, XCB_ATOM_WM_NORMAL_HINTS, &hints);
return 0;
}

关于resize - XCB - 如何设置 WM_SIZE_HINTS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27769654/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com