Making tabbed convert the title string to native.
Thanks "Markus Wichmann" <nullplan@gmx.net>!
This commit is contained in:
parent
66021e959c
commit
2db4415524
19
tabbed.c
19
tabbed.c
|
@ -129,6 +129,7 @@ static void unmanage(int c);
|
||||||
static void updatenumlockmask(void);
|
static void updatenumlockmask(void);
|
||||||
static void updatetitle(int c);
|
static void updatetitle(int c);
|
||||||
static int xerror(Display *dpy, XErrorEvent *ee);
|
static int xerror(Display *dpy, XErrorEvent *ee);
|
||||||
|
static void xsettitle(Window w, const char *str);
|
||||||
|
|
||||||
/* variables */
|
/* variables */
|
||||||
static int screen;
|
static int screen;
|
||||||
|
@ -423,7 +424,7 @@ focus(int c) {
|
||||||
for(i = 0, n = strlen(buf); cmd[i] && n < sizeof(buf); i++)
|
for(i = 0, n = strlen(buf); cmd[i] && n < sizeof(buf); i++)
|
||||||
n += snprintf(&buf[n], sizeof(buf) - n, " %s", cmd[i]);
|
n += snprintf(&buf[n], sizeof(buf) - n, " %s", cmd[i]);
|
||||||
|
|
||||||
XStoreName(dpy, win, buf);
|
xsettitle(win, buf);
|
||||||
XRaiseWindow(dpy, win);
|
XRaiseWindow(dpy, win);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -437,7 +438,7 @@ focus(int c) {
|
||||||
XSetInputFocus(dpy, clients[c]->win, RevertToParent, CurrentTime);
|
XSetInputFocus(dpy, clients[c]->win, RevertToParent, CurrentTime);
|
||||||
sendxembed(c, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT, 0, 0);
|
sendxembed(c, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT, 0, 0);
|
||||||
sendxembed(c, XEMBED_WINDOW_ACTIVATE, 0, 0, 0);
|
sendxembed(c, XEMBED_WINDOW_ACTIVATE, 0, 0, 0);
|
||||||
XStoreName(dpy, win, clients[c]->name);
|
xsettitle(win, clients[c]->name);
|
||||||
|
|
||||||
/* If sel is already c, change nothing. */
|
/* If sel is already c, change nothing. */
|
||||||
if(sel != c) {
|
if(sel != c) {
|
||||||
|
@ -1051,7 +1052,7 @@ updatetitle(int c) {
|
||||||
clients[c]->name, sizeof(clients[c]->name));
|
clients[c]->name, sizeof(clients[c]->name));
|
||||||
}
|
}
|
||||||
if(sel == c)
|
if(sel == c)
|
||||||
XStoreName(dpy, win, clients[c]->name);
|
xsettitle(win, clients[c]->name);
|
||||||
drawbar();
|
drawbar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1085,6 +1086,18 @@ xerror(Display *dpy, XErrorEvent *ee) {
|
||||||
return xerrorxlib(dpy, ee); /* may call exit */
|
return xerrorxlib(dpy, ee); /* may call exit */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
xsettitle(Window w, const char *str) {
|
||||||
|
XTextProperty xtp;
|
||||||
|
|
||||||
|
if(XmbTextListToTextProperty(dpy, (char **)&str, 1, XCompoundTextStyle,
|
||||||
|
&xtp) == Success) {
|
||||||
|
XSetTextProperty(dpy, w, &xtp, wmatom[WMName]);
|
||||||
|
XSetTextProperty(dpy, w, &xtp, XA_WM_NAME);
|
||||||
|
XFree(xtp.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
char *argv0;
|
char *argv0;
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in a new issue