Skip to content

Commit 47383f0

Browse files
committed
commiting
1 parent 04c228c commit 47383f0

3 files changed

Lines changed: 33 additions & 29 deletions

File tree

usr/share/mios/configurator/mios.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -911,19 +911,19 @@ <h3>Windows shortcuts</h3>
911911
</p>
912912
<div class="grid">
913913
<fieldset>
914-
<legend>terminal (post-install MiOS app: 80x20, edge-to-edge frameless via launch_mode=focus)</legend>
914+
<legend>terminal (post-install MiOS app: 80x20, edge-to-edge = cols-1 due to WT scrollbar-gutter reservation)</legend>
915915
<label for="f-term-cols">cols</label>
916916
<input type="text" id="f-term-cols" data-key="terminal.cols" data-type="int" placeholder="80">
917917
<label for="f-term-rows">rows</label>
918918
<input type="text" id="f-term-rows" data-key="terminal.rows" data-type="int" placeholder="20">
919919
<label for="f-term-scroll">scrollback_rows</label>
920920
<input type="text" id="f-term-scroll" data-key="terminal.scrollback_rows" data-type="int" placeholder="9000">
921-
<label for="f-term-fw">frame_width (= cols, edge-to-edge)</label>
922-
<input type="text" id="f-term-fw" data-key="terminal.frame_width" data-type="int" placeholder="80">
923-
<label for="f-term-fh">frame_height (= rows, edge-to-edge)</label>
924-
<input type="text" id="f-term-fh" data-key="terminal.frame_height" data-type="int" placeholder="20">
925-
<label for="f-term-rm">right_margin (0 = true edge-to-edge; raise to 1 only if powerline wraps with animations on)</label>
926-
<input type="text" id="f-term-rm" data-key="terminal.right_margin" data-type="int" placeholder="0">
921+
<label for="f-term-fw">frame_width (= cols - 1; the rightmost paintable cell in WT)</label>
922+
<input type="text" id="f-term-fw" data-key="terminal.frame_width" data-type="int" placeholder="79">
923+
<label for="f-term-fh">frame_height (= rows - 1, leave 1 row for prompt)</label>
924+
<input type="text" id="f-term-fh" data-key="terminal.frame_height" data-type="int" placeholder="19">
925+
<label for="f-term-rm">right_margin (1 = matches WT scrollbar-gutter reservation)</label>
926+
<input type="text" id="f-term-rm" data-key="terminal.right_margin" data-type="int" placeholder="1">
927927
</fieldset>
928928
<fieldset>
929929
<legend>terminal.install (BOOTSTRAP window: 80x40 for install output + readme)</legend>

