]> Dogcows Code - chaz/tint2/blobdiff - src/server.c
add mouse action : maximize_restore, fixed issue 125
[chaz/tint2] / src / server.c
index 33e4014bf782c10cb98f5568b7e4110b9ff3dcef..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;
 
@@ -268,7 +272,6 @@ next:
 
        // detect number of desktops
        // wait 15s to leave some time for window manager startup
-       // FIXME: We should also provide a small warning about not respected NETWM specs.
    for (i=0 ; i < 15 ; i++) {
       server.nb_desktop = server_get_number_of_desktop ();
       if (server.nb_desktop > 0) break;
@@ -276,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.028104 seconds and 4 git commands to generate.