Skip to content

Layout ​

sizing, spacing, alignment. The ui-gallery page Layout, painted with no terminal and no window at each of the documented profiles:

bash
ui-gallery --render --page layout --profile full|enhanced|baseline
 sparkles:ui sizing, spacing, alignment                                             tokyo-night 
   Welcome           ▕ Layout · sizing, spacing, alignment                                     █
   Primitives        ▕                                                                         █
 ▸ Layout            ▕                                                                         █
   Tracks            ▕ Four passes, each O(n): natural width up, allocation down, height-for-  █
   Text              ▕ width up, placement down. Nothing iterates to a fixed point — the       █
   Themes            ▕ width/height cycle is broken by ordering.                               █
   Slots             ▕                                                                         █
   Decoration        ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
   Effects           ▕ │ the knobs                                                           │ █
   Grid              ▕ │ width  fit   grow   fixed   percent                                 │ █
   Components        ▕ │ value 12                                                            │ █
   Tree              ▕ │ alignX  start   center   end                                        │ █
   Property tree     ▕ │ alignY  start   center   end                                        │ █
   Table             ▕ │ gap 1 padding 1                                                     │ █
   Scrolling         ▕ │ third band  visible   hidden   collapsed                            │ █
   State             ▕ └─────────────────────────────────────────────────────────────────────┘ █
   Split             ▕                                                                         █
   Dock              ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
   Terminal          ▕ │ the row                                                             │ █
                     ▕ │                                                                     │ █
                     ▕ │  first   second   third                                             │ ░
                     ▕ │                                                                     │ ░
                     ▕ └─────────────────────────────────────────────────────────────────────┘ ░
                     ▕                                                                         ░
                     ▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
                     ▕ │ what each width means                                               │ ░
                     ▕ │ fit        shrink-wrap the content (the default)                    │ ░
                     ▕ │ grow(n)    take a weighted share of what is left                    │ ░
                     ▕ │ fixed(n)   exactly n cells                                          │ ░
                     ▕                                                                          
 pages w width mode a align x A align y g gap p padding v third's visibility    ? keys   q quit 
 sparkles:ui sizing, spacing, alignment                                             tokyo-night 
   Welcome           ▕ Layout · sizing, spacing, alignment                                     █
   Primitives        ▕                                                                         █
 ▸ Layout            ▕                                                                         █
   Tracks            ▕ Four passes, each O(n): natural width up, allocation down, height-for-  █
   Text              ▕ width up, placement down. Nothing iterates to a fixed point — the       █
   Themes            ▕ width/height cycle is broken by ordering.                               █
   Slots             ▕                                                                         █
   Decoration        ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
   Effects           ▕ │ the knobs                                                           │ █
   Grid              ▕ │ width  fit   grow   fixed   percent                                 │ █
   Components        ▕ │ value 12                                                            │ █
   Tree              ▕ │ alignX  start   center   end                                        │ █
   Property tree     ▕ │ alignY  start   center   end                                        │ █
   Table             ▕ │ gap 1 padding 1                                                     │ █
   Scrolling         ▕ │ third band  visible   hidden   collapsed                            │ █
   State             ▕ └─────────────────────────────────────────────────────────────────────┘ █
   Split             ▕                                                                         █
   Dock              ▕ ┌─────────────────────────────────────────────────────────────────────┐ █
   Terminal          ▕ │ the row                                                             │ █
                     ▕ │                                                                     │ █
                     ▕ │  first   second   third                                             │ ░
                     ▕ │                                                                     │ ░
                     ▕ └─────────────────────────────────────────────────────────────────────┘ ░
                     ▕                                                                         ░
                     ▕ ┌─────────────────────────────────────────────────────────────────────┐ ░
                     ▕ │ what each width means                                               │ ░
                     ▕ │ fit        shrink-wrap the content (the default)                    │ ░
                     ▕ │ grow(n)    take a weighted share of what is left                    │ ░
                     ▕ │ fixed(n)   exactly n cells                                          │ ░
                     ▕                                                                          
 pages w width mode a align x A align y g gap p padding v third's visibility    ? keys   q quit 
 sparkles:ui sizing, spacing, alignment                                             tokyo-night 
   Welcome           | Layout * sizing, spacing, alignment                                     #
   Primitives        |                                                                         #
 > Layout            |                                                                         #
   Tracks            | Four passes, each O(n): natural width up, allocation down, height-for-  #
   Text              | width up, placement down. Nothing iterates to a fixed point - the       #
   Themes            | width/height cycle is broken by ordering.                               #
   Slots             |                                                                         #
   Decoration        | +---------------------------------------------------------------------+ #
   Effects           | | the knobs                                                           | #
   Grid              | | width  fit   grow   fixed   percent                                 | #
   Components        | | value 12                                                            | #
   Tree              | | alignX  start   center   end                                        | #
   Property tree     | | alignY  start   center   end                                        | #
   Table             | | gap 1 padding 1                                                     | #
   Scrolling         | | third band  visible   hidden   collapsed                            | #
   State             | +---------------------------------------------------------------------+ #
   Split             |                                                                         #
   Dock              | +---------------------------------------------------------------------+ #
   Terminal          | | the row                                                             | #
                     | |                                                                     | #
                     | |  first   second   third                                             | |
                     | |                                                                     | |
                     | +---------------------------------------------------------------------+ |
                     |                                                                         |
                     | +---------------------------------------------------------------------+ |
                     | | what each width means                                               | |
                     | | fit        shrink-wrap the content (the default)                    | |
                     | | grow(n)    take a weighted share of what is left                    | |
                     | | fixed(n)   exactly n cells                                          | |
                     |                                                                          
 pages w width mode a align x A align y g gap p padding v third's visibility    ? keys   q quit 

What each profile gives up ​

The frame's degradation report: one line per substitution, and the capability the target lacked. full is empty when the page asks for nothing a terminal cannot do.

text
alpha-flattened ×19 (alpha)
text
color-folded ×113 (colorDepth)
alpha-flattened ×19 (alpha)
text
color-dropped ×113 (colorDepth)
ascii-border ×4 (unicode)
ascii-scrollbar ×1 (unicode)
ascii-glyph ×3 (unicode)
alpha-flattened ×19 (alpha)

These are the files dub test :ui-gallery compares every render against, so a change to this page that is not re-blessed fails CI.