rofi 1.7.5
|
#include "config.h"
#include <errno.h>
#include <gmodule.h>
#include <locale.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sysexits.h>
#include <time.h>
#include <unistd.h>
#include <xcb/xcb.h>
#include <glib-unix.h>
#include <libgwater-xcb.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"
#include "mode-private.h"
Go to the source code of this file.
Macros | |
#define | G_LOG_DOMAIN "Rofi" |
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) |
static int | mode_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 | help (G_GNUC_UNUSED int argc, char **argv) |
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 | 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) |
Variables | |
char * | pidfile = NULL |
const char * | cache_dir = 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 |
GMainLoop * | main_loop = NULL |
static int | dmenu_mode = FALSE |
int | return_code = EXIT_SUCCESS |
|
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 648 of file rofi.c.
References mode_set_config(), modes, num_modes, rofi_collect_modes_search(), rofi_collectmodes_add(), script_mode_is_valid(), and script_mode_parse_setup().
Referenced by setup_modes(), and startup().
|
static |
Cleanup globally allocated memory.
Definition at line 473 of file rofi.c.
References bindings, 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 main().
|
static |
Definition at line 330 of file rofi.c.
References color_bold, color_green, color_red, color_reset, config_path, display_dump_monitor_layout(), find_arg(), print_dmenu_options(), print_list_of_modes(), print_main_application_options(), print_options(), rofi_theme_print_parsed_files(), and script_user_list().
Referenced by main().
|
static |
Definition at line 407 of file rofi.c.
References color_green, color_red, color_reset, config, and Settings::modes.
Referenced by startup().
|
static |
Definition at line 420 of file rofi.c.
References available_modes, modes, rofi_mode::name, num_available_modes, num_modes, and rofi_add_error_message().
Referenced by setup_modes(), and startup().
|
static |
Definition at line 437 of file rofi.c.
References available_modes, ERROR_MSG_MARKUP, modes, num_available_modes, num_modes, rofi_set_return_code(), and rofi_view_error_dialog().
Referenced by 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 814 of file rofi.c.
References Settings::benchmark_ui, bindings, cache_dir, Settings::cache_dir, 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_late_setup(), display_setup(), dmenu_mode, find_arg(), find_arg_str(), find_arg_strv(), find_arg_uint(), help(), list_of_error_msgs, main_loop, main_loop_signal_handler_int(), Settings::monitor, parse_keys_abe(), pidfile, record(), return_code, rofi_collect_modes(), rofi_collectmodes_setup(), rofi_configuration, rofi_custom_log_function(), rofi_expand_path(), rofi_icon_fetcher_init(), 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_view_workers_initialize(), setup_abe(), setup_modes(), startup(), teardown(), textbox_setup(), Settings::theme, TICK, TICK_N, TIMINGS_START, and xrm_String.
|
static |
|
static |
name | Name of the mode to lookup. |
Find the index of the mode with name.
Definition at line 158 of file rofi.c.
References mode_get_name(), modes, and num_modes.
Referenced by startup().
|
static |
Help function.
Definition at line 278 of file rofi.c.
References available_modes, color_green, color_red, color_reset, modes, rofi_mode::name, num_available_modes, and num_modes.
Referenced by help().
|
static |
Definition at line 292 of file rofi.c.
References print_help_msg().
Referenced by help().
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 217 of file rofi.c.
References curr_mode, MODE_EXIT, mode_result(), modes, NEXT_DIALOG, num_modes, PREVIOUS_DIALOG, 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 rofi_view_error_dialog(), and run_mode_index().
|
static |
Definition at line 795 of file rofi.c.
References rofi_capture_screenshot().
Referenced by main().
|
static |
Find all available modes.
Definition at line 586 of file rofi.c.
References combi_mode, config, file_browser_mode, find_arg(), find_arg_str(), help_keys_mode, Settings::plugin_path, rofi_collectmodes_add(), rofi_collectmodes_dir(), run_mode, script_mode_gather_user_scripts(), and ssh_mode.
Referenced by main().
|
static |
mode | Add mode to list. |
Definition at line 529 of file rofi.c.
References available_modes, rofi_mode::name, num_available_modes, and rofi_collect_modes_search().
Referenced by add_mode(), rofi_collect_modes(), and rofi_collectmodes_dir().
|
static |
Definition at line 625 of file rofi.c.
References available_modes, mode_free(), rofi_mode::module, and num_available_modes.
Referenced by cleanup().
|
static |
Definition at line 542 of file rofi.c.
References ABI_VERSION, rofi_mode::abi_version, rofi_mode::module, and rofi_collectmodes_add().
Referenced by rofi_collect_modes().
|
static |
Setup configuration for config.
Definition at line 620 of file rofi.c.
References available_modes, mode_set_config(), and num_available_modes.
Referenced by main().
|
static |
int rofi_theme_rasi_validate | ( | const char * | filename | ) |
filename | The file to validate. |
Definition at line 1148 of file rofi.c.
References list_of_error_msgs, list_of_warning_msgs, rofi_theme_parse_file(), and rofi_theme_parse_process_links().
Referenced by main().
|
static |
Definition at line 183 of file rofi.c.
References config, curr_mode, ERROR_MSG_MARKUP, Settings::filter, find_arg(), find_arg_uint(), main_loop, mode_init(), modes, num_modes, process_result(), rofi_view_create(), rofi_view_error_dialog(), rofi_view_get_active(), rofi_view_set_active(), and rofi_view_set_selected_line().
Referenced by startup().
|
static |
Definition at line 670 of file rofi.c.
References add_mode(), config, help_print_mode_not_found(), and Settings::modes.
Referenced by main().
|
static |
Definition at line 698 of file rofi.c.
References ERROR_MSG_MARKUP, list_of_error_msgs, rofi_set_return_code(), and rofi_view_error_dialog().
Referenced by startup().
|
static |
Definition at line 718 of file rofi.c.
References __create_window(), add_mode(), config, config_sanity_check(), dmenu_mode, 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, mode_lookup(), num_modes, rofi_set_return_code(), rofi_view_error_dialog(), run_mode_index(), show_error_dialog(), Settings::sidebar_mode, and TICK_N.
Referenced by main().
|
static |
Teardown the gui.
Definition at line 170 of file rofi.c.
References display_early_cleanup(), remove_pid_file(), rofi_view_cleanup(), and textbox_cleanup().
Referenced by main().
Mode** available_modes = NULL |
List of (possibly uninitialized) modes
Definition at line 124 of file rofi.c.
Referenced by help_print_mode_not_found(), help_print_no_arguments(), 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 133 of file rofi.c.
Referenced by cleanup(), display_setup(), main(), and parse_keys_abe().
G_MODULE_EXPORT char* config_path = NULL |
unsigned int curr_mode = 0 |
Current selected mode
Definition at line 130 of file rofi.c.
Referenced by process_result(), and run_mode_index().
|
static |
GList * list_of_error_msgs = NULL |
List of error messages.
Definition at line 86 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 |
Definition at line 87 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 136 of file rofi.c.
Referenced by cleanup(), display_setup(), main(), main_loop_signal_handler_int(), rofi_quit_main_loop(), run_mode_index(), and startup().
Mode** modes = NULL |
Path to the configuration file in the new format Array holding all activated modes.
Definition at line 121 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 126 of file rofi.c.
Referenced by help_print_mode_not_found(), help_print_no_arguments(), 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 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_num_enabled_modes(), run_mode_index(), and startup().
char* pidfile = NULL |
Location of pidfile for this instance.
Definition at line 81 of file rofi.c.
Referenced by create_pid_file(), and main().
int return_code = EXIT_SUCCESS |
Rofi's return code
Definition at line 141 of file rofi.c.
Referenced by main(), and rofi_set_return_code().