rofi  1.5.1
xrmoptions.c File Reference
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <xcb/xcb.h>
#include <xcb/xkb.h>
#include <xcb/xcb_xrm.h>
#include <glib.h>
#include "xcb.h"
#include "xcb-internal.h"
#include "rofi.h"
#include "xrmoptions.h"
#include "settings.h"
#include "helper.h"
#include "rofi-types.h"
Include dependency graph for xrmoptions.c:

Go to the source code of this file.

Data Structures

struct  XrmOption
 

Enumerations

enum  ConfigSource {
  CONFIG_DEFAULT = 0, CONFIG_XRESOURCES = 1, CONFIG_FILE = 2, CONFIG_FILE_THEME = 3,
  CONFIG_CMDLINE = 4
}
 

Functions

void config_parser_add_option (XrmOptionType type, const char *key, void **value, const char *comment)
 
static void config_parser_set (XrmOption *option, char *xrmValue, enum ConfigSource source)
 
static void __config_parse_xresource_options (xcb_xrm_database_t *xDB, enum ConfigSource source)
 
static void __config_parse_xresource_options_dynamic (xcb_xrm_database_t *xDB, enum ConfigSource source)
 
void config_parse_xresource_options (xcb_stuff *xcb)
 
void config_parse_xresource_options_file (const char *filename)
 
static void config_parse_cmd_option (XrmOption *option)
 
void config_parse_cmd_options (void)
 
static gboolean __config_parser_set_property (XrmOption *option, const Property *p, char **error)
 
gboolean config_parse_set_property (const Property *p, char **error)
 Set config option. More...
 
void config_xresource_free (void)
 
static void xresource_dump_entry (const char *namePrefix, XrmOption *option)
 
void config_parse_xresource_dump (void)
 
static void config_parse_dump_config_option (XrmOption *option)
 
void config_parse_dump_config_rasi_format (gboolean changes)
 Dump configuration in rasi format. More...
 
static void print_option_string (XrmOption *xo, int is_term)
 
static void print_option_number (XrmOption *xo, int is_term)
 
static void print_option_snumber (XrmOption *xo, int is_term)
 
static void print_option_char (XrmOption *xo, int is_term)
 
static void print_option_boolean (XrmOption *xo, int is_term)
 
static void print_option (XrmOption *xo, int is_term)
 
void print_options (void)
 
void print_help_msg (const char *option, const char *type, const char *text, const char *def, int isatty)
 
static char * config_parser_return_display_help_entry (XrmOption *option, size_t l)
 
char ** config_parser_return_display_help (unsigned int *length)
 

Variables

const char *const ConfigSourceStr []
 
static XrmOption xrmOptions []
 
XrmOptionextra_options = NULL
 
unsigned int num_extra_options = 0
 

Enumeration Type Documentation

◆ ConfigSource

Enumerator of different sources of configuration.

Enumerator
CONFIG_DEFAULT 
CONFIG_XRESOURCES 
CONFIG_FILE 
CONFIG_FILE_THEME 
CONFIG_CMDLINE 

Definition at line 54 of file xrmoptions.c.

Function Documentation

◆ __config_parse_xresource_options()

static void __config_parse_xresource_options ( xcb_xrm_database_t *  xDB,
enum ConfigSource  source 
)
static

Definition at line 278 of file xrmoptions.c.

References config_parser_set(), and xrmOptions.

Referenced by config_parse_xresource_options(), and config_parse_xresource_options_file().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ __config_parse_xresource_options_dynamic()

static void __config_parse_xresource_options_dynamic ( xcb_xrm_database_t *  xDB,
enum ConfigSource  source 
)
static

Definition at line 296 of file xrmoptions.c.

References config_parser_set(), extra_options, and num_extra_options.

Referenced by config_parse_xresource_options(), and config_parse_xresource_options_file().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ __config_parser_set_property()

static gboolean __config_parser_set_property ( XrmOption option,
const Property p,
char **  error 
)
static

◆ config_parse_cmd_option()

static void config_parse_cmd_option ( XrmOption option)
static

Parse an option from the commandline vector.

Definition at line 342 of file xrmoptions.c.

