Esempio n. 1
0
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;
}
Esempio n. 2
0
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 ();
}
Esempio n. 4
0
File: trayicon.c Progetto: aufau/xqf
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;
}
Esempio n. 5
0
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;
}