|
rofi 2.1.0
|
#include "glib.h"#include "config.h"#include <errno.h>#include <gmodule.h>#include <locale.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <sys/types.h>#include <sysexits.h>#include <time.h>#include <unistd.h>#include <glib-unix.h>#include "resources.h"#include "display.h"#include "rofi.h"#include "settings.h"#include "helper.h"#include "mode.h"#include "modes/modes.h"#include "widgets/textbox.h"#include "xrmoptions.h"#include "view-internal.h"#include "view.h"#include "rofi-icon-fetcher.h"#include "theme.h"#include "timings.h"
Go to the source code of this file.
Macros | |
| #define | G_LOG_DOMAIN "Rofi" |
| #define | ROFI_MAX_DMENU_INPUT UINT32_MAX |
Functions | |
| static void | rofi_collectmodes_destroy (void) |
| void | rofi_add_error_message (GString *str) |
| void | rofi_clear_error_messages (void) |
| void | rofi_add_warning_message (GString *str) |
| void | rofi_clear_warning_messages (void) |
| void | process_result (RofiViewState *state) |
| void | rofi_set_return_code (int code) |
| unsigned int | rofi_get_num_enabled_modes (void) |
| const Mode * | rofi_get_mode (unsigned int index) |
| int | mode_lookup (const char *name) |
| static const Mode * | mode_available_lookup (const char *name) |
| static void | teardown (int pfd) |
| static void | run_mode_index (ModeMode mode) |
| static void | print_list_of_modes (int is_term) |
| static void | print_main_application_options (int is_term) |
| static void | print_backend_info (void) |
| static void | help (G_GNUC_UNUSED int argc, char **argv, const gboolean compact) |
| static void | help_print_disabled_mode (const char *mode) |
| static void | help_print_mode_not_found (const char *mode) |
| static void | help_print_no_arguments (void) |
| static void | cleanup (void) |
| Mode * | rofi_collect_modes_search (const char *name) |
| static gboolean | rofi_collectmodes_add (Mode *mode) |
| static void | rofi_collectmodes_dir (const char *base_dir) |
| static void | rofi_collect_modes (void) |
| static void | rofi_collectmodes_setup (void) |
| static int | add_mode (const char *token) |
| static gboolean | setup_modes (void) |
| void | rofi_quit_main_loop (void) |
| static gboolean | main_loop_signal_handler_int (G_GNUC_UNUSED gpointer data) |
| static void | show_error_dialog (void) |
| static gboolean | startup (G_GNUC_UNUSED gpointer data) |
| static gboolean | take_screenshot_quit (G_GNUC_UNUSED void *data) |
| static gboolean | record (G_GNUC_UNUSED void *data) |
| static void | rofi_custom_log_function (const char *log_domain, G_GNUC_UNUSED GLogLevelFlags log_level, const gchar *message, gpointer user_data) |
| int | main (int argc, char *argv[]) |
| int | rofi_theme_rasi_validate (const char *filename) |
| const Mode * | rofi_get_completer (void) |
Variables | |
| char * | pidfile = NULL |
| const char * | cache_dir = NULL |
| char * | cache_dir_alloc = NULL |
| GList * | list_of_error_msgs = NULL |
| GList * | list_of_warning_msgs = NULL |
| G_MODULE_EXPORT char * | config_path = NULL |
| Mode ** | modes = NULL |
| Mode ** | available_modes = NULL |
| unsigned int | num_available_modes = 0 |
| unsigned int | num_modes = 0 |
| unsigned int | curr_mode = 0 |
| NkBindings * | bindings = NULL |
| gboolean | display_setup_success = FALSE |
| GMainLoop * | main_loop = NULL |
| int | rofi_is_in_dmenu_mode = FALSE |
| int | return_code = EXIT_SUCCESS |
| #define ROFI_MAX_DMENU_INPUT UINT32_MAX |
|
static |
Parse the mode string, into internal array of type Mode.
String is split on separator ',' First the three build-in modes are checked: window, run, ssh if that fails, a script-mode is created.
Definition at line 790 of file rofi.c.
References add_mode(), mode_set_config(), modes, num_modes, rofi_collect_modes_search(), rofi_collectmodes_add(), script_mode_is_valid(), and script_mode_parse_setup().
Referenced by add_mode(), setup_modes(), and startup().


