summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/misc/sessions.py12
-rw-r--r--tests/end2end/features/sessions.feature15
2 files changed, 25 insertions, 2 deletions
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py
index 78209dde2..df3b028f7 100644
--- a/qutebrowser/misc/sessions.py
+++ b/qutebrowser/misc/sessions.py
@@ -537,7 +537,11 @@ class SessionManager(QObject):
if tab_data.get('active'):
tab_to_focus = index
- new_tab = tabbed_browser.tabopen(background=False)
+ new_tab = tabbed_browser.tabopen(
+ background=False,
+ related=False,
+ idx=index,
+ )
self._load_tab(new_tab, tab_data)
new_tab.node.parent = root_node
@@ -603,7 +607,11 @@ class SessionManager(QObject):
tab_to_focus = self._load_tree(tabbed_browser, tree_data)
elif not legacy_tree_loaded:
for i, tab in enumerate(tabs):
- new_tab = tabbed_browser.tabopen(background=False)
+ new_tab = tabbed_browser.tabopen(
+ background=False,
+ related=False,
+ idx=i,
+ )
self._load_tab(new_tab, tab)
if tab.get('active', False):
tab_to_focus = i
diff --git a/tests/end2end/features/sessions.feature b/tests/end2end/features/sessions.feature
index 9a61baf61..2f121132f 100644
--- a/tests/end2end/features/sessions.feature
+++ b/tests/end2end/features/sessions.feature
@@ -440,3 +440,18 @@ Feature: Saving and loading sessions
- data/numbers/2.txt (active) (pinned)
- data/numbers/4.txt
- data/numbers/3.txt
+
+ # Make sure the new_position.related setting doesn't change the tab order
+ # when loading from a session.
+ Scenario: Loading a session with tabs.new_position.related=prev
+ When I open data/numbers/1.txt
+ And I open data/numbers/2.txt in a new tab
+ And I open data/numbers/3.txt in a new tab
+ And I run :session-save foo
+ And I set tabs.new_position.related to prev
+ And I run :session-load -c foo
+ And I wait until data/numbers/3.txt is loaded
+ Then the following tabs should be open:
+ - data/numbers/1.txt
+ - data/numbers/2.txt
+ - data/numbers/3.txt (active)