ELinks 0.18.0
menu.c File Reference
#include <stdlib.h>
#include <string.h>
#include "elinks.h"
#include "bfu/dialog.h"
#include "bfu/leds.h"
#include "bfu/menu.h"
#include "config/options.h"
#include "config/urlhist.h"
#include "document/document.h"
#include "document/view.h"
#include "dialogs/exmode.h"
#include "dialogs/info.h"
#include "dialogs/menu.h"
#include "dialogs/options.h"
#include "intl/libintl.h"
#include "main/event.h"
#include "main/main.h"
#include "main/select.h"
#include "mime/dialogs.h"
#include "mime/mime.h"
#include "network/connection.h"
#include "osdep/osdep.h"
#include "osdep/newwin.h"
#include "protocol/protocol.h"
#include "protocol/uri.h"
#include "session/download.h"
#include "session/history.h"
#include "session/location.h"
#include "session/session.h"
#include "session/task.h"
#include "terminal/tab.h"
#include "terminal/terminal.h"
#include "util/conv.h"
#include "util/file.h"
#include "util/memlist.h"
#include "util/memory.h"
#include "util/string.h"
#include "viewer/action.h"
#include "viewer/text/link.h"
#include "viewer/text/view.h"
Include dependency graph for menu.c:

Macros

#define FILE_COMPLETION_MENU_OFFSET   2
 

Functions

static void menu_url_shortcut (struct terminal *term, void *url_, void *ses_)
 
static void save_url (struct session *ses, char *url)
 
void save_url_as (struct session *ses)
 
static void really_exit_prog (void *ses_)
 
static void dont_exit_prog (void *ses_)
 
void query_exit (struct session *ses)
 
void exit_prog (struct session *ses, int query)
 
static void go_historywards (struct terminal *term, void *target_, void *ses_)
 
static void history_menu_common (struct terminal *term, struct session *ses, int unhist)
 
static void history_menu (struct terminal *term, void *xxx, void *ses_)
 
static void unhistory_menu (struct terminal *term, void *xxx, void *ses_)
 
void tab_menu (struct session *ses, int x, int y, int place_above_cursor)
 
static void do_submenu (struct terminal *term, void *menu_, void *ses_)
 
static void do_file_menu (struct terminal *term, void *xxx, void *ses_)
 
static void do_setup_menu (struct terminal *term, void *xxx, void *ses_)
 
void activate_bfu_technology (struct session *ses, int item)
 
void dialog_goto_url (struct session *ses, char *url)
 
static INIT_INPUT_HISTORY (file_history)
 
void query_file (struct session *ses, struct uri *uri, void *data, void(*std)(void *, char *), void(*cancel)(void *), int interactive)
 
void free_history_lists (void)
 
static void add_cmdline_bool_option (struct string *string, const char *name)
 
void open_uri_in_new_window (struct session *ses, struct uri *uri, struct uri *referrer, term_env_type_T env, cache_mode_T cache_mode, enum task_type task)
 
void send_open_in_new_window (struct terminal *term, const struct open_in_new *open, struct session *ses)
 
void send_open_new_window (struct terminal *term, const struct open_in_new *open, struct session *ses)
 
void open_in_new_window (struct terminal *term, void *func_, void *ses_)
 
void add_new_win_to_menu (struct menu_item **mi, char *text, struct terminal *term)
 
static void do_pass_uri_to_command (struct terminal *term, void *command_, void *xxx)
 
static char * format_command (char *format, struct uri *uri)
 
enum frame_event_status pass_uri_to_command (struct session *ses, struct document_view *doc_view, int which_type)
 
void add_uri_command_to_menu (struct menu_item **mi, pass_uri_type_T type, char *text)
 
static void complete_file_menu (struct terminal *term, int no_elevator, void *data, menu_func_T file_func, menu_func_T dir_func, char *dirname, char *filename)
 
void auto_complete_file (struct terminal *term, int no_elevator, char *path, menu_func_T file_func, menu_func_T dir_func, void *data)
 

Variables

