Xlib:创建最小化或最大化状态的窗口

3

使用Xlib是否可以创建最大化或最小化状态的窗口?如果可以,我该如何操作?


我非常确定这些是方便的窗口管理器虚构。X 不知道也不关心它们。 - genpfault
2个回答

7

类似这样的内容;

XEvent xev;
Atom wm_state  =  XInternAtom(dpy, "_NET_WM_STATE", False);
Atom max_horz  =  XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
Atom max_vert  =  XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_VERT", False);

memset(&xev, 0, sizeof(xev));
xev.type = ClientMessage;
xev.xclient.window = win;
xev.xclient.message_type = wm_state;
xev.xclient.format = 32;
xev.xclient.data.l[0] = _NET_WM_STATE_ADD;
xev.xclient.data.l[1] = max_horz;
xev.xclient.data.l[2] = max_vert;

XSendEvent(dpy, DefaultRootWindow(dpy), False, SubstructureNotifyMask, &xev);

当窗口已经被映射和管理时,这个方法可以正常工作。但是,是否有可能将窗口映射到最大化状态(即避免在普通状态下映射,然后过渡到最大化状态)? - lav

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接