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);
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);
}
}
-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;
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;
}
// 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;
}
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);
}