rofi
1.7.0
|
Go to the source code of this file.
Data Structures | |
struct | ThemeMedia |
struct | ThemeWidget |
Typedefs | |
typedef struct ThemeMedia | ThemeMedia |
typedef struct ThemeWidget | ThemeWidget |
Variables | |
ThemeWidget * | rofi_theme |
ThemeWidget * | rofi_configuration |
typedef struct ThemeMedia ThemeMedia |
Theme Media description.
typedef struct ThemeWidget ThemeWidget |
enum ThemeMediaType |
Describe the media constraint type.
void distance_get_linestyle | ( | RofiDistance | d, |
cairo_t * | draw | ||
) |
d | The distance handle. |
draw | The cairo drawable. |
Set linestyle.
Definition at line 1286 of file theme.c.
References ROFI_HL_DASH, and RofiDistance::style.
Referenced by widget_draw().
int distance_get_pixel | ( | RofiDistance | d, |
RofiOrientation | ori | ||
) |
d | The distance handle. |
ori | The orientation. |
Convert RofiDistance into pixels.
Definition at line 1282 of file theme.c.
References RofiDistance::base, and distance_unit_get_pixel().
Referenced by barview_draw(), box_get_desired_height(), box_get_desired_width(), hori_calculate_size(), icon_create(), listview_draw(), listview_get_desired_height(), listview_resize(), rofi_view_calculate_height(), rofi_view_calculate_window_position(), rofi_view_calculate_window_width(), scrollbar_create(), textbox_get_desired_width(), vert_calculate_size(), widget_draw(), widget_padding_get_bottom(), widget_padding_get_left(), widget_padding_get_right(), and widget_padding_get_top().
ThemeWidget* rofi_config_find_widget | ( | const char * | name, |
const char * | state, | ||
gboolean | exact | ||
) |
name | The name of the element to find. |
state | The state of the element. |
exact | If the match should be exact, or parent can be included. |
Find the configuration element. If not exact, the closest specified element is returned.
Definition at line 732 of file theme.c.
References rofi_configuration, rofi_theme_find(), and rofi_theme_find_single().
Referenced by combi_mgrv(), file_browser_mode_init_config(), file_browser_mode_init_current_dir(), get_apps(), mode_get_display_name(), rofi_view_set_user_timeout(), and rofi_view_user_timeout().
ThemeWidget* rofi_theme_find_or_create_name | ( | ThemeWidget * | base, |
const char * | name | ||
) |
base | Handle to the current level in the theme. |
name | Name of the new element. |
Create a new element in the theme structure.
Definition at line 61 of file theme.c.
References ThemeWidget::name, ThemeWidget::num_widgets, ThemeWidget::parent, and ThemeWidget::widgets.
Referenced by dmenu_mode_init(), rofi_theme_parse_merge_widgets(), and rofi_theme_parse_merge_widgets_no_media().
Property* rofi_theme_find_property | ( | ThemeWidget * | widget, |
PropertyType | type, | ||
const char * | property, | ||
gboolean | exact | ||
) |
widget | The widget to find the property on. |
type | The PropertyType to find. |
property | The property to find. |
exact | If the property should only be found on this widget, or on parents if not found. |
Find the property on the widget. If not exact, the parents are searched recursively until match is found.
Definition at line 694 of file theme.c.
References _PropertyValue::link, _widget::name, P_INHERIT, P_INTEGER, P_LINK, P_PADDING, _widget::parent, PropertyTypeName, _PropertyValue::ref, rofi_theme_resolve_link_property(), Property::type, and Property::value.
Referenced by combi_mgrv(), file_browser_mode_init_config(), file_browser_mode_init_current_dir(), get_apps(), mode_get_display_name(), rofi_theme_get_boolean(), rofi_theme_get_boolean_inside(), rofi_theme_get_color(), rofi_theme_get_color_inside(), rofi_theme_get_cursor_type(), rofi_theme_get_cursor_type_inside(), rofi_theme_get_distance(), rofi_theme_get_distance_inside(), rofi_theme_get_double(), rofi_theme_get_double_inside(), rofi_theme_get_highlight(), rofi_theme_get_highlight_inside(), rofi_theme_get_image(), rofi_theme_get_image_inside(), rofi_theme_get_integer(), rofi_theme_get_integer_inside(), rofi_theme_get_list(), rofi_theme_get_list_inside(), rofi_theme_get_orientation(), rofi_theme_get_orientation_inside(), rofi_theme_get_padding(), rofi_theme_get_padding_inside(), rofi_theme_get_position(), rofi_theme_get_position_inside(), rofi_theme_get_string(), rofi_theme_get_string_inside(), rofi_theme_has_property(), rofi_theme_has_property_inside(), rofi_view_set_user_timeout(), and rofi_view_user_timeout().
ThemeWidget* rofi_theme_find_widget | ( | const char * | name, |
const char * | state, | ||
gboolean | exact | ||
) |
Low-level functions. These can be used by non-widgets to obtain values.
name | The name of the element to find. |
state | The state of the element. |
exact | If the match should be exact, or parent can be included. |
Find the theme element. If not exact, the closest specified element is returned.
Definition at line 740 of file theme.c.
References rofi_theme, rofi_theme_find(), and rofi_theme_find_single().
Referenced by rofi_theme_get_boolean(), rofi_theme_get_boolean_inside(), rofi_theme_get_color(), rofi_theme_get_color_inside(), rofi_theme_get_cursor_type(), rofi_theme_get_cursor_type_inside(), rofi_theme_get_distance(), rofi_theme_get_distance_inside(), rofi_theme_get_double(), rofi_theme_get_double_inside(), rofi_theme_get_highlight(), rofi_theme_get_highlight_inside(), rofi_theme_get_image(), rofi_theme_get_image_inside(), rofi_theme_get_integer(), rofi_theme_get_integer_inside(), rofi_theme_get_list(), rofi_theme_get_list_inside(), rofi_theme_get_orientation(), rofi_theme_get_orientation_inside(), rofi_theme_get_padding(), rofi_theme_get_padding_inside(), rofi_theme_get_position(), rofi_theme_get_position_inside(), rofi_theme_get_string(), rofi_theme_get_string_inside(), rofi_theme_has_property(), and rofi_theme_has_property_inside().
void rofi_theme_free | ( | ThemeWidget * | widget | ) |
widget | Free the widget and alll children. |
Definition at line 216 of file theme.c.
References _widget::name.
Referenced by cleanup(), main(), and rofi_theme_reset().
int rofi_theme_get_boolean | ( | const widget * | widget, |
const char * | property, | ||
int | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the boolean of the widget.
Definition at line 856 of file theme.c.
References _widget::name, P_BOOLEAN, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_boolean_inside(), and _widget::state.
Referenced by __create_window(), box_add(), icon_create(), listview_create(), textbox_create(), and widget_init().
void rofi_theme_get_color | ( | const widget * | widget, |
const char * | property, | ||
cairo_t * | d | ||
) |
widget | The widget to query |
property | The property to query. |
d | The drawable to apply color. |
Obtain the color of the widget and applies this to the drawable d.
Definition at line 996 of file theme.c.
References _widget::name, P_COLOR, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_color_inside(), and _widget::state.
Referenced by scrollbar_draw(), textbox_draw(), and widget_draw().
RofiCursorType rofi_theme_get_cursor_type | ( | const widget * | widget, |
const char * | property, | ||
RofiCursorType | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the cursor indicated by property of the widget.
Definition at line 913 of file theme.c.
References _widget::name, P_CURSOR, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_cursor_type_inside(), and _widget::state.
Referenced by widget_init().
RofiDistance rofi_theme_get_distance | ( | const widget * | widget, |
const char * | property, | ||
int | def | ||
) |
Public API
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the distance of the widget.
Definition at line 830 of file theme.c.
References _widget::name, P_PADDING, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_distance_inside(), and _widget::state.
Referenced by box_create(), box_get_desired_width(), icon_create(), listview_create(), rofi_view_calculate_height(), rofi_view_calculate_window_position(), rofi_view_calculate_window_width(), scrollbar_create(), and textbox_get_desired_width().
double rofi_theme_get_double | ( | const widget * | widget, |
const char * | property, | ||
double | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the double of the widget.
Definition at line 969 of file theme.c.
References _widget::name, P_DOUBLE, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_double_inside(), and _widget::state.
Referenced by icon_create(), and textbox_create().
RofiHighlightColorStyle rofi_theme_get_highlight | ( | widget * | widget, |
const char * | property, | ||
RofiHighlightColorStyle | th | ||
) |
widget | The widget to query |
property | The property to query. |
th | The default value. |
Obtain the highlight .
Definition at line 1205 of file theme.c.
References _widget::name, P_HIGHLIGHT, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_highlight_inside(), and _widget::state.
Referenced by update_callback().
gboolean rofi_theme_get_image | ( | const widget * | widget, |
const char * | property, | ||
cairo_t * | d | ||
) |
widget | The widget to query |
property | The property to query. |
d | The drawable to apply color. |
Obtain the image of the widget and applies this to the drawable d.
Definition at line 1107 of file theme.c.
References _widget::name, P_IMAGE, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_image_inside(), and _widget::state.
Referenced by widget_draw().
int rofi_theme_get_integer | ( | const widget * | widget, |
const char * | property, | ||
int | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the integer of the widget.
Definition at line 793 of file theme.c.
References _widget::name, P_INTEGER, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_integer_inside(), and _widget::state.
Referenced by listview_create(), rofi_view_add_widget(), and rofi_view_setup_fake_transparency().
GList* rofi_theme_get_list | ( | const widget * | widget, |
const char * | property, | ||
const char * | defaults | ||
) |
widget | The widget to query |
property | The property to query. |
defaults | The default value. |
Obtain list of elements (strings) of the widget.
Definition at line 1176 of file theme.c.
References _widget::name, P_LIST, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_list_inside(), and _widget::state.
Referenced by listview_add_widget(), listview_create_row(), rofi_view_add_widget(), and rofi_view_create().
RofiOrientation rofi_theme_get_orientation | ( | const widget * | widget, |
const char * | property, | ||
RofiOrientation | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the orientation indicated by property of the widget.
Definition at line 884 of file theme.c.
References _widget::name, P_ORIENTATION, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_orientation_inside(), and _widget::state.
Referenced by box_create(), and listview_create().
RofiPadding rofi_theme_get_padding | ( | const widget * | widget, |
const char * | property, | ||
RofiPadding | pad | ||
) |
widget | The widget to query |
property | The property to query. |
pad | The default value. |
Obtain the padding of the widget.
Definition at line 1142 of file theme.c.
References _widget::name, P_PADDING, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_padding_inside(), and _widget::state.
Referenced by widget_init(), and widget_set_state().
int rofi_theme_get_position | ( | const widget * | widget, |
const char * | property, | ||
int | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the position of the widget.
Definition at line 768 of file theme.c.
References _widget::name, P_POSITION, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_position_inside(), and _widget::state.
Referenced by rofi_view_calculate_window_position().
const char* rofi_theme_get_string | ( | const widget * | widget, |
const char * | property, | ||
const char * | def | ||
) |
widget | The widget to query |
property | The property to query. |
def | The default value. |
Obtain the string of the widget.
Definition at line 941 of file theme.c.
References _widget::name, P_STRING, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_get_string_inside(), and _widget::state.
Referenced by __create_window(), icon_create(), rofi_view_add_widget(), textbox_button_trigger_action(), textbox_create(), and textbox_initialize_font().
gboolean rofi_theme_has_property | ( | const widget * | widget, |
const char * | property | ||
) |
widget | The widget to query |
property | The property to query. |
Check if a rofi theme has a property set.
Definition at line 1494 of file theme.c.
References _widget::name, P_STRING, rofi_theme_find_property(), rofi_theme_find_widget(), rofi_theme_has_property_inside(), and _widget::state.
gboolean rofi_theme_is_empty | ( | void | ) |
Checks if a theme is set, or is empty.
Definition at line 1295 of file theme.c.
References ThemeWidget::num_widgets, ThemeWidget::properties, and rofi_theme.
gboolean rofi_theme_parse_file | ( | const char * | file | ) |
file | filename to parse. |
Parse the input theme file.
Referenced by main(), and rofi_theme_rasi_validate().
ThemeMediaType rofi_theme_parse_media_type | ( | const char * | type | ) |
type | the media type to parse. |
Returns the media type described by type.
Definition at line 1451 of file theme.c.
References THEME_MEDIA_TYPE_INVALID, THEME_MEDIA_TYPE_MAX_ASPECT_RATIO, THEME_MEDIA_TYPE_MAX_HEIGHT, THEME_MEDIA_TYPE_MAX_WIDTH, THEME_MEDIA_TYPE_MIN_ASPECT_RATIO, THEME_MEDIA_TYPE_MIN_HEIGHT, THEME_MEDIA_TYPE_MIN_WIDTH, and THEME_MEDIA_TYPE_MON_ID.
void rofi_theme_parse_merge_widgets | ( | ThemeWidget * | parent, |
ThemeWidget * | child | ||
) |
parent | target theme tree |
child | source theme three |
Merge all the settings from child into parent.
Definition at line 1339 of file theme.c.
References ThemeWidget::media, ThemeWidget::name, ThemeWidget::num_widgets, ThemeWidget::properties, rofi_theme, rofi_theme_find_or_create_name(), rofi_theme_widget_add_properties(), and ThemeWidget::widgets.
char* rofi_theme_parse_prepare_file | ( | const char * | file, |
const char * | parent_file | ||
) |
file | File name to prepare. |
parent_file | Filename of parent file. |
Tries to find full path relative to parent file.
Definition at line 1305 of file theme.c.
References rofi_expand_path().
void rofi_theme_parse_process_conditionals | ( | void | ) |
Process conditionals.
Definition at line 1445 of file theme.c.
References mon, monitor_active(), rofi_theme, and rofi_theme_parse_process_conditionals_int().
Referenced by main().
gboolean rofi_theme_parse_string | ( | const char * | string | ) |
string | to parse. |
Parse the input string in addition to theme file.
Referenced by config_parse_cmd_options(), and main().
void rofi_theme_print | ( | ThemeWidget * | widget | ) |
widget | The widget handle. |
Print out the widget to the commandline.
Definition at line 539 of file theme.c.
References rofi_theme_print_index().
Referenced by main().
void rofi_theme_print_index | ( | ThemeWidget * | widget, |
int | index | ||
) |
widget | The widget handle. |
index | The indenting index. |
Print out the widget to the commandline indented by index.
Definition at line 479 of file theme.c.
References ThemeWidget::media, Property::name, ThemeWidget::name, _widget::name, ThemeWidget::parent, and rofi_theme_print_property_index().
Referenced by config_parse_dump_config_rasi_format(), and rofi_theme_print().
p | The property to free. |
Definition at line 111 of file theme.c.
References RofiPadding::bottom, RofiImage::colors, _PropertyValue::def_value, _PropertyValue::image, RofiPadding::left, _PropertyValue::link, _PropertyValue::list, _PropertyValue::name, Property::name, P_IMAGE, P_LINK, P_LIST, P_PADDING, P_STRING, _PropertyValue::padding, _PropertyValue::ref, RofiPadding::right, rofi_g_list_strdup(), rofi_theme_property_copy_distance(), rofi_theme_property_create(), _PropertyValue::s, RofiPadding::top, Property::type, RofiImage::url, and Property::value.
Referenced by config_parse_set_property(), and rofi_theme_copy_property_int().
RofiDistance rofi_theme_property_copy_distance | ( | RofiDistance const | distance | ) |
distance | The distance object to copy. |
Definition at line 99 of file theme.c.
References RofiDistance::base, RofiDistanceUnit::left, RofiDistanceUnit::right, and rofi_theme_property_copy_distance_unit().
Referenced by rofi_theme_property_copy().
Property* rofi_theme_property_create | ( | PropertyType | type | ) |
type | The type of the property to create. |
Create a theme property of type.
Properties
Definition at line 81 of file theme.c.
References Property::type.
Referenced by dmenu_mode_init(), and rofi_theme_property_copy().
void rofi_theme_property_free | ( | Property * | p | ) |
p | The property to free. |
Free the content of the property.
Definition at line 182 of file theme.c.
References RofiPadding::bottom, RofiImage::colors, _PropertyValue::def_value, _PropertyValue::image, RofiPadding::left, _PropertyValue::link, _PropertyValue::name, Property::name, P_IMAGE, P_LINK, P_PADDING, P_STRING, _PropertyValue::padding, RofiPadding::right, rofi_theme_distance_property_free(), _PropertyValue::s, RofiPadding::top, Property::type, RofiImage::url, and Property::value.
Referenced by config_parse_set_property(), config_xresource_free(), dmenu_mode_init(), and rofi_theme_widget_add_properties().
int rofi_theme_rasi_validate | ( | const char * | filename | ) |
filename | The file to validate. |
Definition at line 1077 of file rofi.c.
References list_of_error_msgs, and rofi_theme_parse_file().
Referenced by main().
void rofi_theme_reset | ( | void | ) |
Reset the current theme.
Definition at line 210 of file theme.c.
References ThemeWidget::name, rofi_theme, and rofi_theme_free().
Referenced by main().
void rofi_theme_widget_add_properties | ( | ThemeWidget * | widget, |
GHashTable * | table | ||
) |
widget | The widget handle. |
table | HashTable containing properties set. |
Merge properties with widgets current property.
Definition at line 605 of file theme.c.
References rofi_theme_copy_property_int(), and rofi_theme_property_free().
Referenced by dmenu_mode_init(), rofi_theme_parse_merge_widgets(), and rofi_theme_parse_merge_widgets_no_media().
|
extern |
Used to store config options.
Definition at line 46 of file xrmoptions.c.
Referenced by cleanup(), config_parse_dump_config_rasi_format(), main(), and rofi_config_find_widget().
|
extern |
Global pointer to the current active theme.
Used to store theme.
Definition at line 90 of file theme.h.
Referenced by cleanup(), dmenu_mode_init(), main(), rofi_theme_find_widget(), rofi_theme_is_empty(), rofi_theme_parse_merge_widgets(), rofi_theme_parse_merge_widgets_no_media(), rofi_theme_parse_process_conditionals(), rofi_theme_parse_process_conditionals_int(), rofi_theme_reset(), and rofi_theme_resolve_link_property().