|
rofi
1.5.4
|
|
Functions | |
| int | helper_parse_setup (char *string, char ***output, int *length,...) |
| rofi_int_matcher ** | helper_tokenize (const char *input, int case_sensitive) |
| void | helper_tokenize_free (rofi_int_matcher **tokens) |
| int | find_arg_char (const char *const key, char *val) |
| int | find_arg_uint (const char *const key, unsigned int *val) |
| int | find_arg_int (const char *const key, int *val) |
| int | find_arg_str (const char *const key, char **val) |
| const char ** | find_arg_strv (const char *const key) |
| int | find_arg (const char *const key) |
| int | helper_token_match (rofi_int_matcher *const *tokens, const char *input) |
| int | execute_generator (const char *cmd) __attribute__((nonnull)) |
| int | create_pid_file (const char *pidfile) |
| void | remove_pid_file (int fd) |
| int | config_sanity_check (void) |
| char | helper_parse_char (const char *arg) |
| void | cmd_set_arguments (int argc, char **argv) |
| char * | rofi_expand_path (const char *input) |
| unsigned int | levenshtein (const char *needle, const glong needlelen, const char *haystack, const glong haystacklen) |
| char * | rofi_force_utf8 (const gchar *data, ssize_t length) |
| char * | rofi_latin_to_utf8_strdup (const char *input, gssize length) |
| gchar * | rofi_escape_markup (gchar *text) |
| int | rofi_scorer_fuzzy_evaluate (const char *pattern, glong plen, const char *str, glong slen) |
| void cmd_set_arguments | ( | int | argc, |
| char ** | argv | ||
| ) |
| argc | number of arguments. |
| argv | Array of arguments. |
Set the application arguments.
Definition at line 76 of file helper.c.
References stored_argc, and stored_argv.
Referenced by main().

| int config_sanity_check | ( | void | ) |
Do some input validation, especially the first few could break things. It is good to catch them beforehand.
This functions exits the program with 1 when it finds an invalid configuration.
Definition at line 546 of file helper.c.
References config, Settings::element_height, Settings::fullscreen, Settings::location, Settings::matching, Settings::matching_method, Settings::menu_columns, Settings::menu_font, Settings::menu_width, MM_FUZZY, MM_GLOB, MM_NORMAL, MM_REGEX, mon, Settings::monitor, monitor_active(), monitor_position_entries, rofi_add_error_message(), SORT_FZF, SORT_NORMAL, Settings::sorting_method, Settings::sorting_method_enum, and WL_CENTER.
Referenced by startup().


| int create_pid_file | ( | const char * | pidfile | ) |
| int execute_generator | ( | const char * | cmd | ) |
| cmd | The command to execute. |
Execute cmd using config.run_command and outputs the result (stdout) to the opened file descriptor.
Definition at line 458 of file helper.c.
References config, helper_parse_setup(), rofi_view_error_dialog(), and Settings::run_command.
Referenced by get_apps_external().


| int find_arg | ( | const char *const | key | ) |
| key | The key to search for |
Check if key is passed as argument.
Definition at line 267 of file helper.c.
References stored_argc, and stored_argv.
Referenced by config_parse_cmd_option(), display_late_setup(), dmenu_finalize(), dmenu_mode_init(), dmenu_switcher_dialog(), find_arg_char(), find_arg_int(), find_arg_str(), find_arg_uint(), help(), main(), rofi_collect_modi(), and startup().

| int find_arg_char | ( | const char *const | key, |
| char * | val | ||
| ) |
| key | The key to search for |
| val | Pointer to the string to set to the key value (if found) |
Parse command line argument 'key' to character. This one supports character escaping.
Definition at line 371 of file helper.c.
References find_arg(), helper_parse_char(), stored_argc, and stored_argv.
Referenced by config_parse_cmd_option(), and dmenu_mode_init().


| int find_arg_int | ( | const char *const | key, |
| int * | val | ||
| ) |
| key | The key to search for |
| val | Pointer to the string to set to the key value (if found) |
Parse command line argument 'key' to int.
Definition at line 309 of file helper.c.
References find_arg(), stored_argc, and stored_argv.
Referenced by config_parse_cmd_option().


| int find_arg_str | ( | const char *const | key, |
| char ** | val | ||
| ) |
| key | The key to search for |
| val | Pointer to the string to set to the key value (if found) |
Parse command line argument 'key' to string.
Definition at line 277 of file helper.c.
References find_arg(), stored_argc, and stored_argv.
Referenced by config_parse_cmd_option(), display_setup(), dmenu_mode_init(), dmenu_switcher_dialog(), main(), rofi_collect_modi(), and startup().


| const char** find_arg_strv | ( | const char *const | key | ) |
| key | The key to search for |
Parse all command line options 'key' to string vector.
Definition at line 288 of file helper.c.
References stored_argc, and stored_argv.
Referenced by main().

| int find_arg_uint | ( | const char *const | key, |
| unsigned int * | val | ||
| ) |
| key | The key to search for |
| val | Pointer to the string to set to the key value (if found) |
Parse command line argument 'key' to unsigned int.
Definition at line 319 of file helper.c.
References find_arg(), stored_argc, and stored_argv.
Referenced by config_parse_cmd_option(), dmenu_mode_init(), dmenu_switcher_dialog(), and main().


| char helper_parse_char | ( | const char * | arg | ) |
| arg | string to parse. |
Parses a string into an character.
Definition at line 330 of file helper.c.
Referenced by config_parser_set(), and find_arg_char().

