Ejemplo n.º 1
0
/* GObject init a VerveDb instance */
static void 
verve_db_init (VerveDb *db)
{
  /* Init hash tables */
  db->simple_commands = g_hash_table_new (g_str_hash, g_str_equal);
  db->script_commands = g_hash_table_new (g_str_hash, g_str_equal);

  /* Create resource path pattern for .desktop files */
  gchar *filename_pattern = g_build_filename (g_get_application_name (), "*.desktop", NULL);
  
  /* Determine available .desktop files */
  gchar **filenames = xfce_resource_match (XFCE_RESOURCE_CONFIG, filename_pattern, TRUE);
  
  g_free (filename_pattern);
  
  if (G_LIKELY (filenames != NULL))
  {
    int i = 0;
    
    /* Iterate over filenames */
    gchar *filename = filenames[i];
    while (G_LIKELY (filename != NULL))
    {
      /* Load command structure */
      _verve_db_load_rc (db, filename);
      
      /* Step over to the next filename */
      filename = filenames[++i];
    }
  }
  
  /** Free .desktop filenames */
  g_strfreev (filenames);
}
Ejemplo n.º 2
0
static void
accessibility_settings_at (GtkToggleButton *button,
                           GtkBuilder      *builder)
{
  AtkObject  *atkobj;
  GObject    *info_logout;
  GObject    *no_atspi;
  gchar     **atspi;

  info_logout = gtk_builder_get_object (builder, "info-logout");
  no_atspi = gtk_builder_get_object (builder, "info-no-at");

  gtk_widget_hide (GTK_WIDGET (info_logout));
  gtk_widget_hide (GTK_WIDGET (no_atspi));

  if (gtk_toggle_button_get_active (button))
    {
      atspi = xfce_resource_match (XFCE_RESOURCE_CONFIG, "autostart/at-spi-*.desktop", TRUE);
      atkobj = gtk_widget_get_accessible (GTK_WIDGET (button));

      if (atspi == NULL || g_strv_length (atspi) == 0)
        gtk_widget_show (GTK_WIDGET (no_atspi));
      else if (!GTK_IS_ACCESSIBLE (atkobj))
        gtk_widget_show (GTK_WIDGET (info_logout));

      g_strfreev (atspi);
    }
}
Ejemplo n.º 3
0
static void
xfae_model_init (XfaeModel *model)
{
  XfaeItem *item;
  gchar   **files;
  guint     n;

  model->stamp = g_random_int ();

  files = xfce_resource_match (XFCE_RESOURCE_CONFIG, "autostart/*.desktop", TRUE);
  for (n = 0; files[n] != NULL; ++n)
    {
      item = xfae_item_new (files[n]);
      if (G_LIKELY (item != NULL))
        model->items = g_list_prepend (model->items, item);
    }
  g_strfreev (files);

  model->items = g_list_sort (model->items, xfae_model_sort_items);
}