X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fserver.c;h=1c7b4cda18e821d3ad9c4657d539567ffb10b253;hb=a36e39c7c2fedd87847514d561dc7d7bded2a3fa;hp=db069930a6bfdf3e9da783febad492fb823c5ca8;hpb=e9f82fb210675167061fd45697f49e6eb733c732;p=chaz%2Ftint2 diff --git a/src/server.c b/src/server.c index db06993..1c7b4cd 100644 --- a/src/server.c +++ b/src/server.c @@ -54,6 +54,8 @@ void server_init_atoms () server.atom._NET_WM_DESKTOP = XInternAtom (server.dsp, "_NET_WM_DESKTOP", False); server.atom.WM_STATE = XInternAtom (server.dsp, "WM_STATE", False); server.atom._NET_WM_STATE = XInternAtom (server.dsp, "_NET_WM_STATE", False); + server.atom._NET_WM_STATE_MAXIMIZED_VERT = XInternAtom (server.dsp, "_NET_WM_STATE_MAXIMIZED_VERT", False); + server.atom._NET_WM_STATE_MAXIMIZED_HORZ = XInternAtom (server.dsp, "_NET_WM_STATE_MAXIMIZED_HORZ", False); server.atom._NET_WM_STATE_SHADED = XInternAtom (server.dsp, "_NET_WM_STATE_SHADED", False); server.atom._NET_WM_STATE_BELOW = XInternAtom (server.dsp, "_NET_WM_STATE_BELOW", False); server.atom._NET_WM_STATE_MODAL = XInternAtom (server.dsp, "_NET_WM_STATE_MODAL", False); @@ -79,6 +81,8 @@ void server_init_atoms () server.atom.MANAGER = XInternAtom(server.dsp, "MANAGER", False); server.atom._NET_SYSTEM_TRAY_MESSAGE_DATA = XInternAtom(server.dsp, "_NET_SYSTEM_TRAY_MESSAGE_DATA", False); server.atom._NET_SYSTEM_TRAY_ORIENTATION = XInternAtom(server.dsp, "_NET_SYSTEM_TRAY_ORIENTATION", False); + server.atom._XEMBED = XInternAtom(server.dsp, "_XEMBED", False); + server.atom._XEMBED_INFO = XInternAtom(server.dsp, "_XEMBED_INFO", False); } @@ -88,7 +92,7 @@ void cleanup_server() } -void send_event32 (Window win, Atom at, long data1, long data2) +void send_event32 (Window win, Atom at, long data1, long data2, long data3) { XEvent event; @@ -102,7 +106,7 @@ void send_event32 (Window win, Atom at, long data1, long data2) event.xclient.format = 32; event.xclient.data.l[0] = data1; event.xclient.data.l[1] = data2; - event.xclient.data.l[2] = 0; + event.xclient.data.l[2] = data3; event.xclient.data.l[3] = 0; event.xclient.data.l[4] = 0; @@ -267,6 +271,7 @@ next: } // detect number of desktops + // wait 15s to leave some time for window manager startup for (i=0 ; i < 15 ; i++) { server.nb_desktop = server_get_number_of_desktop (); if (server.nb_desktop > 0) break; @@ -274,7 +279,7 @@ next: } if (server.nb_desktop == 0) { server.nb_desktop = 1; - fprintf(stderr, "tint2 : cannot found number of desktop.\n"); + fprintf(stderr, "warning : WM doesn't respect NETWM specs. tint2 default to 1 desktop.\n"); } fprintf(stderr, "tint2 : nb monitor %d, nb desktop %d\n", server.nb_monitor, server.nb_desktop); }