]> Dogcows Code - chaz/tint2/blobdiff - src/server.c
add mouse action : maximize_restore, fixed issue 125
[chaz/tint2] / src / server.c
index db069930a6bfdf3e9da783febad492fb823c5ca8..1c7b4cda18e821d3ad9c4657d539567ffb10b253 100644 (file)
@@ -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);
 }
This page took 0.025366 seconds and 4 git commands to generate.