diff --git a/src/main.tsx b/src/main.tsx index 9d2298645..df8bd5ad2 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2308,11 +2308,18 @@ class ScreenTabs extends React.Component<{session : Session}, {}> { } let screen : Screen = null; let index = 0; + let showingScreens = []; + let activeScreenId = session.activeScreenId.get(); + for (let screen of session.screens) { + if (!screen.archived.get() || activeScreenId == screen.screenId) { + showingScreens.push(screen); + } + } return (
- -
this.handleSwitchScreen(screen.screenId)} onContextMenu={(event) => this.handleContextMenu(event, screen.screenId)}> - {screen.name.get()} + +
this.handleSwitchScreen(screen.screenId)} onContextMenu={(event) => this.handleContextMenu(event, screen.screenId)}> + {screen.name.get()}
⌘{index+1}
diff --git a/src/model.ts b/src/model.ts index c97613fd6..98a03d11f 100644 --- a/src/model.ts +++ b/src/model.ts @@ -214,6 +214,7 @@ class Screen { name : OV; activeWindowId : OV; windows : OArr; + archived : OV; constructor(sdata : ScreenDataType) { this.sessionId = sdata.sessionid; @@ -222,6 +223,7 @@ class Screen { this.screenIdx = mobx.observable.box(sdata.screenidx, {name: "screen-screenidx"}); this.opts = mobx.observable.box(sdata.screenopts, {name: "screen-opts"}); this.activeWindowId = mobx.observable.box(ces(sdata.activewindowid), {name: "screen-activewindowid"}); + this.archived = mobx.observable.box(!!sdata.archived, {name: "screen-archived"}); let swArr : ScreenWindow[] = []; let wins = sdata.windows || []; for (let i=0; i