gint tomboy_window_get_workspace (GtkWindow *window) { #ifndef GDK_WINDOWING_X11 return -1; #else GdkWindow *gdkwin = gtk_widget_get_window(GTK_WIDGET (window)); GdkAtom wm_desktop = gdk_atom_intern ("_NET_WM_DESKTOP", FALSE); GdkAtom out_type; gint out_format, out_length; gulong *out_val; int workspace; if (!gdk_property_get (gdkwin, wm_desktop, _GDK_MAKE_ATOM (XA_CARDINAL), 0, G_MAXLONG, FALSE, &out_type, &out_format, &out_length, (guchar **) &out_val)) return -1; workspace = *out_val; g_free (out_val); return workspace; #endif }
void tomboy_window_move_to_current_workspace (GtkWindow *window) { #ifndef GDK_WINDOWING_X11 return; #else GdkWindow *gdkwin = gtk_widget_get_window(GTK_WIDGET (window)); GdkWindow *rootwin = gdk_screen_get_root_window (gdk_window_get_screen (gdkwin)); GdkAtom current_desktop = gdk_atom_intern ("_NET_CURRENT_DESKTOP", FALSE); GdkAtom wm_desktop = gdk_atom_intern ("_NET_WM_DESKTOP", FALSE); GdkAtom out_type; gint out_format, out_length; gulong *out_val; int workspace; XEvent xev; if (!gdk_property_get (rootwin, current_desktop, _GDK_MAKE_ATOM (XA_CARDINAL), 0, G_MAXLONG, FALSE, &out_type, &out_format, &out_length, (guchar **) &out_val)) return; workspace = *out_val; g_free (out_val); TRACE (g_print ("Setting _NET_WM_DESKTOP to: %d\n", workspace)); xev.xclient.type = ClientMessage; xev.xclient.serial = 0; xev.xclient.send_event = True; xev.xclient.display = GDK_WINDOW_XDISPLAY (gdkwin); xev.xclient.window = GDK_WINDOW_XID (gdkwin); xev.xclient.message_type = gdk_x11_atom_to_xatom_for_display( gdk_window_get_display (gdkwin), wm_desktop); xev.xclient.format = 32; xev.xclient.data.l[0] = workspace; xev.xclient.data.l[1] = 0; xev.xclient.data.l[2] = 0; XSendEvent (GDK_WINDOW_XDISPLAY (rootwin), GDK_WINDOW_XID (rootwin), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev); #endif }
void GtkClipboard_::__construct(Php::Parameters ¶meters) { long int a = parameters[0]; instance = (gpointer *)gtk_clipboard_get (_GDK_MAKE_ATOM(a)); }
GdkAtom ada_make_atom (gulong num) { return _GDK_MAKE_ATOM (num); }