key.c
changeset 74 5370ef170cc9
parent 73 c2ddb9dbbd10
equal deleted inserted replaced
73:c2ddb9dbbd10 74:5370ef170cc9
    97 	Client **l, *c;
    97 	Client **l, *c;
    98 
    98 
    99 	if(!sel)
    99 	if(!sel)
   100 		return;
   100 		return;
   101 
   101 
   102 	if(sel == next(clients) && sel->next)  {
   102 	if(sel == getnext(clients) && sel->next)  {
   103 		if((c = next(sel->next)))
   103 		if((c = getnext(sel->next)))
   104 			sel = c;
   104 			sel = c;
   105 	}
   105 	}
   106 
   106 
   107 	for(l = &clients; *l && *l != sel; l = &(*l)->next);
   107 	for(l = &clients; *l && *l != sel; l = &(*l)->next);
   108 	*l = sel->next;
   108 	*l = sel->next;
   120 		return;
   120 		return;
   121 	sel->x = sx;
   121 	sel->x = sx;
   122 	sel->y = sy + bh;
   122 	sel->y = sy + bh;
   123 	sel->w = sw - 2 * sel->border;
   123 	sel->w = sw - 2 * sel->border;
   124 	sel->h = sh - 2 * sel->border - bh;
   124 	sel->h = sh - 2 * sel->border - bh;
   125 	craise(sel);
   125 	higher(sel);
   126 	resize(sel, False);
   126 	resize(sel, False);
   127 }
   127 }
   128 
   128 
   129 static void
   129 static void
   130 tappend(Arg *arg)
   130 tappend(Arg *arg)
   155 
   155 
   156 	if(!sel)
   156 	if(!sel)
   157 		return;
   157 		return;
   158 
   158 
   159 	if((c = sel->revert && sel->revert->tags[tsel] ? sel->revert : NULL)) {
   159 	if((c = sel->revert && sel->revert->tags[tsel] ? sel->revert : NULL)) {
   160 		craise(c);
   160 		higher(c);
   161 		focus(c);
   161 		focus(c);
   162 	}
   162 	}
   163 }
   163 }
   164 
   164 
   165 static void
   165 static void
   168 	Client *c;
   168 	Client *c;
   169    
   169    
   170 	if(!sel)
   170 	if(!sel)
   171 		return;
   171 		return;
   172 
   172 
   173 	if(!(c = next(sel->next)))
   173 	if(!(c = getnext(sel->next)))
   174 		c = next(clients);
   174 		c = getnext(clients);
   175 	if(c) {
   175 	if(c) {
   176 		craise(c);
   176 		higher(c);
   177 		c->revert = sel;
   177 		c->revert = sel;
   178 		focus(c);
   178 		focus(c);
   179 	}
   179 	}
   180 }
   180 }
   181 
   181 
   183 ckill(Arg *arg)
   183 ckill(Arg *arg)
   184 {
   184 {
   185 	if(!sel)
   185 	if(!sel)
   186 		return;
   186 		return;
   187 	if(sel->proto & WM_PROTOCOL_DELWIN)
   187 	if(sel->proto & WM_PROTOCOL_DELWIN)
   188 		send_message(sel->win, wm_atom[WMProtocols], wm_atom[WMDelete]);
   188 		sendevent(sel->win, wm_atom[WMProtocols], wm_atom[WMDelete]);
   189 	else
   189 	else
   190 		XKillClient(dpy, sel->win);
   190 		XKillClient(dpy, sel->win);
   191 }
   191 }
   192 
   192