~ 안에dwm특정 태그가 있는 모든 창을 종료하는 방법이 있습니까? 예는 2로 태그된 모든 창을 종료하려고 합니다.
이는 다른 많은 타일링 창 관리자에서 사용할 수 있는 작업 공간 종료 기능을 시뮬레이션합니다.
답변1
Dwm에는 기본적으로 해당 기능이 없습니다.
이름이 지정된 파일을 만들고 wipetag.c
다음을 추가할 수 있습니다.
static void wipetag(const Arg *arg);
void wipetag(const Arg *arg) {
Client *c;
for (c = selmon->clients; c; c = c->next) {
if (c->tags & 1 << arg->i) {
if (!sendevent(c, wmatom[WMDelete])) {
XGrabServer(dpy);
XSetErrorHandler(xerrordummy);
XSetCloseDownMode(dpy, DestroyAll);
XKillClient(dpy, c->win);
XSync(dpy, False);
XSetErrorHandler(xerror);
XUngrabServer(dpy);
}
}
}
}
다음 위치에 파일을 포함합니다 config.h
.
#include "wipetag.c"
그런 다음 함수를 호출하는 바로가기를 추가할 수 있습니다 wipetag
.
static Key keys[] = {
{ Mod1Mask|ShiftMask, XK_1, wipetag, {.i = 0} },
인수를 추가하면 첫 번째 태그, 두 번째 태그 등이 .i = 0
지워집니다 ..i = 1