static struct menu_item no_hist_menu []
 
static struct menu_item file_menu11 []
 
static struct menu_item file_menu21 []
 
static struct menu_item file_menu22 []
 
static struct menu_item file_menu3 []
 
static struct menu_item view_menu []
 
static struct menu_item help_menu []
 
static struct menu_item ext_menu []
 
static struct menu_item setup_menu []
 
static struct menu_item setup_menu_anon []
 
static struct menu_item tools_menu []
 
static struct menu_item main_menu []
 
static struct menu_item empty_directory_menu []
 

Macro Definition Documentation

◆ FILE_COMPLETION_MENU_OFFSET

#define FILE_COMPLETION_MENU_OFFSET   2

Function Documentation

◆ activate_bfu_technology()

void activate_bfu_technology ( struct session * ses,
int item )

◆ add_cmdline_bool_option()

static void add_cmdline_bool_option ( struct string * string,
const char * name )
static

◆ add_new_win_to_menu()

void add_new_win_to_menu ( struct menu_item ** mi,
char * text,
struct terminal * term )

◆ add_uri_command_to_menu()

void add_uri_command_to_menu ( struct menu_item ** mi,
pass_uri_type_T type,
char * text )

◆ auto_complete_file()

void auto_complete_file ( struct terminal * term,
int no_elevator,
char * path,
menu_func_T file_func,
menu_func_T dir_func,
void * data )

◆ complete_file_menu()

static void complete_file_menu ( struct terminal * term,
int no_elevator,
void * data,
menu_func_T file_func,
menu_func_T dir_func,
char * dirname,
char * filename )
static

◆ dialog_goto_url()

void dialog_goto_url ( struct session * ses,
char * url )

◆ do_file_menu()

static void do_file_menu ( struct terminal * term,
void * xxx,
void * ses_ )
static

◆ do_pass_uri_to_command()

static void do_pass_uri_to_command ( struct terminal * term,
void * command_,
void * xxx )
static

◆ do_setup_menu()

static void do_setup_menu ( struct terminal * term,
void * xxx,
void * ses_ )
static

◆ do_submenu()

static void do_submenu ( struct terminal * term,
void * menu_,
void * ses_ )
static

◆ dont_exit_prog()

static void dont_exit_prog ( void * ses_)
inlinestatic

◆ exit_prog()

void exit_prog ( struct session * ses,
int query )

◆ format_command()

static char * format_command ( char * format,
struct uri * uri )
static

◆ free_history_lists()

void free_history_lists ( void )

◆ go_historywards()

static void go_historywards ( struct terminal * term,
void * target_,
void * ses_ )
static

◆ history_menu()

static void history_menu ( struct terminal * term,
void * xxx,
void * ses_ )
static

◆ history_menu_common()

static void history_menu_common ( struct terminal * term,
struct session * ses,
int unhist )
static

◆ INIT_INPUT_HISTORY()

static INIT_INPUT_HISTORY ( file_history )
static

◆ menu_url_shortcut()

static void menu_url_shortcut ( struct terminal * term,
void * url_,
void * ses_ )
static

◆ open_in_new_window()

void open_in_new_window ( struct terminal * term,
void * func_,
void * ses_ )

◆ open_uri_in_new_window()

void open_uri_in_new_window ( struct session * ses,
struct uri * uri,
struct uri * referrer,
term_env_type_T env,
cache_mode_T cache_mode,
enum task_type task )

◆ pass_uri_to_command()

enum frame_event_status pass_uri_to_command ( struct session * ses,
struct document_view * doc_view,
int which_type )

◆ query_exit()

void query_exit ( struct session * ses)

◆ query_file()

void query_file ( struct session * ses,
struct uri * uri,
void * data,
void(* std )(void *, char *),
void(* cancel )(void *),
int interactive )

◆ really_exit_prog()

static void really_exit_prog ( void * ses_)
static

◆ save_url()

static void save_url ( struct session * ses,
char * url )
static

◆ save_url_as()

void save_url_as ( struct session * ses)

◆ send_open_in_new_window()

