Example #1
0
        private void SendManagerMessage(SystemTrayMessage message, IntPtr window, uint data1, uint data2, uint data3)
        {
            XClientMessageEvent ev = new XClientMessageEvent();
            IntPtr display;

            ev.type         = XEventName.ClientMessage;
            ev.window       = window;
            ev.message_type = (IntPtr)system_tray_opcode_atom;
            ev.format       = 32;
            ev.ptr1         = gdk_x11_get_server_time(GdkWindow.Handle);
            ev.ptr2         = (IntPtr)message;
            ev.ptr3         = (IntPtr)data1;
            ev.ptr4         = (IntPtr)data2;
            ev.ptr5         = (IntPtr)data3;

            display = gdk_x11_display_get_xdisplay(Display.Handle);
            gdk_error_trap_push();
            XSendEvent(display, manager_window, false, EventMask.NoEventMask, ref ev);
            gdk_error_trap_pop();
        }
Example #2
0
 extern static int XSendEvent(IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XClientMessageEvent send_event);