From b3a3988ff0b9fc167da8a71442806825601d2354 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sat, 28 Aug 2010 23:46:08 +0000 Subject: Add startup and shutdown ARexx scripts (default to startup.nsrx and shutdown.nsrx) Remove PROGDIR: from arexx_dir default as AM_EXECUTE can't find files in PROGDIR: svn path=/trunk/netsurf/; revision=10719 --- amiga/gui.c | 19 ++++++++++++++++--- amiga/menu.c | 3 +++ amiga/options.h | 6 ++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/amiga/gui.c b/amiga/gui.c index f3e790f89..6d848ba16 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -388,7 +388,13 @@ void ami_set_options(void) option_theme = (char *)strdup("PROGDIR:Resources/Themes/Default"); if((!option_arexx_dir) || (option_arexx_dir[0] == '\0')) - option_arexx_dir = (char *)strdup("PROGDIR:Rexx"); + option_arexx_dir = (char *)strdup("Rexx"); + + if((!option_arexx_startup) || (option_arexx_startup[0] == '\0')) + option_arexx_startup = (char *)strdup("Startup.nsrx"); + + if((!option_arexx_shutdown) || (option_arexx_shutdown[0] == '\0')) + option_arexx_shutdown = (char *)strdup("Shutdown.nsrx"); if(!option_window_width) option_window_width = 800; if(!option_window_height) option_window_height = 600; @@ -703,17 +709,24 @@ int main(int argc, char** argv) { setbuf(stderr, NULL); char messages[100]; + char script[1024]; ami_messages_load(messages); - netsurf_init(&argc, &argv, "PROGDIR:Resources/Options", messages); gui_init(argc, argv); - gui_init2(argc, argv); + strncpy(script, option_arexx_dir, 1024); + AddPart(script, option_arexx_startup, 1024); + ami_arexx_execute(script); + netsurf_main_loop(); + strncpy(script, option_arexx_dir, 1024); + AddPart(script, option_arexx_shutdown, 1024); + ami_arexx_execute(script); + netsurf_exit(); return 0; diff --git a/amiga/menu.c b/amiga/menu.c index e04add09c..8e0f99252 100755 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -323,6 +323,9 @@ void ami_menu_arexx_scan(struct NewMenu *menu) for(ead = (struct ExAllData *)buffer; ead; ead = ead->ed_Next) { if(item >= AMI_MENU_AREXX_MAX) continue; + if(!strcasecmp(ead->ed_Name, option_arexx_startup)) continue; + if(!strcasecmp(ead->ed_Name, option_arexx_shutdown)) continue; + if(EAD_IS_FILE(ead)) { menu[item].nm_Type = NM_ITEM; diff --git a/amiga/options.h b/amiga/options.h index b1b508fe5..38b9cf646 100644 --- a/amiga/options.h +++ b/amiga/options.h @@ -38,6 +38,8 @@ extern char *option_recent_file; extern char *option_search_engines_file; extern char *option_search_ico_file; extern char *option_arexx_dir; +extern char *option_arexx_startup; +extern char *option_arexx_shutdown; extern char *option_download_dir; extern bool option_download_notify; extern bool option_faster_scroll; @@ -70,6 +72,8 @@ char *option_recent_file = 0; \ char *option_search_engines_file = 0; \ char *option_search_ico_file = 0; \ char *option_arexx_dir = 0; \ +char *option_arexx_startup = 0; \ +char *option_arexx_shutdown = 0; \ char *option_download_dir = 0; \ bool option_download_notify = false; \ bool option_faster_scroll = true; \ @@ -102,6 +106,8 @@ bool option_drag_save_icons = true; \ { "search_engines_file", OPTION_STRING, &option_search_engines_file }, \ { "search_ico_file", OPTION_STRING, &option_search_ico_file }, \ { "arexx_dir", OPTION_STRING, &option_arexx_dir }, \ +{ "arexx_startup", OPTION_STRING, &option_arexx_startup }, \ +{ "arexx_shutdown", OPTION_STRING, &option_arexx_shutdown }, \ { "download_dir", OPTION_STRING, &option_download_dir }, \ { "download_notify", OPTION_BOOL, &option_download_notify}, \ { "faster_scroll", OPTION_BOOL, &option_faster_scroll}, \ -- cgit v1.2.3