void send_open_in_new_window ( struct terminal * term,
const struct open_in_new * open,
struct session * ses )

◆ send_open_new_window()

void send_open_new_window ( struct terminal * term,
const struct open_in_new * open,
struct session * ses )

◆ tab_menu()

void tab_menu ( struct session * ses,
int x,
int y,
int place_above_cursor )

◆ unhistory_menu()

static void unhistory_menu ( struct terminal * term,
void * xxx,
void * ses_ )
static

Variable Documentation

◆ empty_directory_menu

struct menu_item empty_directory_menu[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("Empty directory"), NULL, ACT_MAIN_NONE, NULL, NULL, NO_SELECT),
}
#define INIT_MENU_ITEM(text, rtext, action_id, func, data, flags)
Definition menu.h:111
#define NULL_MENU_ITEM
Definition menu.h:126
@ NO_SELECT
Definition menu.h:29
#define NULL
Definition explodename.c:35
#define N_(msg)
Definition libintl.h:25

◆ ext_menu

struct menu_item ext_menu[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("~Add"), NULL, ACT_MAIN_NONE, menu_add_ext, NULL, 0),
INIT_MENU_ITEM(N_("~Modify"), NULL, ACT_MAIN_NONE, menu_list_ext, menu_add_ext, SUBMENU),
INIT_MENU_ITEM(N_("~Delete"), NULL, ACT_MAIN_NONE, menu_list_ext, menu_del_ext, SUBMENU),
}
@ SUBMENU
Definition menu.h:27
void menu_list_ext(struct terminal *term, void *fn_, void *xxx)
Definition dialogs.c:147
void menu_del_ext(struct terminal *term, void *fcp, void *xxx2)
Definition dialogs.c:51
void menu_add_ext(struct terminal *term, void *fcp, void *xxx2)
Definition dialogs.c:99

◆ file_menu11

struct menu_item file_menu11[]
static
Initial value:
= {
INIT_MENU_ACTION(N_("Open new ~tab"), ACT_MAIN_OPEN_NEW_TAB),
INIT_MENU_ACTION(N_("Open new tab in backgroun~d"), ACT_MAIN_OPEN_NEW_TAB_IN_BACKGROUND),
INIT_MENU_ACTION(N_("~Go to URL"), ACT_MAIN_GOTO_URL),
INIT_MENU_ACTION(N_("Go ~back"), ACT_MAIN_HISTORY_MOVE_BACK),
INIT_MENU_ACTION(N_("Go ~forward"), ACT_MAIN_HISTORY_MOVE_FORWARD),
INIT_MENU_ITEM(N_("~History"), NULL, ACT_MAIN_NONE, history_menu, NULL, SUBMENU),
INIT_MENU_ITEM(N_("~Unhistory"), NULL, ACT_MAIN_NONE, unhistory_menu, NULL, SUBMENU),
}
#define INIT_MENU_ACTION(text, action_id)
Definition menu.h:123
static void unhistory_menu(struct terminal *term, void *xxx, void *ses_)
Definition menu.c:214
static void history_menu(struct terminal *term, void *xxx, void *ses_)
Definition menu.c:206

◆ file_menu21

struct menu_item file_menu21[]
static
Initial value:
= {
INIT_MENU_ACTION(N_("~Save as"), ACT_MAIN_SAVE_AS),
INIT_MENU_ACTION(N_("Save UR~L as"), ACT_MAIN_SAVE_URL_AS),
INIT_MENU_ACTION(N_("Sa~ve formatted document"), ACT_MAIN_SAVE_FORMATTED),
}
#define BAR_MENU_ITEM
Definition menu.h:129

◆ file_menu22

struct menu_item file_menu22[]
static
Initial value:
= {
INIT_MENU_ACTION(N_("~Kill background connections"), ACT_MAIN_KILL_BACKGROUNDED_CONNECTIONS),
INIT_MENU_ACTION(N_("Flush all ~caches"), ACT_MAIN_CACHE_MINIMIZE),
INIT_MENU_ACTION(N_("Re~move temporary files"), ACT_MAIN_CLEAN_TEMPORARY_FILES),
INIT_MENU_ACTION(N_("Resource ~info"), ACT_MAIN_RESOURCE_INFO),
}

