summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Giaquinta <exg@irssi.org>2008-03-14 12:39:35 +0000
committerexg <exg@dbcabf3a-b0e7-0310-adc4-f8d773084564>2008-03-14 12:39:35 +0000
commitaea2e737f96078337567f1e16ec087a0ef55a054 (patch)
tree5025186c90016c2c73e5c678740f73e57fd32689
parentca1bb6a8ed0e763c7125bb27657b64b780da3caf (diff)
downloadirssi-aea2e737f96078337567f1e16ec087a0ef55a054.zip
Make /layout reset take effect immediately.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4765 dbcabf3a-b0e7-0310-adc4-f8d773084564
-rw-r--r--TODO2
-rw-r--r--src/fe-common/core/windows-layout.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/TODO b/TODO
index ad3e7d84..d64c3481 100644
--- a/TODO
+++ b/TODO
@@ -252,8 +252,6 @@
- Windows:
- /WINDOW SIZE -sticky, so f.e. /WINDOW BALANCE wouldn't affect it.
- - /LAYOUT save|reset doesn't affect anything immediately, only after
- restart
- Check that /LAYOUT SAVE works properly with all the different /SETs,
like reuse_unsued_windows, windows_auto_renumber and autoclose_windows.
What should it do if some channel is /PARTed with autoclose_windows
diff --git a/src/fe-common/core/windows-layout.c b/src/fe-common/core/windows-layout.c
index 882e8539..4db60431 100644
--- a/src/fe-common/core/windows-layout.c
+++ b/src/fe-common/core/windows-layout.c
@@ -240,6 +240,14 @@ void windows_layout_save(void)
void windows_layout_reset(void)
{
+ GSList *tmp;
+
+ for (tmp = windows; tmp != NULL; tmp = tmp->next) {
+ WINDOW_REC *window = tmp->data;
+ while (window->bound_items != NULL)
+ window_bind_destroy(window, window->bound_items->data);
+ }
+
iconfig_set_str(NULL, "windows", NULL);
signal_emit("layout reset", 0);