summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-11-18 19:37:18 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-11-18 19:37:18 +0000
commit7433dafcb1a45dbdc42094cc65a354cfb15dab2a (patch)
treeed2594e06f95b26d92878c95905bc969a5701da3 /src
parent8e20972f4fb5f60c832c88fbc9c583420b27b80f (diff)
downloadirssi-7433dafcb1a45dbdc42094cc65a354cfb15dab2a.zip
Execute ~/.irssi/startup before autoconnecting to servers. This way you can
get autoconnecting work with dynamically loaded chat protocols. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2062 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r--src/fe-common/core/Makefile.am1
-rw-r--r--src/fe-common/core/autorun.c20
-rw-r--r--src/fe-common/core/autorun.h6
-rw-r--r--src/fe-common/core/fe-common-core.c7
4 files changed, 16 insertions, 18 deletions
diff --git a/src/fe-common/core/Makefile.am b/src/fe-common/core/Makefile.am
index 67cb6504..4f8cb810 100644
--- a/src/fe-common/core/Makefile.am
+++ b/src/fe-common/core/Makefile.am
@@ -39,6 +39,7 @@ libfe_common_core_a_SOURCES = \
fe-windows.c
noinst_HEADERS = \
+ autorun.h \
command-history.h \
chat-completion.h \
completion.h \
diff --git a/src/fe-common/core/autorun.c b/src/fe-common/core/autorun.c
index 8035e97e..9c1050db 100644
--- a/src/fe-common/core/autorun.c
+++ b/src/fe-common/core/autorun.c
@@ -1,7 +1,7 @@
/*
autorun.c : irssi
- Copyright (C) 1999-2000 Timo Sirainen
+ Copyright (C) 1999-2001 Timo Sirainen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
#include "fe-windows.h"
-static void sig_autorun(void)
+void autorun_startup(void)
{
char tmpbuf[1024], *str, *path;
LINEBUF_REC *buffer = NULL;
@@ -44,19 +44,13 @@ static void sig_autorun(void)
recvlen = read(f, tmpbuf, sizeof(tmpbuf));
ret = line_split(tmpbuf, recvlen, &str, &buffer);
- if (ret > 0) eval_special_string(str, "", active_win->active_server, active_win->active);
+ if (ret > 0) {
+ eval_special_string(str, "",
+ active_win->active_server,
+ active_win->active);
+ }
} while (ret > 0);
line_split_free(buffer);
close(f);
}
-
-void autorun_init(void)
-{
- signal_add_last("irssi init finished", (SIGNAL_FUNC) sig_autorun);
-}
-
-void autorun_deinit(void)
-{
- signal_remove("irssi init finished", (SIGNAL_FUNC) sig_autorun);
-}
diff --git a/src/fe-common/core/autorun.h b/src/fe-common/core/autorun.h
new file mode 100644
index 00000000..59d8e846
--- /dev/null
+++ b/src/fe-common/core/autorun.h
@@ -0,0 +1,6 @@
+#ifndef __AUTORUN_H
+#define __AUTORUN_H
+
+void autorun_startup(void);
+
+#endif
diff --git a/src/fe-common/core/fe-common-core.c b/src/fe-common/core/fe-common-core.c
index 586f0e1d..cad0e049 100644
--- a/src/fe-common/core/fe-common-core.c
+++ b/src/fe-common/core/fe-common-core.c
@@ -29,6 +29,7 @@
#include "channels.h"
#include "servers-setup.h"
+#include "autorun.h"
#include "fe-queries.h"
#include "hilight-text.h"
#include "command-history.h"
@@ -52,9 +53,6 @@ static int no_autoconnect;
static char *cmdline_nick;
static char *cmdline_hostname;
-void autorun_init(void);
-void autorun_deinit(void);
-
void fe_core_log_init(void);
void fe_core_log_deinit(void);
@@ -171,7 +169,6 @@ void fe_common_core_init(void)
themes_init();
theme_register(fecommon_core_formats);
- autorun_init();
command_history_init();
completion_init();
keyboard_init();
@@ -214,7 +211,6 @@ void fe_common_core_init(void)
void fe_common_core_deinit(void)
{
- autorun_deinit();
hilight_text_deinit();
command_history_deinit();
completion_deinit();
@@ -380,5 +376,6 @@ void fe_common_core_finish_init(void)
if (setup_changed)
signal_emit("setup changed", 0);
+ autorun_startup();
autoconnect_servers();
}