コード例 #1
0
static void
awn_tooltip_constructed (GObject *object)
{
  AwnTooltip        *tooltip = AWN_TOOLTIP (object);
  AwnTooltipPrivate *priv = tooltip->priv;
  GtkWidget         *align;

  desktop_agnostic_config_client_bind (priv->client, AWN_THEME_GROUP, FONT_NAME,
                                       object, FONT_NAME, TRUE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                       NULL);

  desktop_agnostic_config_client_bind (priv->client, AWN_THEME_GROUP, FONT_COLOR,
                                       object, FONT_COLOR, TRUE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                       NULL);

  desktop_agnostic_config_client_bind (priv->client, AWN_THEME_GROUP, BACKGROUND,
                                       object, BACKGROUND, TRUE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                       NULL);

  desktop_agnostic_config_client_bind (priv->client, AWN_THEME_GROUP, OUTLINE_COLOR,
                                       object, OUTLINE_COLOR, TRUE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                       NULL);

  /* Setup internal widgets */
  align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
  gtk_alignment_set_padding (GTK_ALIGNMENT (align), 5, 3, 8, 8);
  gtk_container_add (GTK_CONTAINER (tooltip), align);
  gtk_widget_show (align);

  priv->label = gtk_label_new (" ");
  gtk_label_set_line_wrap (GTK_LABEL (priv->label), FALSE);
  gtk_label_set_ellipsize (GTK_LABEL (priv->label), PANGO_ELLIPSIZE_NONE);
  gtk_container_add (GTK_CONTAINER (align), priv->label);
  gtk_widget_show (priv->label);

  gtk_window_set_resizable (GTK_WINDOW (tooltip), FALSE);

  g_signal_connect (tooltip, "leave-notify-event",
                    G_CALLBACK (awn_tooltip_hide), NULL);
  g_signal_connect (tooltip, "composited-changed",
                    G_CALLBACK (awn_tooltip_set_type_hint), NULL);
  awn_tooltip_set_type_hint (GTK_WIDGET (tooltip));
}
コード例 #2
0
static void
awn_throbber_constructed (GObject *object)
{
    AwnThrobberPrivate *priv = AWN_THROBBER_GET_PRIVATE (object);

    g_return_if_fail (priv->client);

    desktop_agnostic_config_client_bind (priv->client,
                                         AWN_GROUP_THEME, AWN_THEME_TEXT_COLOR,
                                         object, "fill-color", TRUE,
                                         DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                         NULL);

    desktop_agnostic_config_client_bind (priv->client,
                                         AWN_GROUP_THEME, AWN_THEME_OUTLINE_COLOR,
                                         object, "outline-color", TRUE,
                                         DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                         NULL);
}
コード例 #3
0
ファイル: util.c プロジェクト: micove/awn-extras
void
do_bridge ( AwnApplet * applet,GObject *object,
           gchar * group, gchar * key_name,gchar * prop_name )
{
  DesktopAgnosticConfigClient * client;
  DesktopAgnosticConfigClient * client_baseconf;
  gchar * base_prop_name = g_strdup_printf( "%s-base",prop_name);
  GError *error = NULL;
  
  g_object_get (applet,
                "client-baseconf", &client_baseconf,
                NULL);
  g_object_get (object,
                "client", &client,
                NULL);
  desktop_agnostic_config_client_bind (client,
                                       group, key_name,
                                       object, prop_name, FALSE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_INSTANCE,
                                       &error);

  if (error)
  {
    goto do_bridge_error;
  }

  desktop_agnostic_config_client_bind (client_baseconf,
                                       group, key_name,
                                       object, base_prop_name, FALSE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_INSTANCE,
                                       &error);
do_bridge_error:

  g_free (base_prop_name);

  if (error)
  {
    g_critical ("Config Bridge Error: %s", error->message);
    g_error_free (error);
  }
  
}
コード例 #4
0
static void
task_manager_dialog_constructed (GObject *object)
{
  TaskManagerDialogPrivate * priv = GET_PRIVATE (object);
  GError             *error=NULL;
  
  G_OBJECT_CLASS (task_manager_dialog_parent_class)->constructed (object);

  priv->client = awn_config_get_default_for_applet (priv->applet, &error);
  if (error)
  {
    g_debug ("%s: %s",__func__,error->message);
    g_error_free (error);
    error=NULL;
  }
  desktop_agnostic_config_client_bind (priv->client,
                                       DESKTOP_AGNOSTIC_CONFIG_GROUP_DEFAULT,
                                       "dialog_mode",
                                       object, "dialog mode", TRUE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                       NULL);

  desktop_agnostic_config_client_bind (priv->client,
                                       DESKTOP_AGNOSTIC_CONFIG_GROUP_DEFAULT,
                                       "dialog_scale",
                                       object, "dialog scale", TRUE,
                                       DESKTOP_AGNOSTIC_CONFIG_BIND_METHOD_FALLBACK,
                                       NULL);
  priv->children = NULL;
  priv->main_box = gtk_vbox_new (FALSE,3);
  priv->items_box = gtk_hbox_new (FALSE,3);
  priv->current_dialog_mode = priv->dialog_mode;
  gtk_container_add (GTK_CONTAINER (priv->main_box),priv->items_box);
  gtk_container_add (GTK_CONTAINER (object),priv->main_box);
  gtk_widget_show_all (priv->main_box);

  task_manager_dialog_analyze_wm (TASK_MANAGER_DIALOG(object));
  priv->wm_change_id = g_signal_connect_swapped (wnck_screen_get_default(),"window-manager-changed",
                            G_CALLBACK(task_manager_dialog_analyze_wm),object);
  
}