On a GitHub Projects Board (kanban) view, stretches the board to the full window width instead of sitting inside the page’s normal centered, padded column — more room for columns before they need to scroll horizontally.
On by default (unlike Board dependency arrows, which is opt-in). No in-page control — this is a layout default you either want or don’t, toggled once from Settings, not something to flip per session.
Mockup illustrating the layout — not a literal screenshot.
getBoundingClientRect() rather than assumed via a fixed viewport-centered offset, since a slice-by panel (or anything else occupying real space to the board’s left) would otherwise throw that assumption off. A ResizeObserver on the slice-by panel keeps the measurement live while it’s dragged wider or narrower.min-width (GitHub sets it inline, computed as columnCount × each column’s configured width — sized to always fit every column at full width no matter how much room the page actually gives it) and turns each column into a flexible, shrinkable flex item with a 150px floor, instead of a fixed-width one.boardContainer__, horizontalGroupAreaContainer__, ColumnFrame__, SlicerPanel__, …) read off a live board’s DOM. GitHub’s Projects app (internally “memex”) doesn’t publish stable class names — CSS-module hashes regenerate on every deploy, and in 2026 GitHub also dropped the file prefix (Board-module__boardContainer__x became boardContainer__x). The selectors match the local name followed by __ (the current naming) and also list the previous <file>-module__<name> form as a fallback, so both generations work; test/unit/module-classes.test.js checks that every fallback sits next to its current form.