|
static |
Cleanup globally allocated memory.
Definition at line 600 of file rofi.c.
References bindings, cache_dir_alloc, cleanup(), config_path, config_xresource_free(), display_cleanup(), main_loop, mode_destroy(), modes, num_modes, rofi_clear_error_messages(), rofi_clear_warning_messages(), rofi_collectmodes_destroy(), rofi_configuration, rofi_icon_fetcher_destroy(), rofi_theme, rofi_theme_free(), rofi_theme_free_parsed_files(), rofi_view_workers_finalize(), script_mode_cleanup(), and TIMINGS_STOP.
Referenced by cleanup(), and main().


|
static |
Print files.
Definition at line 384 of file rofi.c.
References Settings::backend, color_bold, color_green, color_red, color_reset, config, config_path, display_dump_monitor_layout(), display_setup_success, DISPLAY_XCB, find_arg(), help(), print_backend_info(), print_dmenu_options(), print_list_of_modes(), print_main_application_options(), print_options(), rofi_theme_print_parsed_files(), script_user_list(), and x11_helper_get_window_manager().
Referenced by help(), and main().


|
static |
Definition at line 534 of file rofi.c.
References color_green, color_red, color_reset, config, help_print_disabled_mode(), and Settings::modes.
Referenced by help_print_disabled_mode(), and startup().


|
static |
Definition at line 547 of file rofi.c.
References available_modes, help_print_mode_not_found(), mode_get_name(), modes, num_available_modes, num_modes, and rofi_add_error_message().
Referenced by help_print_mode_not_found(), setup_modes(), and startup().


|
static |
Definition at line 564 of file rofi.c.
References available_modes, ERROR_MSG_MARKUP, help_print_no_arguments(), mode_get_name(), modes, num_available_modes, num_modes, rofi_set_return_code(), and rofi_view_error_dialog().
Referenced by help_print_no_arguments(), and startup().


| int main | ( | int | argc, |
| char * | argv[] ) |
| argc | number of input arguments. |
| argv | array of the input arguments. |
Main application entry point.
default configuration
New format.
New format.
dirty hack for dmenu compatibility
Make small commandline changes to the current theme.
Definition at line 989 of file rofi.c.
References abe_list_all_bindings(), Settings::backend, Settings::benchmark_ui, bindings, cache_dir, Settings::cache_dir, cache_dir_alloc, cleanup(), cmd_set_arguments(), color_bold, color_reset, config, config_parse_cmd_options(), config_parse_dump_config_rasi_format(), config_parser_add_option(), config_path, create_pid_file(), display_init(), display_late_setup(), display_scale(), display_setup(), display_setup_success, DISPLAY_WAYLAND, DISPLAY_XCB, find_arg(), find_arg_str(), find_arg_strv(), find_arg_uint(), help(), helper_get_theme_path(), list_of_error_msgs, main(), main_loop, main_loop_signal_handler_int(), Settings::monitor, ThemeWidget::num_widgets, parse_keys_abe(), pidfile, proxy, record(), return_code, rofi_collect_modes(), rofi_collectmodes_setup(), rofi_configuration, rofi_custom_log_function(), rofi_expand_path(), rofi_icon_fetcher_init(), rofi_is_in_dmenu_mode, rofi_theme, rofi_theme_free(), rofi_theme_parse_file(), rofi_theme_parse_process_conditionals(), rofi_theme_parse_process_links(), rofi_theme_parse_string(), rofi_theme_print(), rofi_theme_rasi_validate(), rofi_theme_reset(), rofi_theme_set_disp_scale_func(), rofi_view_workers_initialize(), setup_abe(), setup_modes(), startup(), take_screenshot_quit(), teardown(), textbox_setup(), Settings::theme, TICK, TICK_N, TIMINGS_START, wayland_proxy, xcb_proxy, and xrm_String.
Referenced by main().


|
static |
Definition at line 835 of file rofi.c.
References main_loop, and main_loop_signal_handler_int().
Referenced by main(), and main_loop_signal_handler_int().


|
static |
| name | Name of the mode to lookup. |
Find the index of the mode with name.
Definition at line 176 of file rofi.c.
References available_modes, mode_available_lookup(), mode_get_name(), and num_available_modes.
Referenced by mode_available_lookup(), and rofi_get_completer().


|
static |
Definition at line 360 of file rofi.c.
References Settings::backend, color_bold, color_reset, config, DISPLAY_WAYLAND, DISPLAY_XCB, and print_backend_info().
Referenced by help(), and print_backend_info().


