dwm - 태그에 대한 모든 창 종료

dwm - 태그에 대한 모든 창 종료

~ 안에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

관련 정보