diff options
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/rio/dat.h | 3 | ||||
-rw-r--r-- | src/cmd/rio/event.c | 9 | ||||
-rw-r--r-- | src/cmd/rio/main.c | 4 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/cmd/rio/dat.h b/src/cmd/rio/dat.h index e56429eb..b91054f2 100644 --- a/src/cmd/rio/dat.h +++ b/src/cmd/rio/dat.h @@ -162,7 +162,8 @@ extern Atom wm_delete; extern Atom wm_take_focus; extern Atom wm_lose_focus; extern Atom wm_colormaps; - +extern Atom wm_state_fullscreen; +extern Atom wm_state; /* client.c */ extern Client *clients; extern Client *current; diff --git a/src/cmd/rio/event.c b/src/cmd/rio/event.c index c7ae135c..0420c2bd 100644 --- a/src/cmd/rio/event.c +++ b/src/cmd/rio/event.c @@ -337,6 +337,15 @@ clientmesg(XClientMessageEvent *e) (int)e->format, (int)e->data.l[0], (int)e->window); return; } + if(e->message_type == wm_state){ +// c = getclient(e->window, 0); +// if(e->format == 32 && e->data.l[1] == wm_state_fullscreen){ +// }else + fprintf(stderr, "rio: WM_STATE: format %d data %d %d w 0x%x\n", + (int)e->format, (int)e->data.l[0], (int)e->data.l[1], + (int)e->window); + return; + } fprintf(stderr, "rio: strange ClientMessage, type 0x%x window 0x%x\n", (int)e->message_type, (int)e->window); } diff --git a/src/cmd/rio/main.c b/src/cmd/rio/main.c index a7f3162a..4bf87852 100644 --- a/src/cmd/rio/main.c +++ b/src/cmd/rio/main.c @@ -53,6 +53,8 @@ Atom wm_lose_focus; Atom wm_colormaps; Atom _rio_running; Atom _rio_hold_mode; +Atom wm_state_fullscreen; +Atom wm_state; char *fontlist[] = { "lucm.latin1.9", @@ -180,6 +182,8 @@ main(int argc, char *argv[]) wm_colormaps = XInternAtom(dpy, "WM_COLORMAP_WINDOWS", False); _rio_running = XInternAtom(dpy, "_9WM_RUNNING", False); _rio_hold_mode = XInternAtom(dpy, "_9WM_HOLD_MODE", False); + wm_state = XInternAtom(dpy, "_NET_WM_STATE", False); + wm_state_fullscreen = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False); if(fname != 0) if((font = XLoadQueryFont(dpy, fname)) == 0) |