Пример #1
0
static void init_styles(BudgiePanel *self)
{
    GtkCssProvider *css_provider;
    GFile *file = NULL;
    GdkScreen *screen;

    screen = gdk_screen_get_default();

    /* Fallback */
    css_provider = gtk_css_provider_new();
    file = g_file_new_for_uri("resource://com/evolve-os/budgie/panel/style.css");
    if (gtk_css_provider_load_from_file(css_provider, file, NULL)) {
        gtk_style_context_add_provider_for_screen(screen,
                GTK_STYLE_PROVIDER(css_provider),
                GTK_STYLE_PROVIDER_PRIORITY_FALLBACK);
    }
    g_object_unref(css_provider);
    g_object_unref(file);

    /* Forced */
    css_provider = gtk_css_provider_new();
    file = g_file_new_for_uri("resource://com/evolve-os/budgie/panel/app.css");
    if (gtk_css_provider_load_from_file(css_provider, file, NULL)) {
        gtk_style_context_add_provider_for_screen(screen,
                GTK_STYLE_PROVIDER(css_provider),
                GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
    }
    g_object_unref(css_provider);
    g_object_unref(file);
}
Пример #2
0
static gboolean
load_css_from_resource (GApplication *application,
                        GtkCssProvider *provider,
                        gboolean theme)
{
  const char *base_path;
  gs_free char *uri;
  gs_unref_object GFile *file;
  gs_free_error GError *error = NULL;

  base_path = g_application_get_resource_base_path (application);

  if (theme) {
    gs_free char *str, *theme_name;

    g_object_get (gtk_settings_get_default (), "gtk-theme-name", &str, NULL);
    theme_name = g_ascii_strdown (str, -1);
    uri = g_strdup_printf ("resource://%s/css/%s/terminal.css", base_path, theme_name);
  } else {
    uri = g_strdup_printf ("resource://%s/css/terminal.css", base_path);
  }

  file = g_file_new_for_uri (uri);
  if (!g_file_query_exists (file, NULL /* cancellable */))
    return FALSE;

  if (!gtk_css_provider_load_from_file (provider, file, &error))
    g_assert_no_error (error);

  return TRUE;
}
Пример #3
0
GtkWidget *factory_build_main_window()
{
  GtkCssProvider *provider;
  GdkScreen *screen;

  GtkWidget *tabbar;
  GtkWidget *window;
  GtkWidget *scroll;
  GtkWidget *vbox;
  GtkWidget *ebox;

  /* load css and apply style */
  provider = gtk_css_provider_new();
  screen = gdk_screen_get_default();
  gtk_css_provider_load_from_file(provider, g_file_new_for_path("style.css"), NULL);
  gtk_style_context_add_provider_for_screen(screen, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER);

  /* setup elements */
  tabbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
  gtk_box_set_homogeneous(GTK_BOX(tabbar), true);
  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "awb");
  gtk_window_set_resizable(GTK_WINDOW(window), false);
  scroll = gtk_scrolled_window_new(NULL, NULL);
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
  ebox = gtk_event_box_new();

  /* link to gui struct */
  awb.gui.tabbar = tabbar;
  awb.gui.window = window;
  awb.gui.scrollarea = scroll;
  awb.gui.inbox = ebox;

  GtkWidget *scrollarea = factory_build_history();

  /* packing */
  gtk_box_pack_start(GTK_BOX(vbox), tabbar, 0, 0, 0);
  gtk_box_pack_start(GTK_BOX(vbox), scroll, 1, 1, 0);
  gtk_box_pack_end(GTK_BOX(vbox), ebox, 0, 0, 0);
  gtk_box_pack_end(GTK_BOX(vbox), factory_build_inputbar(), 0, 0, 0);
  gtk_box_pack_end(GTK_BOX(vbox), scrollarea /*factory_build_history()*/, 0, 0, 0);
  gtk_box_pack_end(GTK_BOX(vbox), factory_build_statusbar(), 0, 0, 0);
  gtk_container_add(GTK_CONTAINER(window), vbox);

  awb_new_tab("about:blank");

  gtk_widget_show_all(awb.gui.window);
  gtk_widget_set_visible(awb.gui.statusbar.ssl, false);
  gtk_widget_set_visible(awb.gui.inputbar.widget, false);
  gtk_widget_set_visible(awb.gui.tabbar, false);
  gtk_widget_set_visible(awb.gui.history, false);

gtk_widget_set_visible(GTK_WIDGET(gtk_scrolled_window_get_vscrollbar(GTK_SCROLLED_WINDOW(scrollarea))), false);

  return window;
}
Пример #4
0
void cc_set_css(GtkWidget*w,gchar*file)
{
    GFile *cssfile=g_file_new_for_path(file);
GtkCssProvider*provider=gtk_css_provider_new();
GtkStyleContext*context=gtk_widget_get_style_context(w);
gtk_style_context_add_provider(context,GTK_STYLE_PROVIDER(provider),GTK_STYLE_PROVIDER_PRIORITY_USER);
gtk_css_provider_load_from_file(GTK_CSS_PROVIDER(provider),cssfile,NULL);
g_object_unref(provider);

}
Пример #5
0
void cc_style_setup()
{

    GtkCssProvider* provider=gtk_css_provider_new();

    GdkScreen*screen=gdk_display_get_default_screen(gdk_display_get_default());

    GFile* cssfile=g_file_new_for_path(STYLE_PATH "image.css");
    gtk_css_provider_load_from_file(GTK_CSS_PROVIDER(provider),cssfile,NULL);

    gtk_style_context_add_provider_for_screen(screen,GTK_STYLE_PROVIDER(provider),
            GTK_STYLE_PROVIDER_PRIORITY_USER);

    g_object_unref(provider);

}
Пример #6
0
/* Set the color of a widget  */
void set_app_style(struct elyapp *app, GtkWidget *widg)
{
    TRACE(stdout, "%s", "Setting application style...");

    /* No style defined */
    if ( access(app->settings.style, F_OK) == -1 )
        return;

    GtkStyleContext *context = gtk_widget_get_style_context(widg);
    GtkCssProvider *css      = gtk_css_provider_new();
    GFile *gfile             = g_file_new_for_path(app->settings.style);
    gtk_css_provider_load_from_file(css, gfile, NULL);
    gtk_style_context_add_class(context, app->settings.class);
    gtk_style_context_add_provider(context, 
                                   GTK_STYLE_PROVIDER(css), 
                                   GTK_STYLE_PROVIDER_PRIORITY_USER);

    TRACE(stdout, "%s", "Done setting color.");
}
Пример #7
0
static void style_window(GtkWidget *window, wconf_t conf)
{
        GdkDisplay      *display;
        GdkScreen       *screen;
        GtkCssProvider  *provider;
        GFile           *file;
        GError          *err;

        gtk_window_set_decorated(GTK_WINDOW(window), FALSE);
        gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
        gtk_window_set_default_size(GTK_WINDOW(window),
                                    SEARCH_WIDTH,
                                    SEARCH_HEIGHT);
        gtk_window_set_title(GTK_WINDOW(window), "Morun");
        gtk_window_set_resizable(GTK_WINDOW(window), FALSE);


        char path[256];
        if (conf.style == NULL)
                snprintf(path, sizeof(path), "%s/.morun.css", getenv("HOME"));
        else
                snprintf(path, sizeof(path), "%s", conf.style);

        file = g_file_new_for_path(path);
        provider = gtk_css_provider_new();
        display = gdk_display_get_default();
        screen = gdk_display_get_default_screen(display);
        err = NULL;

        gtk_style_context_add_provider_for_screen(screen,
                        GTK_STYLE_PROVIDER(provider),
                        GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

        gtk_css_provider_load_from_file(GTK_CSS_PROVIDER(provider), file, &err);

        if (err != NULL) {
                printf("Error occurred while loading style:\n%s\n", err->message);
                exit(1);
        }

        g_object_unref(provider);
}
Пример #8
0
static void
gtk_css_provider_load_from_resource (GtkCssProvider *css_provider,
                                     const gchar *resource_path)
{
  GFile *file;
  gchar *uri, *escaped;

  g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
  g_return_if_fail (resource_path != NULL);

  escaped = g_uri_escape_string (resource_path,
                  G_URI_RESERVED_CHARS_ALLOWED_IN_PATH, FALSE);
  uri = g_strconcat ("resource://", escaped, NULL);
  g_free (escaped);

  file = g_file_new_for_uri (uri);
  g_free (uri);

  gtk_css_provider_load_from_file (css_provider, file, NULL);

  g_object_unref (file);
}
static void
add_style_from_resource (const char *resource)
{
  GtkCssProvider *provider;
  GFile *file;
  char *uri;

  provider = gtk_css_provider_new ();

  uri = g_strconcat ("resource://", resource, NULL);
  file = g_file_new_for_uri (uri);

  if (!gtk_css_provider_load_from_file (provider, file, NULL))
    goto out;

  gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
                                             GTK_STYLE_PROVIDER (provider),
                                             GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

 out:
  g_object_unref (file);
  g_free (uri);
}
Пример #10
0
static GtkCssProvider *
load_css_from_resource (const gchar *filename,
                        gboolean     required)
{
	GError *error = NULL;
	GFile *css_file;
	GtkCssProvider *provider;
	gchar *resource_name;

	resource_name = g_strdup_printf ("resource:///org/gnome/gedit/css/%s", filename);
	css_file = g_file_new_for_uri (resource_name);
	g_free (resource_name);

	if (!required && !g_file_query_exists (css_file, NULL))
	{
		g_object_unref (css_file);
		return NULL;
	}

	provider = gtk_css_provider_new ();

	if (gtk_css_provider_load_from_file (provider, css_file, &error))
	{
		gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
		                                           GTK_STYLE_PROVIDER (provider),
		                                           GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
	}
	else
	{
		g_warning ("Could not load css provider: %s", error->message);
		g_error_free (error);
	}

	g_object_unref (css_file);
	return provider;
}
Пример #11
0
static void
css_setup (struct desktop *desktop)
{
  GtkCssProvider *provider;
  GFile *file;
  GError *error = NULL;

  provider = gtk_css_provider_new ();

  file = g_file_new_for_uri ("resource:///org/raspberry-pi/maynard/style.css");

  if (!gtk_css_provider_load_from_file (provider, file, &error))
    {
      g_warning ("Failed to load CSS file: %s", error->message);
      g_clear_error (&error);
      g_object_unref (file);
      return;
    }

  gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
      GTK_STYLE_PROVIDER (provider), 600);

  g_object_unref (file);
}