References XrmOption::charc, CONFIG_CMDLINE, find_arg(), find_arg_char(), find_arg_int(), find_arg_str(), find_arg_uint(), XrmOption::mem, XrmOption::name, XrmOption::num, XrmOption::snum, XrmOption::source, XrmOption::str, XrmOption::type, XrmOption::value, xrm_Boolean, xrm_Char, xrm_Number, xrm_SNumber, and xrm_String.

Referenced by config_parse_cmd_options().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_parse_dump_config_option()

static void config_parse_dump_config_option ( XrmOption option)
static

◆ config_parser_return_display_help_entry()

static char* config_parser_return_display_help_entry ( XrmOption option,
size_t  l 
)
static

◆ config_parser_set()

static void config_parser_set ( XrmOption option,
char *  xrmValue,
enum ConfigSource  source 
)
static

◆ print_option()

static void print_option ( XrmOption xo,
int  is_term 
)
static

Definition at line 703 of file xrmoptions.c.

References print_option_boolean(), print_option_char(), print_option_number(), print_option_snumber(), print_option_string(), XrmOption::type, xrm_Boolean, xrm_Char, xrm_Number, xrm_SNumber, and xrm_String.

Referenced by print_options().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print_option_boolean()

static void print_option_boolean ( XrmOption xo,
int  is_term 
)
static

Definition at line 688 of file xrmoptions.c.

References color_bold, color_green, color_italic, color_reset, XrmOption::comment, ConfigSourceStr, XrmOption::name, XrmOption::snum, XrmOption::source, and XrmOption::value.

Referenced by print_option().

Here is the caller graph for this function:

◆ print_option_char()

static void print_option_char ( XrmOption xo,
int  is_term 
)
static

Definition at line 674 of file xrmoptions.c.

References XrmOption::charc, color_bold, color_green, color_italic, color_reset, XrmOption::comment, ConfigSourceStr, XrmOption::name, XrmOption::source, and XrmOption::value.

Referenced by print_option().

Here is the caller graph for this function:

◆ print_option_number()

static void print_option_number ( XrmOption xo,
int  is_term 
)
static

Definition at line 646 of file xrmoptions.c.

References color_bold, color_green, color_italic, color_reset, XrmOption::comment, ConfigSourceStr, XrmOption::name, XrmOption::num, XrmOption::source, and XrmOption::value.

Referenced by print_option().

Here is the caller graph for this function:

◆ print_option_snumber()

static void print_option_snumber ( XrmOption xo,
int  is_term 
)
static

Definition at line 660 of file xrmoptions.c.

References color_bold, color_green, color_italic, color_reset, XrmOption::comment, ConfigSourceStr, XrmOption::name, XrmOption::snum, XrmOption::source, and XrmOption::value.

Referenced by print_option().

Here is the caller graph for this function:

◆ print_option_string()

static void print_option_string ( XrmOption xo,
int  is_term 
)
static

Definition at line 632 of file xrmoptions.c.

References color_bold, color_green, color_italic, color_reset, XrmOption::comment, ConfigSourceStr, XrmOption::name, XrmOption::source, XrmOption::str, and XrmOption::value.

Referenced by print_option().

Here is the caller graph for this function:

◆ xresource_dump_entry()

static void xresource_dump_entry ( const char *  namePrefix,
XrmOption option 
)
static

Variable Documentation

◆ ConfigSourceStr

const char* const ConfigSourceStr[]
Initial value:
= {
"Default",
"XResources",
"File",
"Rasi File",
"Commandline",
}

Different sources of configuration.

Definition at line 46 of file xrmoptions.c.

Referenced by print_option_boolean(), print_option_char(), print_option_number(), print_option_snumber(), print_option_string(), and xresource_dump_entry().

◆ extra_options

◆ num_extra_options

◆ xrmOptions

XrmOption xrmOptions[]
static

Map X resource and commandline options to internal options Currently supports string, boolean and number (signed and unsigned).

Definition at line 83 of file xrmoptions.c.

Referenced by __config_parse_xresource_options(), config_parse_cmd_options(), config_parse_dump_config_rasi_format(), config_parse_set_property(), config_parse_xresource_dump(), config_parser_return_display_help(), config_xresource_free(), and print_options().