This commit is contained in:
Dylan Araps
2019-10-11 22:18:02 +03:00
parent e53f49cc2d
commit f5f3c4aa06

22
sowm.c
View File

@@ -97,21 +97,19 @@ void win_add(Window w) {
exit(1); exit(1);
if (head == NULL) { if (head == NULL) {
c->next = NULL;
c->prev = NULL; c->prev = NULL;
c->win = w;
head = c; head = c;
} }
else { else {
for (t=head;t->next;t=t->next); for (t=head;t->next;t=t->next);
c->next = NULL;
c->prev = t; c->prev = t;
c->win = w;
t->next = c; t->next = c;
} }
c->next = NULL;
c->win = w;
cur = c; cur = c;
} }
@@ -228,12 +226,11 @@ void key_grab() {
int i; int i;
KeyCode code; KeyCode code;
for(i=0;i<TABLENGTH(keys);++i) { for(i=0;i<TABLENGTH(keys);++i)
if ((code = XKeysymToKeycode(dis, keys[i].keysym))) if ((code = XKeysymToKeycode(dis, keys[i].keysym)))
XGrabKey(dis, code, keys[i].mod, root, XGrabKey(dis, code, keys[i].mod, root,
True, GrabModeAsync, GrabModeAsync); True, GrabModeAsync, GrabModeAsync);
} }
}
void key_press(XEvent *e) { void key_press(XEvent *e) {
int i; int i;
@@ -241,11 +238,10 @@ void key_press(XEvent *e) {
KeySym keysym = XkbKeycodeToKeysym(dis,ke.keycode,0,0); KeySym keysym = XkbKeycodeToKeysym(dis,ke.keycode,0,0);
for(i=0;i<TABLENGTH(keys);++i) { for(i=0;i<TABLENGTH(keys);++i) {
if(keys[i].keysym == keysym && keys[i].mod == ke.state) { if (keys[i].keysym == keysym && keys[i].mod == ke.state)
keys[i].function(keys[i].arg); keys[i].function(keys[i].arg);
} }
} }
}
void button_press(XEvent *e) { void button_press(XEvent *e) {
XButtonEvent bu = e->xbutton; XButtonEvent bu = e->xbutton;
@@ -278,8 +274,7 @@ void button_release(XEvent *e) {
} }
void win_kill() { void win_kill() {
if(cur != NULL) if (cur != NULL) XKillClient(dis, cur->win);
XKillClient(dis, cur->win);
} }
void map_request(XEvent *e) { void map_request(XEvent *e) {
@@ -317,7 +312,8 @@ void win_del(Window w) {
client *c; client *c;
for(c=head;c;c=c->next) { for(c=head;c;c=c->next) {
if(c->win == w) { if (c->win != w) continue;
if (c->prev == NULL && c->next == NULL) { if (c->prev == NULL && c->next == NULL) {
free(head); free(head);
@@ -351,7 +347,6 @@ void win_del(Window w) {
return; return;
} }
} }
}
void ws_save(int i) { void ws_save(int i) {
desktops[i].mode = mode; desktops[i].mode = mode;
@@ -422,7 +417,7 @@ void wm_init() {
if (events[ev.type]) events[ev.type](&ev); if (events[ev.type]) events[ev.type](&ev);
} }
int main(int argc, char **argv) { int main() {
if ((dis = XOpenDisplay(NULL))) { if ((dis = XOpenDisplay(NULL))) {
wm_setup(); wm_setup();
wm_init(); wm_init();
@@ -432,4 +427,3 @@ int main(int argc, char **argv) {
return 0; return 0;
} }