bar_wintitle_floating.c (1035B)
1 int 2 width_wintitle_floating(Bar *bar, BarArg *a) 3 { 4 return a->w; 5 } 6 7 int 8 draw_wintitle_floating(Bar *bar, BarArg *a) 9 { 10 drw_rect(drw, a->x, a->y, a->w, a->h, 1, 1); 11 return calc_wintitle_floating(bar->mon, a->x, a->w, -1, flextitledraw, NULL, a); 12 } 13 14 int 15 click_wintitle_floating(Bar *bar, Arg *arg, BarArg *a) 16 { 17 calc_wintitle_floating(bar->mon, 0, a->w, a->x, flextitleclick, arg, a); 18 return ClkWinTitle; 19 } 20 21 int 22 calc_wintitle_floating( 23 Monitor *m, int offx, int tabw, int passx, 24 void(*tabfn)(Monitor *, Client *, int, int, int, int, Arg *arg, BarArg *barg), 25 Arg *arg, BarArg *barg 26 ) { 27 Client *c; 28 int clientsnfloating = 0, w, r; 29 int groupactive = GRP_FLOAT; 30 31 for (c = m->clients; c; c = c->next) { 32 if (!ISVISIBLE(c) || HIDDEN(c)) 33 continue; 34 if (c->isfloating) 35 clientsnfloating++; 36 } 37 38 if (!clientsnfloating) 39 return 0; 40 41 w = tabw / clientsnfloating; 42 r = tabw % clientsnfloating; 43 c = flextitledrawarea(m, m->clients, offx, r, w, clientsnfloating, SCHEMEFOR(GRP_FLOAT), 0, 0, 1, passx, tabfn, arg, barg); 44 return 1; 45 } 46