|
|
@ -93,7 +93,7 @@ typedef struct { |
|
|
|
Window win; |
|
|
|
Window win; |
|
|
|
Drawable buf; |
|
|
|
Drawable buf; |
|
|
|
GlyphFontSpec *specbuf; /* font spec buffer used for rendering */ |
|
|
|
GlyphFontSpec *specbuf; /* font spec buffer used for rendering */ |
|
|
|
Atom xembed, wmdeletewin, netwmname, netwmpid; |
|
|
|
Atom xembed, wmdeletewin, netwmname, netwmiconname, netwmpid; |
|
|
|
struct { |
|
|
|
struct { |
|
|
|
XIM xim; |
|
|
|
XIM xim; |
|
|
|
XIC xic; |
|
|
|
XIC xic; |
|
|
@ -1186,6 +1186,7 @@ xinit(int cols, int rows) |
|
|
|
xw.xembed = XInternAtom(xw.dpy, "_XEMBED", False); |
|
|
|
xw.xembed = XInternAtom(xw.dpy, "_XEMBED", False); |
|
|
|
xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False); |
|
|
|
xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False); |
|
|
|
xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False); |
|
|
|
xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False); |
|
|
|
|
|
|
|
xw.netwmiconname = XInternAtom(xw.dpy, "_NET_WM_ICON_NAME", False); |
|
|
|
XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); |
|
|
|
XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); |
|
|
|
|
|
|
|
|
|
|
|
xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False); |
|
|
|
xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False); |
|
|
@ -1579,6 +1580,19 @@ xsetenv(void) |
|
|
|
setenv("WINDOWID", buf, 1); |
|
|
|
setenv("WINDOWID", buf, 1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
|
|
|
xseticontitle(char *p) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
XTextProperty prop; |
|
|
|
|
|
|
|
DEFAULT(p, opt_title); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, |
|
|
|
|
|
|
|
&prop); |
|
|
|
|
|
|
|
XSetWMIconName(xw.dpy, xw.win, &prop); |
|
|
|
|
|
|
|
XSetTextProperty(xw.dpy, xw.win, &prop, xw.netwmiconname); |
|
|
|
|
|
|
|
XFree(prop.value); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
void |
|
|
|
xsettitle(char *p) |
|
|
|
xsettitle(char *p) |
|
|
|
{ |
|
|
|
{ |
|
|
|