Procházet zdrojové kódy

Handle WM_DELETE_WINDOW messages correctly, thanks to fungt

master
Bert před 14 roky
rodič
revize
d731741f04
3 změnil soubory, kde provedl 11 přidání a 1 odebrání
  1. +4
    -0
      main.c
  2. +5
    -1
      window.c
  3. +2
    -0
      window.h

+ 4
- 0
main.c Zobrazit soubor

@@ -475,6 +475,10 @@ void run() {
timeout = 1;
}
break;
case ClientMessage:
if ((Atom) ev.xclient.data.l[0] == wm_delete_win)
return;
break;
}
}
}


+ 5
- 1
window.c Zobrazit soubor

@@ -28,9 +28,10 @@

static Cursor arrow;
static Cursor hand;

static GC bgc;

Atom wm_delete_win;

void win_set_sizehints(win_t *win) {
XSizeHints sizehints;

@@ -122,6 +123,9 @@ void win_open(win_t *win) {

XMapWindow(e->dpy, win->xwin);
XFlush(e->dpy);

wm_delete_win = XInternAtom(e->dpy, "WM_DELETE_WINDOW", False);
XSetWMProtocols(e->dpy, win->xwin, &wm_delete_win, 1);
if (options->fullscreen)
win_toggle_fullscreen(win);


+ 2
- 0
window.h Zobrazit soubor

@@ -53,6 +53,8 @@ typedef struct win_s {
unsigned char fullscreen;
} win_t;

extern Atom wm_delete_win;

void win_open(win_t*);
void win_close(win_t*);



Načítá se…
Zrušit
Uložit