|
static |
Help function.
Definition at line 296 of file rofi.c.
References available_modes, color_green, color_red, color_reset, mode_get_name(), mode_plugin_get_module(), modes, num_available_modes, num_modes, and print_list_of_modes().
Referenced by help(), and print_list_of_modes().


|
static |
Definition at line 314 of file rofi.c.
References print_help_msg(), and print_main_application_options().
Referenced by help(), and print_main_application_options().


| void process_result | ( | RofiViewState * | state | ) |
| state | The Menu Handle |
Check if a finalize function is set, and if sets executes it.
Load in the new mode.
Definition at line 235 of file rofi.c.
References curr_mode, MODE_EXIT, mode_result(), modes, NEXT_DIALOG, num_modes, PREVIOUS_DIALOG, process_result(), RELOAD_DIALOG, RESET_DIALOG, rofi_view_clear_input(), rofi_view_free(), rofi_view_get_return_value(), rofi_view_get_selected_line(), rofi_view_get_user_input(), rofi_view_remove_active(), rofi_view_switch_mode(), RofiViewState::sw, RofiViewState::text, textbox_cursor_end(), and textbox_text().
Referenced by process_result(), rofi_view_error_dialog(), and run_mode_index().


|
static |
|
static |
Find all available modes.
Definition at line 718 of file rofi.c.
References Settings::backend, combi_mode, config, DISPLAY_WAYLAND, DISPLAY_XCB, file_browser_mode, find_arg(), find_arg_str(), help_keys_mode, Settings::plugin_path, recursive_browser_mode, rofi_collect_modes(), rofi_collectmodes_add(), rofi_collectmodes_dir(), run_mode, script_mode_gather_user_scripts(), and ssh_mode.
Referenced by main(), and rofi_collect_modes().


|
static |
| mode | Add mode to list. |
Definition at line 661 of file rofi.c.
References available_modes, mode_get_name(), num_available_modes, rofi_collect_modes_search(), and rofi_collectmodes_add().
Referenced by add_mode(), rofi_collect_modes(), rofi_collectmodes_add(), and rofi_collectmodes_dir().


|
static |
Definition at line 767 of file rofi.c.
References available_modes, mode_free(), mode_plugin_get_module(), num_available_modes, and rofi_collectmodes_destroy().
Referenced by cleanup(), and rofi_collectmodes_destroy().


|
static |
Definition at line 674 of file rofi.c.
References ABI_VERSION, mode_get_abi_version(), mode_plugin_set_module(), rofi_collectmodes_add(), and rofi_collectmodes_dir().
Referenced by rofi_collect_modes(), and rofi_collectmodes_dir().


|
static |
Setup configuration for config.
Definition at line 762 of file rofi.c.
References available_modes, mode_set_config(), num_available_modes, and rofi_collectmodes_setup().
Referenced by main(), and rofi_collectmodes_setup().


|
static |
Definition at line 974 of file rofi.c.
References rofi_custom_log_function().
Referenced by main(), and rofi_custom_log_function().


| int rofi_theme_rasi_validate | ( | const char * | filename | ) |
| filename | The file to validate. |
Definition at line 1393 of file rofi.c.
References list_of_error_msgs, list_of_warning_msgs, rofi_theme_parse_file(), rofi_theme_parse_process_links(), and rofi_theme_rasi_validate().
Referenced by main(), rofi_theme_parse_string(), and rofi_theme_rasi_validate().


|
static |
Definition at line 201 of file rofi.c.
References config, curr_mode, ERROR_MSG_MARKUP, Settings::filter, find_arg(), find_arg_uint(), main_loop, mode_get_name(), mode_init(), modes, num_modes, process_result(), rofi_view_create(), rofi_view_error_dialog(), rofi_view_get_active(), rofi_view_set_active(), rofi_view_set_selected_line(), and run_mode_index().
Referenced by run_mode_index(), and startup().


|
static |
Definition at line 812 of file rofi.c.
References add_mode(), config, help_print_mode_not_found(), Settings::modes, and setup_modes().
Referenced by main(), and setup_modes().


|
static |
Definition at line 840 of file rofi.c.
References ERROR_MSG_MARKUP, list_of_error_msgs, rofi_set_return_code(), rofi_view_error_dialog(), and show_error_dialog().
Referenced by show_error_dialog(), and startup().


