add new UICB: uicb_focus_client_byname
This commit is contained in:
parent
d5d9439777
commit
58a3c0c494
12
client.c
12
client.c
|
@ -147,6 +147,18 @@ get_client_bywin(Client *list, Window w)
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Client *
|
||||||
|
get_client_byname(Client *list, char *name)
|
||||||
|
{
|
||||||
|
Client *c;
|
||||||
|
|
||||||
|
for(c = list; c; c = c->next)
|
||||||
|
if(strstr(c->name, name))
|
||||||
|
return c;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
client_updatetitle(Client *c)
|
client_updatetitle(Client *c)
|
||||||
{
|
{
|
||||||
|
|
1
client.h
1
client.h
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
Bool client_isvisible(Client *, int);
|
Bool client_isvisible(Client *, int);
|
||||||
Client * get_client_bywin(Client *, Window);
|
Client * get_client_bywin(Client *, Window);
|
||||||
|
Client * get_client_byname(Client *, char *);
|
||||||
void client_attach(Client *);
|
void client_attach(Client *);
|
||||||
void client_detach(Client *);
|
void client_detach(Client *);
|
||||||
void client_ban(Client *);
|
void client_ban(Client *);
|
||||||
|
|
11
focus.c
11
focus.c
|
@ -133,4 +133,15 @@ uicb_focus_history(int screen, char *arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
uicb_focus_client_byname(int screen, char *arg)
|
||||||
|
{
|
||||||
|
Client *c;
|
||||||
|
Tag *curtag = get_current_tag(screen);
|
||||||
|
|
||||||
|
if(arg && (c = get_client_byname(globalconf.clients, arg))
|
||||||
|
&& is_client_tagged(c, curtag, screen))
|
||||||
|
focus(c, True, screen);
|
||||||
|
}
|
||||||
|
|
||||||
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
||||||
|
|
1
focus.h
1
focus.h
|
@ -29,6 +29,7 @@ void focus_delete_client(Client *);
|
||||||
Client * focus_get_latest_client_for_tag(int, Tag *);
|
Client * focus_get_latest_client_for_tag(int, Tag *);
|
||||||
|
|
||||||
UICB_PROTO(uicb_focus_history);
|
UICB_PROTO(uicb_focus_history);
|
||||||
|
UICB_PROTO(uicb_focus_client_byname);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
// vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
||||||
|
|
1
uicb.c
1
uicb.c
|
@ -80,6 +80,7 @@ const NameFuncLink UicbList[] =
|
||||||
{"client_resizemouse", uicb_client_resizemouse},
|
{"client_resizemouse", uicb_client_resizemouse},
|
||||||
/* focus.c */
|
/* focus.c */
|
||||||
{"focus_history", uicb_focus_history},
|
{"focus_history", uicb_focus_history},
|
||||||
|
{"focus_client_byname", uicb_focus_client_byname},
|
||||||
/* widgets.c */
|
/* widgets.c */
|
||||||
{"widget_tell", uicb_widget_tell},
|
{"widget_tell", uicb_widget_tell},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
|
|
Loading…
Reference in New Issue