mirror of
https://github.com/vale981/bspwm
synced 2025-03-05 18:01:37 -05:00
Don't remove node in close_window
If the window doesn't respond to the WM_DELETE_WINDOW message, we'll end up with an unmanaged window. Besides, nodes are already removed after receiving the corresponding destroy notifications.
This commit is contained in:
parent
e1330bfc34
commit
3c404e6bed
3 changed files with 3 additions and 4 deletions
|
@ -38,7 +38,7 @@ void process_message(char *msg, char *rsp)
|
||||||
list_windows(rsp);
|
list_windows(rsp);
|
||||||
return;
|
return;
|
||||||
} else if (strcmp(cmd, "close") == 0) {
|
} else if (strcmp(cmd, "close") == 0) {
|
||||||
close_window(desk, desk->focus);
|
close_window(desk->focus);
|
||||||
} else if (strcmp(cmd, "magnetise") == 0) {
|
} else if (strcmp(cmd, "magnetise") == 0) {
|
||||||
char *cor = strtok(NULL, TOKEN_SEP);
|
char *cor = strtok(NULL, TOKEN_SEP);
|
||||||
if (cor != NULL) {
|
if (cor != NULL) {
|
||||||
|
|
3
window.c
3
window.c
|
@ -135,7 +135,7 @@ void window_draw_border(node_t *n, bool focused)
|
||||||
xcb_free_pixmap(dpy, pix);
|
xcb_free_pixmap(dpy, pix);
|
||||||
}
|
}
|
||||||
|
|
||||||
void close_window(desktop_t *d, node_t *n)
|
void close_window(node_t *n)
|
||||||
{
|
{
|
||||||
if (n == NULL || n->client->locked)
|
if (n == NULL || n->client->locked)
|
||||||
return;
|
return;
|
||||||
|
@ -164,7 +164,6 @@ void close_window(desktop_t *d, node_t *n)
|
||||||
e.data.data32[1] = XCB_CURRENT_TIME;
|
e.data.data32[1] = XCB_CURRENT_TIME;
|
||||||
|
|
||||||
xcb_send_event(dpy, false, win, XCB_EVENT_MASK_NO_EVENT, (char *) &e);
|
xcb_send_event(dpy, false, win, XCB_EVENT_MASK_NO_EVENT, (char *) &e);
|
||||||
remove_node(d, n);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void toggle_fullscreen(client_t *c)
|
void toggle_fullscreen(client_t *c)
|
||||||
|
|
2
window.h
2
window.h
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
bool locate_window(xcb_window_t, window_location_t *);
|
bool locate_window(xcb_window_t, window_location_t *);
|
||||||
void window_draw_border(node_t *, bool);
|
void window_draw_border(node_t *, bool);
|
||||||
void close_window(desktop_t *, node_t *);
|
void close_window(node_t *);
|
||||||
void toggle_fullscreen(client_t *);
|
void toggle_fullscreen(client_t *);
|
||||||
void toggle_floating(node_t *);
|
void toggle_floating(node_t *);
|
||||||
void toggle_locked(client_t *);
|
void toggle_locked(client_t *);
|
||||||
|
|
Loading…
Add table
Reference in a new issue