◆ file_menu3

struct menu_item file_menu3[]
static
Initial value:
= {
INIT_MENU_ACTION(N_("E~xit"), ACT_MAIN_QUIT),
}

◆ help_menu

struct menu_item help_menu[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("~ELinks homepage"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_WEBSITE_URL, 0),
INIT_MENU_ITEM(N_("~Documentation"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_DOC_URL, 0),
INIT_MENU_ITEM(N_("~Keys"), NULL, ACT_MAIN_NONE, menu_keys, NULL, 0),
INIT_MENU_ITEM(N_("~Bugs information"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_BUGS_URL, 0),
INIT_MENU_ITEM(N_("ELinks ~GITWeb"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_GITWEB_URL, 0),
INIT_MENU_ITEM(N_("~Copying"), NULL, ACT_MAIN_NONE, menu_copying, NULL, 0),
INIT_MENU_ITEM(N_("Autho~rs"), NULL, ACT_MAIN_NONE, menu_url_shortcut, ELINKS_AUTHORS_URL, 0),
INIT_MENU_ITEM(N_("~About"), NULL, ACT_MAIN_NONE, menu_about, NULL, 0),
}
static void menu_url_shortcut(struct terminal *term, void *url_, void *ses_)
Definition menu.c:53
void menu_about(struct terminal *term, void *xxx, void *xxxx)
Definition info.c:46
void menu_keys(struct terminal *term, void *d_, void *xxx)
Definition info.c:67
void menu_copying(struct terminal *term, void *xxx, void *xxxx)
Definition info.c:147
#define ELINKS_AUTHORS_URL
Definition setup.h:18
#define ELINKS_DOC_URL
Definition setup.h:19
#define ELINKS_BUGS_URL
Definition setup.h:20
#define ELINKS_WEBSITE_URL
Definition setup.h:17
#define ELINKS_GITWEB_URL
Definition setup.h:21

◆ main_menu

struct menu_item main_menu[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("~File"), NULL, ACT_MAIN_NONE, do_file_menu, NULL, FREE_LIST | SUBMENU),
INIT_MENU_ITEM(N_("~View"), NULL, ACT_MAIN_NONE, do_submenu, view_menu, FREE_LIST | SUBMENU),
INIT_MENU_ITEM(N_("~Link"), NULL, ACT_MAIN_NONE, link_menu, NULL, FREE_LIST | SUBMENU),
INIT_MENU_ITEM(N_("~Tools"), NULL, ACT_MAIN_NONE, do_submenu, tools_menu, FREE_LIST | SUBMENU),
INIT_MENU_ITEM(N_("~Setup"), NULL, ACT_MAIN_NONE, do_setup_menu, NULL, FREE_LIST | SUBMENU),
INIT_MENU_ITEM(N_("~Help"), NULL, ACT_MAIN_NONE, do_submenu, help_menu, FREE_LIST | SUBMENU),
}
@ FREE_LIST
Definition menu.h:20
static void do_submenu(struct terminal *term, void *menu_, void *ses_)
Definition menu.c:301
static struct menu_item help_menu[]
Definition menu.c:439
static struct menu_item view_menu[]
Definition menu.c:412
static void do_file_menu(struct terminal *term, void *xxx, void *ses_)
Definition menu.c:349
static void do_setup_menu(struct terminal *term, void *xxx, void *ses_)
Definition menu.c:512
static struct menu_item tools_menu[]
Definition menu.c:491

◆ no_hist_menu

struct menu_item no_hist_menu[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("No history"), NULL, ACT_MAIN_NONE, NULL, NULL, NO_SELECT),
}

◆ setup_menu

struct menu_item setup_menu[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("C~haracter set"), NULL, ACT_MAIN_NONE, charset_list, NULL, SUBMENU),
INIT_MENU_ACTION(N_("~Terminal options"), ACT_MAIN_SHOW_TERM_OPTIONS),
INIT_MENU_ITEM(N_("File ~extensions"), NULL, ACT_MAIN_NONE, do_submenu, ext_menu, SUBMENU),
INIT_MENU_ACTION(N_("~Options manager"), ACT_MAIN_OPTIONS_MANAGER),
INIT_MENU_ACTION(N_("~Keybinding manager"), ACT_MAIN_KEYBINDING_MANAGER),
INIT_MENU_ACTION(N_("~Save options"), ACT_MAIN_SAVE_OPTIONS),
}
static struct menu_item ext_menu[]
Definition menu.c:460
void charset_list(struct terminal *term, void *xxx, void *ses_)
Definition options.c:51

