static VALUE plug_construct(VALUE self, VALUE socket_id) { #ifdef GDK_NATIVE_WINDOW_POINTER gtk_plug_construct(GTK_PLUG(RVAL2GOBJ(self)), GUINT_TO_POINTER(NUM2ULONG(socket_id))); #else gtk_plug_construct(GTK_PLUG(RVAL2GOBJ(self)), (guint32)NUM2UINT(socket_id)); #endif return self; }
EggTrayIcon * egg_tray_icon_new_for_xscreen (Screen *xscreen, const char *name) { EggTrayIcon *icon; char buffer[256]; GdkWindow *root_window; g_return_val_if_fail (xscreen != NULL, NULL); icon = g_object_new (EGG_TYPE_TRAY_ICON, NULL); gtk_window_set_title (GTK_WINDOW (icon), name); #if HAVE_GTK_MULTIHEAD /* FIXME: this code does not compile, screen is undefined. Now try * getting the GdkScreen from xscreen (:. Dunno how to solve this * (there is prolly some easy way I cant think of right now) */ gtk_plug_construct_for_display (GTK_PLUG (icon), gdk_screen_get_display (screen), 0); #else gtk_plug_construct (GTK_PLUG (icon), 0); #endif gtk_widget_realize (GTK_WIDGET (icon)); /* Now see if there's a manager window around */ g_snprintf (buffer, sizeof (buffer), "_NET_SYSTEM_TRAY_S%d", XScreenNumberOfScreen (xscreen)); icon->selection_atom = XInternAtom (DisplayOfScreen (xscreen), buffer, False); icon->manager_atom = XInternAtom (DisplayOfScreen (xscreen), "MANAGER", False); icon->system_tray_opcode_atom = XInternAtom (DisplayOfScreen (xscreen), "_NET_SYSTEM_TRAY_OPCODE", False); egg_tray_icon_update_manager_window (icon); #if HAVE_GTK_MULTIHEAD root_window = gdk_screen_get_root_window (gtk_widget_get_screen (screen)); #else root_window = gdk_window_lookup (gdk_x11_get_default_root_xwindow ()); #endif /* Add a root window filter so that we get changes on MANAGER */ gdk_window_add_filter (root_window, egg_tray_icon_manager_filter, icon); return icon; }
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_construct (JNIEnv *env, jobject obj, jlong socket_id) { void *ptr; gdk_threads_enter (); ptr = gtkpeer_get_widget (env, obj); if (GTK_WIDGET_REALIZED (GTK_WIDGET (ptr))) g_printerr ("ERROR: GtkPlug is already realized\n"); gtk_plug_construct (GTK_PLUG (ptr), (GdkNativeWindow) socket_id); gdk_threads_leave (); }
EggTrayIcon * egg_tray_icon_new (const char *name, GdkPixbuf *pix) { EggTrayIcon *icon; char buffer[256]; GdkWindow *root_window; Screen *xscreen=DefaultScreenOfDisplay (GDK_DISPLAY()); g_return_val_if_fail (pix!= NULL, NULL); icon = g_object_new (EGG_TYPE_TRAY_ICON, NULL); gtk_window_set_title (GTK_WINDOW (icon), name); gtk_plug_construct (GTK_PLUG (icon), 0); gtk_widget_realize (GTK_WIDGET (icon)); icon->ready=FALSE; icon->default_pix=pix; /* Now see if there's a manager window around */ g_snprintf (buffer, sizeof (buffer), "_NET_SYSTEM_TRAY_S%d", XScreenNumberOfScreen (xscreen)); icon->selection_atom = XInternAtom (DisplayOfScreen (xscreen), buffer, False); icon->manager_atom = XInternAtom (DisplayOfScreen (xscreen), "MANAGER", False); icon->system_tray_opcode_atom = XInternAtom (DisplayOfScreen (xscreen), "_NET_SYSTEM_TRAY_OPCODE", False); gtk_window_present (GTK_WINDOW (icon)); egg_tray_icon_update_manager_window (icon); root_window = gdk_window_lookup (gdk_x11_get_default_root_xwindow ()); /* Add a root window filter so that we get changes on MANAGER */ gdk_window_add_filter (root_window, egg_tray_icon_manager_filter, icon); return icon; }
gint dock_manager_preferences_bin_main (gchar** argv, int argv_length1) { gint result = 0; GOptionContext* _tmp0_ = NULL; GOptionContext* context; GOptionGroup* _tmp1_ = NULL; DockManagerPreferencesBin* _tmp2_ = NULL; DockManagerPreferencesBin* prefs_bin; GError * _inner_error_ = NULL; _tmp0_ = g_option_context_new (" - Dockmanager-settings Options"); context = _tmp0_; g_option_context_add_main_entries (context, DOCK_MANAGER_options, NULL); _tmp1_ = gtk_get_option_group (FALSE); g_option_context_add_group (context, _tmp1_); g_option_context_parse (context, &argv_length1, &argv, &_inner_error_); if (_inner_error_ != NULL) { _g_option_context_free0 (context); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return 0; } gtk_init (&argv_length1, &argv); desktop_agnostic_vfs_init (&_inner_error_); if (_inner_error_ != NULL) { goto __catch1_g_error; } _tmp2_ = dock_manager_preferences_bin_new (); prefs_bin = g_object_ref_sink (_tmp2_); gtk_widget_show ((GtkWidget*) prefs_bin); if (dock_manager_EMBED_XID == 0) { GtkWindow* _tmp3_ = NULL; GtkWindow* window; _tmp3_ = (GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL); window = g_object_ref_sink (_tmp3_); gtk_window_set_title (window, "Dockmanager preferences"); gtk_container_add ((GtkContainer*) window, (GtkWidget*) prefs_bin); gtk_window_set_default_size (window, 400, 450); gtk_container_set_border_width ((GtkContainer*) window, (guint) 12); g_signal_connect ((GtkObject*) window, "destroy", (GCallback) _gtk_main_quit_gtk_object_destroy, NULL); gtk_widget_show ((GtkWidget*) window); _g_object_unref0 (window); } else { GtkPlug* _tmp4_ = NULL; GtkPlug* plug; _tmp4_ = (GtkPlug*) gtk_plug_new ((GdkNativeWindow) 0); plug = g_object_ref_sink (_tmp4_); g_signal_connect ((GtkWidget*) plug, "delete-event", (GCallback) __lambda4__gtk_widget_delete_event, NULL); gtk_container_add ((GtkContainer*) plug, (GtkWidget*) prefs_bin); gtk_plug_construct (plug, (GdkNativeWindow) dock_manager_EMBED_XID); gtk_widget_show ((GtkWidget*) plug); _g_object_unref0 (plug); } gtk_main (); desktop_agnostic_vfs_shutdown (&_inner_error_); if (_inner_error_ != NULL) { _g_object_unref0 (prefs_bin); goto __catch1_g_error; } _g_object_unref0 (prefs_bin); goto __finally1; __catch1_g_error: { GError * err; err = _inner_error_; _inner_error_ = NULL; g_warning ("dockmanager-settings.vala:327: %s", err->message); _g_error_free0 (err); } __finally1: if (_inner_error_ != NULL) { _g_option_context_free0 (context); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return 0; } result = 0; _g_option_context_free0 (context); return result; }