refactor: improve tab group handling and visibility in split view

This commit is contained in:
mr. M
2025-03-29 18:26:23 +01:00
parent 5462f035f8
commit 0c6fe6f77c
4 changed files with 145 additions and 91 deletions

View File

@@ -120,8 +120,7 @@ tab-group[split-view-group] .tabbrowser-tab {
}
tab-group[split-view-group] .tab-group-label-container {
display: none;
width: 100%;
visibility: collapse;
}
tab-group[split-view-group] .tab-close-button {

View File

@@ -9,6 +9,8 @@
document.addEventListener('TabUngrouped', this.#onTabUngrouped.bind(this));
document.addEventListener('TabGroupRemoved', this.#onTabGroupRemoved.bind(this));
document.addEventListener('TabGroupCreate', this.#onTabGroupCreate.bind(this));
document.addEventListener('TabPinned', this.#onTabPinned.bind(this));
document.addEventListener('TabUnpinned', this.#onTabUnpinned.bind(this));
}
#onTabGrouped(event) {
@@ -49,6 +51,22 @@
#onTabGroupRemoved(event) {}
#onTabPinned(event) {
const tab = event.target;
const group = tab.group;
if (group && group.hasAttribute('split-view-group')) {
group.pinned = true;
}
}
#onTabUnpinned(event) {
const tab = event.target;
const group = tab.group;
if (group && group.hasAttribute('split-view-group')) {
group.pinned = false;
}
}
expandGroupTabs(group) {
for (const tab of group.tabs.reverse()) {
gBrowser.ungroupTab(tab);