|
static |
Definition at line 860 of file rofi.c.
References __create_window(), add_mode(), config, config_sanity_check(), dmenu_mode_dialog(), find_arg(), find_arg_str(), help_print_disabled_mode(), help_print_mode_not_found(), help_print_no_arguments(), list_of_error_msgs, list_of_warning_msgs, main_loop, MENU_NORMAL, MENU_NORMAL_WINDOW, MENU_TRANSIENT_WINDOW, mode_lookup(), num_modes, rofi_is_in_dmenu_mode, ROFI_MAX_DMENU_INPUT, rofi_set_return_code(), rofi_view_error_dialog(), run_mode_index(), show_error_dialog(), Settings::sidebar_mode, startup(), and TICK_N.
Referenced by main(), and startup().


|
static |
Definition at line 965 of file rofi.c.
References rofi_capture_screenshot(), rofi_quit_main_loop(), and take_screenshot_quit().
Referenced by main(), and take_screenshot_quit().


|
static |
Teardown the gui.
Definition at line 188 of file rofi.c.
References display_early_cleanup(), remove_pid_file(), rofi_view_cleanup(), teardown(), and textbox_cleanup().
Referenced by main(), and teardown().


| Mode** available_modes = NULL |
List of (possibly uninitialized) modes
Definition at line 131 of file rofi.c.
Referenced by help_print_mode_not_found(), help_print_no_arguments(), mode_available_lookup(), print_list_of_modes(), rofi_collect_modes_search(), rofi_collectmodes_add(), rofi_collectmodes_destroy(), and rofi_collectmodes_setup().
| NkBindings* bindings = NULL |
Handle to NkBindings object for input devices.
Definition at line 140 of file rofi.c.
Referenced by cleanup(), display_init(), display_setup(), main(), parse_keys_abe(), wayland_display_setup(), and xcb_display_setup().
| char* cache_dir_alloc = NULL |
| G_MODULE_EXPORT char* config_path = NULL |
| unsigned int curr_mode = 0 |
Current selected mode
Definition at line 137 of file rofi.c.
Referenced by process_result(), and run_mode_index().
| gboolean display_setup_success = FALSE |
| GList * list_of_error_msgs = NULL |
List of error messages.
Definition at line 92 of file rofi.c.
Referenced by main(), rofi_add_error_message(), rofi_clear_error_messages(), rofi_theme_rasi_validate(), show_error_dialog(), and startup().
| GList* list_of_warning_msgs = NULL |
List of warning messages for the user.
Definition at line 94 of file rofi.c.
Referenced by rofi_add_warning_message(), rofi_clear_warning_messages(), rofi_theme_rasi_validate(), rofi_view_reload_message_bar(), and startup().
| GMainLoop* main_loop = NULL |
Glib main loop.
Definition at line 146 of file rofi.c.
Referenced by cleanup(), display_init(), display_setup(), main(), main_loop_signal_handler_int(), rofi_quit_main_loop(), run_mode_index(), startup(), wayland_display_setup(), and xcb_display_setup().
| Mode** modes = NULL |
Path to the configuration file in the new format Array holding all activated modes.
Definition at line 128 of file rofi.c.
Referenced by add_mode(), cleanup(), help_print_mode_not_found(), help_print_no_arguments(), mode_lookup(), print_list_of_modes(), process_result(), rofi_get_mode(), and run_mode_index().
| unsigned int num_available_modes = 0 |
Length of num_available_modes
Definition at line 133 of file rofi.c.
Referenced by help_print_mode_not_found(), help_print_no_arguments(), mode_available_lookup(), print_list_of_modes(), rofi_collect_modes_search(), rofi_collectmodes_add(), rofi_collectmodes_destroy(), and rofi_collectmodes_setup().
| unsigned int num_modes = 0 |
Number of activated modes in modes array
Definition at line 135 of file rofi.c.
Referenced by add_mode(), cleanup(), help_print_mode_not_found(), help_print_no_arguments(), mode_lookup(), print_list_of_modes(), process_result(), rofi_get_num_enabled_modes(), run_mode_index(), and startup().
| char* pidfile = NULL |
Location of pidfile for this instance.
Definition at line 84 of file rofi.c.
Referenced by create_pid_file(), and main().
| int return_code = EXIT_SUCCESS |
Rofi's return code
Definition at line 151 of file rofi.c.
Referenced by main(), and rofi_set_return_code().