ewm is a tiling window manager for X based on dwm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
/*
|
|
|
|
* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
|
|
|
|
* See LICENSE file for license details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "wm.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
void
|
|
|
|
run(void *aux)
|
|
|
|
{
|
|
|
|
spawn(dpy, aux);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
quit(void *aux)
|
|
|
|
{
|
|
|
|
running = False;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
sel(void *aux)
|
|
|
|
{
|
|
|
|
const char *arg = aux;
|
|
|
|
Client *c;
|
|
|
|
|
|
|
|
if(!arg || !stack)
|
|
|
|
return;
|
|
|
|
if(!strncmp(arg, "next", 5))
|
|
|
|
focus(stack->snext ? stack->snext : stack);
|
|
|
|
else if(!strncmp(arg, "prev", 5)) {
|
|
|
|
for(c = stack; c && c->snext; c = c->snext);
|
|
|
|
focus(c ? c : stack);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
kill(void *aux)
|
|
|
|
{
|
|
|
|
Client *c = stack;
|
|
|
|
|
|
|
|
if(!c)
|
|
|
|
return;
|
|
|
|
if(c->proto & WM_PROTOCOL_DELWIN)
|
|
|
|
send_message(c->win, wm_atom[WMProtocols], wm_atom[WMDelete]);
|
|
|
|
else
|
|
|
|
XKillClient(dpy, c->win);
|
|
|
|
}
|
|
|
|
|