summaryrefslogtreecommitdiff
path: root/src/fe-common/core/window-items.c
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-06-17 12:22:56 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-06-17 12:22:56 +0000
commit8ea24002690314d567ddd1677ba18c25d19b8771 (patch)
treeb46d7bf59884242df6f0544f74eb97d6b89c5cba /src/fe-common/core/window-items.c
parent234e95ef94804493a3c75f957dbc6bf8af58c5b3 (diff)
downloadirssi-8ea24002690314d567ddd1677ba18c25d19b8771.zip
Added /SET reuse_unused_windows setting, default is OFF
If window_close_on_part is ON, we don't anymore close the window if we get kicked or connection gets lost. Also don't close DCC chat window if the other side disconnects. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@357 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-common/core/window-items.c')
-rw-r--r--src/fe-common/core/window-items.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/fe-common/core/window-items.c b/src/fe-common/core/window-items.c
index 790b7207..0c71a0e4 100644
--- a/src/fe-common/core/window-items.c
+++ b/src/fe-common/core/window-items.c
@@ -76,9 +76,6 @@ void window_remove_item(WINDOW_REC *window, WI_ITEM_REC *item)
}
signal_emit("window item remove", 2, window, item);
-
- if (settings_get_bool("window_close_on_part") && windows->next != NULL)
- window_destroy(window);
}
WINDOW_REC *window_item_window(WI_ITEM_REC *item)
@@ -237,19 +234,22 @@ void window_item_create(WI_ITEM_REC *item, int automatic)
WINDOW_REC *window;
GSList *tmp;
char *str;
- int clear_waiting;
+ int clear_waiting, reuse_unused_windows;
g_return_if_fail(item != NULL);
str = item->server == NULL ? NULL :
g_strdup_printf("%s %s", ((SERVER_REC *) item->server)->tag, item->name);
+ reuse_unused_windows = settings_get_bool("reuse_unused_windows");
+
clear_waiting = TRUE;
window = NULL;
for (tmp = windows; tmp != NULL; tmp = tmp->next) {
WINDOW_REC *rec = tmp->data;
- if (rec->items == NULL && rec->level == 0 &&
+ if (reuse_unused_windows &&
+ rec->items == NULL && rec->level == 0 &&
(window == NULL || rec == active_win)) {
/* no items in this window, we should probably use it.. */
window = rec;
@@ -297,7 +297,7 @@ static void signal_window_item_changed(WINDOW_REC *window, WI_ITEM_REC *item)
void window_items_init(void)
{
- settings_add_bool("lookandfeel", "window_close_on_part", TRUE);
+ settings_add_bool("lookandfeel", "reuse_unused_windows", FALSE);
signal_add_last("window item changed", (SIGNAL_FUNC) signal_window_item_changed);
}