summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG9
-rw-r--r--plugins/reorder.py11
2 files changed, 16 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index d2a7691d..adcab884 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,6 +4,15 @@ https://dev.louiz.org/projects/poezio/roadmap
* Poezio 0.14 - dev
+# Minor Changes
+
+- Reorder: Prevent GapTabs from being serialized and ignore when serialized as
+ they're recreated automatically.
+
+# Bug fixes
+
+- Reorder: Fix traceback on serialized gap tabs.
+
* Poezio 0.13.1
# Bug fixes
diff --git a/plugins/reorder.py b/plugins/reorder.py
index 01de5c5d..38975a02 100644
--- a/plugins/reorder.py
+++ b/plugins/reorder.py
@@ -92,7 +92,11 @@ def parse_config(tab_config):
if pos in result or pos <= 0:
return None
- typ, name = tab_config.get(option, default=':').split(':', maxsplit=1)
+ spec = tab_config.get(option, default=':').split(':', maxsplit=1)
+ # Gap tabs are recreated automatically if there's a gap in indices.
+ if spec == 'empty':
+ return None
+ typ, name = spec
if typ not in TEXT_TO_TAB:
return None
result[pos] = (TEXT_TO_TAB[typ], name)
@@ -113,9 +117,8 @@ def parse_runtime_tablist(tablist):
for tab in tablist[1:]:
i += 1
result = check_tab(tab)
- if result == 'empty':
- props.append((i, 'empty'))
- elif result:
+ # Don't serialize gap tabs as they're recreated automatically
+ if result != 'empty':
props.append((i, '%s:%s' % (result, tab.jid.full)))
return props