usr/share/mios/mios.toml

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1613,33 +1613,37 @@ podman_pkg = "RedHat.Podman-Desktop"
16131613
# auto-elevated bootstrap window, the native-app launcher, Linux tty0
16141614
# console via /etc/profile.d/mios-tty.sh) opens at exactly cols × rows.
16151615
#
1616-
# EDGE-TO-EDGE: frame_width = cols, frame_height = rows, right_margin = 0.
1617-
# Operator pivot 2026-05-08: "MiOS app/windows terminal windows should
1618-
# be completely frameless/borderless with no margin (edge-to-edge
1619-
# printing!!!!!)" -> "go fix mios-bootstrap edge-to-edge now".
1616+
# EDGE-TO-EDGE = cols-1 (NOT cols). Operator's original instinct from
1617+
# commit 9c40990 ("everything should be -1 width") was the correct
1618+
# read. WT's text buffer width is `cols - 1`, NOT `cols`, even with
1619+
# `scrollbarState = "hidden"` and `padding = "0"`. The scrollbar
1620+
# gutter is a STRUCTURAL 1-cell reservation in WT's renderer:
1621+
# scrollbarState only controls visibility (drawn vs. transparent),
1622+
# not allocation. Cells 0..cols-2 are paintable; cell cols-1 is
1623+
# reserved. A frame at width=cols emits its right border `│` at the
1624+
# reserved cell, which WT wraps to col 0 of the next visible line --
1625+
# producing the double-`||` left-border ghosting in the dashboard
1626+
# render and the "powerline seconds rolling over to the left" wrap
1627+
# in oh-my-posh.
16201628
#
1621-
# Enabled by mios-bootstrap's Install-MiOSTerminalProfile writing
1622-
# `launchMode = "focus"` at the ROOT of settings.json plus
1623-
# `profiles.defaults.suppressApplicationTitle = true`. With both, WT
1624-
# strips the titlebar and tab-row from frame 0 so the pseudo-console
1625-
# reports the actual visible cell count immediately, no off-by-N
1626-
# window before scrollbarState=hidden takes effect. oh-my-posh aligns
1627-
# correctly, no powerline wrap.
1629+
# So the canonical "edge-to-edge" is `frame_width = cols - 1`,
1630+
# `right_margin = 1`. The dashboard frame ends exactly at the last
1631+
# PAINTABLE cell (cols-2), and the scrollbar-reserve cell stays
1632+
# empty. Visually indistinguishable from cols-wide edge-to-edge,
1633+
# functionally identical -- the operator's MiOS app already has
1634+
# acrylic + scrollbarState=hidden so the gutter cell is invisible.
16281635
#
1629-
# If the powerline ever wraps again (acrylic-recompute on first paint
1630-
# MAY re-trigger the off-by-N briefly when animations are on), the
1631-
# targeted band-aid is `right_margin = 1` -- NOT `disable_animations =
1632-
# true` (operator wants the aesthetics: window fade on open/close +
1633-
# preview features). 1 cell of slack is invisible to the eye but
1634-
# gives oh-my-posh enough room to absorb a 1-cell first-paint lie.
1636+
# Operator confirmed visual via screenshot 2026-05-08: setting
1637+
# right_margin=0 / frame_width=cols produced the doubled-border ghost
1638+
# wrap. Reverting to right_margin=1 / frame_width=cols-1.
16351639
# ----------------------------------------------------------------------------
16361640
[terminal]
16371641
cols = 80
16381642
rows = 20 # 20 = MiOS portal-feel default; 30 for taller "console" feel
16391643
scrollback_rows = 9000
1640-
frame_width = 80 # = cols. True edge-to-edge -- the dashboard frame paints from col 0 to col cols-1 with no gutter. Get-MiOS.ps1's Show-MiosDashboard, mios-dash.ps1, and mios-dashboard.sh ALL read this value via Get-MiosTomlValue / awk.
1641-
frame_height = 20 # = rows. The dashboard scrolls naturally and the prompt renders below as a NEW row -- the conhost cursor advances past the bottom border on its own; no row needs to be "reserved" inside the frame.
1642-
right_margin = 0 # zero gutter on the right edge. Get-MiOS.ps1's Show-MiosDashboard uses MIN(WindowWidth - right_margin, frame_width); mios-dash.ps1 uses cols - right_margin; mios-dashboard.sh (awk reader) uses cols - right_margin; mios.omp.json's trailing-spacer segment template = "" with final_space=false. Raise to 1 ONLY if the powerline wraps with animations on (acrylic-recompute first-paint timing).
1644+
frame_width = 79 # = cols - 1. The WT scrollbar gutter reserves 1 cell of buffer width regardless of scrollbar visibility, so the rightmost PAINTABLE cell is cols-2 and the frame border `│` lives at cols-2. Setting frame_width to cols (= 80) emits the border at the gutter cell, which WT wraps to col 0 of the next visible line. Get-MiOS.ps1's Show-MiosDashboard, mios-dash.ps1, and mios-dashboard.sh ALL read this value.
1645+
frame_height = 19 # = rows - 1. Reserves 1 row at the bottom for the prompt under the dashboard so the frame doesn't push the prompt's first line off-screen on initial render.
1646+
right_margin = 1 # 1 cell of structural slack matching WT's scrollbar gutter reservation. Get-MiOS.ps1's Show-MiosDashboard uses MIN(WindowWidth - right_margin, frame_width); mios-dash.ps1 uses cols - right_margin; mios-dashboard.sh (awk reader) uses cols - right_margin; mios.omp.json mirrors this with final_space=true (1 cell). 0 is impossible without a WT renderer change to remove the gutter reservation entirely (no current setting exposes that).
16431647

16441648
# ----------------------------------------------------------------------------
16451649
# [terminal.install] -- the BOOTSTRAP window dims (taller so the install

usr/share/mios/oh-my-posh/mios.omp.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
33
"version": 4,
4-
"//final_space": "false: edge-to-edge per [terminal].right_margin=0 in mios.toml. The right-aligned powerline block ends exactly at the last paintable cell. Enabled by mios-bootstrap's Install-MiOSTerminalProfile writing launchMode=focus at the ROOT of settings.json + suppressApplicationTitle on profiles.defaults -- those strip the WT titlebar and tab-row from frame 0 so the pseudo-console reports the correct visible cell count from the first paint, no off-by-N window. If the trailing time char ever wraps again (acrylic-recompute on first paint MAY re-trigger the off-by-N briefly when animations are on per [theme].disable_animations=false), bump mios.toml [terminal].right_margin to 1 -- do NOT flip animations off (operator wants the aesthetics).",
5-
"final_space": false,
4+
"//final_space": "true: reserves 1 trailing cell matching mios.toml [terminal].right_margin=1, which mirrors WT's structural scrollbar-gutter reservation. WT reserves 1 buffer column for the scrollbar even with `scrollbarState=hidden` (visibility !== reservation); the rightmost paintable cell is cols-2 and the powerline must end there. Without this, the trailing time char ends up at the gutter cell which WT wraps to col 0 of the next line ('powerline seconds rolling over to the left under the second-line ❯'). final_space=false would only be safe if a future WT version exposes a knob to drop the gutter reservation entirely.",
5+
"final_space": true,
66
"//": [
77
"MiOS Oh-My-Posh theme.",
88
"All Nerd Font private-use-area glyphs are encoded as JSON \\uXXXX",

0 commit comments

Comments
 (0)