NM6CAPI2WSAGSR6KGKGZL4NBGKK7DA5IP3UZ2KJTIPVQIJFPJZXQC EDLLLXC2W4MYKM3B3LSFVTAR7SXDF63FMCCGIEIXBBM6HXR2MBUAC T6RRXRQT6K4T63MKNIDLTNASZCAE3SWWMJU5BXKSHWFY2YY3VBSAC PJHDUTG622NXK3JNTSDWH22FMIPNF4CEHINWBJBCUA7REWA5WMMAC 6FUMTPHUSH56QJ3TIMBBOVQOT5N7KOX2TUYREZTDGZE4H33ADJGQC 7L3TU7JVWPBPHN7WF4TJ263BZ6BC3AYRRW6PULFUP5JZUGWWNUSAC J6OSBEBQXZR5JZ5TOCCUPELBPUVEQULGCXURXLPY7WFYTDEQOU2AC 7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC 66TSV5DVW2ILJNGV3EGWPLHHYW2KXGZPCVW4UZ3J4GZOSSR7374AC 22QYEUSXWCAT2P3PWTLTDZOIW75HDPICYESRPK4BRLY2XKFG5GWQC DBS6UQ2KJAFLCREUIGGCN5UYTGNPNODS275TFWDAL2KUGFQMNWKQC LQPHYO7IIMLXHUD5IK657BO4BE3SGT5HYDRJDU5OFDF5YUXKIRTAC PLJJLNS7E2UXW2YARGBSV6IHZEBGL5EW354IMMHPDATY5DQD77DAC 6OZ3VUODEBOTXODIJQU5TKXCDEJOWTYHCMCDB4MJ2X3T6EG374SAC TOFCZFUYVBVEBHMKVG6G5MKCAEF2QCQ4GKMKGQUSJRLGLDZEJF4QC SV4UYATUNO4G473QWSHDFONASDFDGWTEFJD47IRN6RQJOVR5PUTQC BHAVCU3626VQYRHL7PPGBXGM3N5GBHTN5L5P74M6BKDAARKQDOAQC 3RU5REBOOAYYK7CJKRFPTSQ7QKD7CPIM6C3I6G6NCE47IRMTRIPAC QQGHHW5XN2GWROQUW6BRS3W5J5W6ANKEVCP3EC7RTXAA3KCA4GYAC 2OQAWQSW5DDGUFJ4YWT5VXHZMRWQPDKZFO3JUPO4SV6JQHWT6HRAC JJXQTKU5WR74D7XW3JTN4Y3JSYDQTZ54GTD4F5XHT5RR2UWR72AAC O3TIITAWQBJXO45JGUYX2N4JITKH4SEHV62AN5OG6GXQHDXVCR7QC PMRSYJRYQAXZ3OEDD7ANMXTECMT2DNJEC3XQABRNA63SAOUZWA3AC 4WVZ2LAGAIQ2EROHNA4T5PWQEEIPJRTA3CBHGAO55NACCUGLKEZQC S7RXJJZG4IEIVLPHEWFT5M2T3SRRO5US5SYBPXSYSWJJLXAKNNPAC Q6TUD4XK4U35XVS2VZEGO4OCNXYM5IL4QUW7YDMYRMQQDRJBGSNAC N54JKDQTHG2GSXAXR6PGMVVEKAHLKENNDSQ2IUGKQUDHGA72J4XQC EQRGODLKSVSPFSUZU7BV5ER72U4QS4ATSBKV544XXQVKKTOSC7EAC 2GP4MXKEDQMZ7E6TCRSMV2AGN7HLEAHR3QEAC2QFCQQNPMNJSIHQC } Client;
pid_t pid;Client *swallowing, *swallowedby;};
}}if (!c->noswallow && !client_is_float_type(c)&& !c->surface.xdg->initial_commit) {Client *p = termforwin(c);if (p) {c->swallowedby = p;p->swallowing = c;wl_list_remove(&c->link);wl_list_remove(&c->flink);swallow(c, p);wl_list_remove(&p->link);wl_list_remove(&p->flink);mon = p->mon;newtags = p->tags;
}pid_tgetparentprocess(pid_t p){unsigned int v = 0;FILE *f;char buf[256];snprintf(buf, sizeof(buf) - 1, "/proc/%u/stat", (unsigned)p);if (!(f = fopen(buf, "r")))return 0;fscanf(f, "%*u %*s %*c %u", &v);fclose(f);return (pid_t)v;}intisdescprocess(pid_t p, pid_t c){while (p != c && c != 0)c = getparentprocess(c);return (int)c;}Client *termforwin(Client *w){Client *c;if (!w->pid || w->isterm || w->noswallow)return NULL;wl_list_for_each(c, &fstack, flink)if (c->isterm && !c->swallowing && c->pid && isdescprocess(c->pid, w->pid))return c;return NULL;}voidswallow(Client *c, Client *w){c->bw = w->bw;c->isfloating = w->isfloating;c->isurgent = w->isurgent;c->isfullscreen = w->isfullscreen;c->tags = w->tags;c->geom = w->geom;wl_list_insert(&w->link, &c->link);wl_list_insert(&w->flink, &c->flink);wlr_scene_node_set_enabled(&w->scene->node, 0);wlr_scene_node_set_enabled(&c->scene->node, 1);
{ "Gimp_EXAMPLE", NULL, 0, 1, -1 }, /* Start on currently visible tags floating, not tiled */{ "firefox_EXAMPLE", NULL, 1 << 8, 0, -1 }, /* Start on ONLY tag "9" */
{ "Gimp_EXAMPLE", NULL, 0, 1, 0, 0, -1 }, /* Start on currently visible tags floating, not tiled */{ "firefox_EXAMPLE", NULL, 1 << 8, 0, 0, 0, -1 }, /* Start on ONLY tag "9" */{ "foot", NULL, 0, 0, 1, 1, -1 }, /* make foot swallow clients that are not foot */