Freeciv-3.3
Loading...
Searching...
No Matches
Functions | Variables
themes.c File Reference
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <gtk/gtk.h>
#include "fc_dirent.h"
#include "mem.h"
#include "string_vector.h"
#include "themes_common.h"
#include "gui_main.h"
#include "themes_g.h"

Go to the source code of this file.

Functions

void gui_load_theme (const char *directory, const char *theme_name)
 
void gui_clear_theme (void)
 
char ** get_gui_specific_themes_directories (int *count)
 
char ** get_usable_themes_in_directory (const char *directory, int *count)
 

Variables

static GtkCssProvidertheme_provider = NULL
 

Function Documentation

◆ get_gui_specific_themes_directories()

char ** get_gui_specific_themes_directories ( int count)

Each gui has its own themes directories. For gtk3.22 these are:

  • /usr/share/themes
  • ~/.themes Returns an array containing these strings and sets array size in count. The caller is responsible for freeing the array and the paths.

Definition at line 104 of file themes.c.

Referenced by init_themes().

◆ get_usable_themes_in_directory()

char ** get_usable_themes_in_directory ( const char directory,
int count 
)

Return an array of names of usable themes in the given directory. Array size is stored in count. Usable theme for gtk+ is a directory which contains file gtk-3.0/gtk.css. The caller is responsible for freeing the array and the names

Definition at line 149 of file themes.c.

◆ gui_clear_theme()

void gui_clear_theme ( void  )

Clears a theme (sets default system theme)

Definition at line 72 of file themes.c.

Referenced by tileset_use_preferred_theme().

◆ gui_load_theme()

void gui_load_theme ( const char directory,
const char theme_name 
)

Loads a gtk theme directory/theme_name

Definition at line 45 of file themes.c.

Referenced by load_theme().

Variable Documentation

◆ theme_provider

GtkCssProvider* theme_provider = NULL
static

Definition at line 40 of file themes.c.

Referenced by gui_clear_theme(), and gui_load_theme().