◆ setup_menu_anon

struct menu_item setup_menu_anon[]
static
Initial value:
= {
INIT_MENU_ITEM(N_("~Language"), NULL, ACT_MAIN_NONE, menu_language_list, NULL, SUBMENU),
INIT_MENU_ITEM(N_("C~haracter set"), NULL, ACT_MAIN_NONE, charset_list, NULL, SUBMENU),
INIT_MENU_ACTION(N_("~Terminal options"), ACT_MAIN_SHOW_TERM_OPTIONS),
}
void menu_language_list(struct terminal *term, void *xxx, void *ses)
Definition options.c:268

◆ tools_menu

struct menu_item tools_menu[]
static
Initial value:
= {
INIT_MENU_ACTION(N_("~Cache"), ACT_MAIN_CACHE_MANAGER),
INIT_MENU_ACTION(N_("~Downloads"), ACT_MAIN_DOWNLOAD_MANAGER),
INIT_MENU_ACTION(N_("~Authentication"), ACT_MAIN_AUTH_MANAGER),
}

◆ view_menu

struct menu_item view_menu[]
static
Initial value:
= {
INIT_MENU_ACTION(N_("~Search"), ACT_MAIN_SEARCH),
INIT_MENU_ACTION(N_("Search ~backward"), ACT_MAIN_SEARCH_BACK),
INIT_MENU_ACTION(N_("Find ~next"), ACT_MAIN_FIND_NEXT),
INIT_MENU_ACTION(N_("Find ~previous"), ACT_MAIN_FIND_NEXT_BACK),
INIT_MENU_ACTION(N_("T~ypeahead search"), ACT_MAIN_SEARCH_TYPEAHEAD),
INIT_MENU_ACTION(N_("Toggle ~HTML/plain"), ACT_MAIN_TOGGLE_HTML_PLAIN),
INIT_MENU_ACTION(N_("Toggle i~mages"), ACT_MAIN_TOGGLE_DISPLAY_IMAGES),
INIT_MENU_ACTION(N_("Toggle ~link numbering"), ACT_MAIN_TOGGLE_NUMBERED_LINKS),
INIT_MENU_ACTION(N_("Toggle ~document colors"), ACT_MAIN_TOGGLE_DOCUMENT_COLORS),
INIT_MENU_ACTION(N_("~Wrap text on/off"), ACT_MAIN_TOGGLE_WRAP_TEXT),
INIT_MENU_ACTION(N_("Document ~info"), ACT_MAIN_DOCUMENT_INFO),
INIT_MENU_ACTION(N_("H~eader info"), ACT_MAIN_HEADER_INFO),
INIT_MENU_ACTION(N_("Rel~oad document"), ACT_MAIN_RELOAD),
INIT_MENU_ACTION(N_("~Rerender document"), ACT_MAIN_RERENDER),
INIT_MENU_ACTION(N_("Frame at ~full-screen"), ACT_MAIN_FRAME_MAXIMIZE),
INIT_MENU_ACTION(N_("Nex~t tab"), ACT_MAIN_TAB_NEXT),
INIT_MENU_ACTION(N_("Pre~v tab"), ACT_MAIN_TAB_PREV),
INIT_MENU_ACTION(N_("~Close tab"), ACT_MAIN_TAB_CLOSE),
}