| int helper_parse_setup | ( | char * | string, |
| char *** | output, | ||
| int * | length, | ||
| ... | |||
| ) |
| string | The input string. |
| output | Pointer to 2 dimensional array with parsed string. |
| length | Length of 2 dimensional array. |
| ... | Key, value parse. Replaces the string Key with value. |
Parses a string into arguments. While replacing keys with values.
Definition at line 83 of file helper.c.
References config, helper_string_replace_if_exists_v(), rofi_view_error_dialog(), Settings::ssh_client, and Settings::terminal_emulator.
Referenced by execshssh(), execute_generator(), and helper_execute_command().


| int helper_token_match | ( | rofi_int_matcher *const * | tokens, |
| const char * | input | ||
| ) |
| tokens | List of (input) tokens to match. |
| input | The entry to match against. |
Tokenized match, match tokens to line input.
Definition at line 445 of file helper.c.
Referenced by dmenu_switcher_dialog(), dmenu_token_match(), help_keys_token_match(), run_token_match(), script_token_match(), and ssh_token_match().

| rofi_int_matcher** helper_tokenize | ( | const char * | input, |
| int | case_sensitive | ||
| ) |
| input | The input string. |
| case_sensitive | Whether case is significant. |
Tokenize the string on spaces.
Definition at line 228 of file helper.c.
References config, create_regex(), and Settings::tokenize.
Referenced by dmenu_switcher_dialog(), and rofi_view_refilter().


| void helper_tokenize_free | ( | rofi_int_matcher ** | tokens | ) |
| tokens | Array of regex objects |
Frees the array of matching objects.
Definition at line 127 of file helper.c.
Referenced by dmenu_switcher_dialog(), rofi_view_free(), and rofi_view_refilter().

| unsigned int levenshtein | ( | const char * | needle, |
| const glong | needlelen, | ||
| const char * | haystack, | ||
| const glong | haystacklen | ||
| ) |
| needle | The string to find match weight off |
| needlelen | The length of the needle |
| haystack | The string to match against |
| haystacklen | The length of the haystack |
UTF-8 aware levenshtein distance calculation
Definition at line 691 of file helper.c.
References Settings::case_sensitive, config, and MIN3.
Referenced by filter_elements().

| void remove_pid_file | ( | int | fd | ) |
Remove pid file
Definition at line 519 of file helper.c.
Referenced by create_pid_file(), and teardown().

| gchar* rofi_escape_markup | ( | gchar * | text | ) |
| char* rofi_expand_path | ( | const char * | input | ) |
| input | The path to expand |
Expand path, both ~ and ~<user>
Definition at line 658 of file helper.c.
Referenced by dmenu_mode_init(), get_apps(), get_ssh(), helper_get_theme_path(), main(), parse_ssh_config_file(), rofi_theme_parse_prepare_file(), rofi_view_setup_fake_transparency(), and script_switcher_parse_setup().

| char* rofi_force_utf8 | ( | const gchar * | data, |
| ssize_t | length | ||
| ) |
| data | the unvalidated character array holding possible UTF-8 data |
| length | the length of the data array |
Convert string to valid utf-8, replacing invalid parts with replacement character.
Definition at line 742 of file helper.c.
Referenced by read_add().

| char* rofi_latin_to_utf8_strdup | ( | const char * | input, |
| gssize | length | ||
| ) |
| input | the char array holding latin text |
| length | the length of the data array |
Converts latin to UTF-8.
Definition at line 726 of file helper.c.
Referenced by window_get_text_prop().

| int rofi_scorer_fuzzy_evaluate | ( | const char * | pattern, |
| glong | plen, | ||
| const char * | str, | ||
| glong | slen | ||
| ) |
| pattern | The user input to match against. |
| plen | Pattern length. |
| str | The input to match against pattern. |
| slen | Length of str. |
FZF like fuzzy sorting algorithm.
| pattern | The user input to match against. |
| plen | Pattern length. |
| str | The input to match against pattern. |
| slen | Length of str. |
rofi_scorer_fuzzy_evaluate implements a global sequence alignment algorithm to find the maximum accumulated score by aligning pattern to str. It applies when pattern is a subsequence of str.
Scoring criteria
pattern receive bonus because they usually have more significance than the rest. See PATTERN_START_MULTIPLIER/PATTERN_NON_START_MULTIPLIER.str will reduce the score (gap penalty). See GAP_SCORE.The recurrence of the dynamic programming: dp[i][j]: maximum accumulated score by aligning pattern[0..i] to str[0..j] dp[0][j] = leading_gap_penalty(0, j) + score[j] dp[i][j] = max(dp[i-1][j-1] + CONSECUTIVE_SCORE, max(dp[i-1][k] + gap_penalty(k+1, j) + score[j] : k < j))
The first dimension can be suppressed since we do not need a matching scheme, which reduces the space complexity from O(N*M) to O(M)
Definition at line 880 of file helper.c.
References Settings::case_sensitive, config, CONSECUTIVE_SCORE, FUZZY_SCORER_MAX_LENGTH, GAP_SCORE, LEADING_GAP_SCORE, MIN_SCORE, NON_WORD, PATTERN_NON_START_MULTIPLIER, PATTERN_START_MULTIPLIER, rofi_scorer_get_character_class(), and rofi_scorer_get_score_for().
Referenced by filter_elements().

