Replies: 12 comments
-
|
@changlv Good question — I went and checked the code, and there are two separate things here, so let me split them: The top/bottom status bars already do what you're asking. When a bar isn't visible, it reserves zero rows — the space is genuinely reclaimed, not blanked. The height is literally What I suspect you're actually seeing is a borderless window's frame. A window created with And honestly, that's a behavior I lean toward keeping — I actually like a borderless window having a bit of breathing room around its content rather than slamming text right up against the screen/desktop edge. So I'm hesitant to remove that margin outright. So before I change anything: which one are you seeing? Is it
If it's the second, I'm open to it as an opt-in (a true zero-inset borderless mode), leaving today's bordered-with-margin behavior as the default. Let me know what you're after. |
Beta Was this translation helpful? Give feedback.
-
|
@nickprotop After confirmation, the issue is related to the borders of the Window component(not ConsoleWindowSystem). If possible, I would like to have a truly borderless Window component that can fully fill the terminal. A genuine borderless design also optimizes multi-layer layouts, as it eliminates wasted border padding when multiple controls are stacked. |
Beta Was this translation helpful? Give feedback.
-
|
@nickprotop Also, PanelControl isn't what I expected. I thought it was a non-scrollable container. |
Beta Was this translation helpful? Give feedback.
-
|
@changlv Confirmed it's the Window border, not the panels — and a truly borderless Window that fills the terminal makes sense, especially for single-window apps. I'll build it. The plan: borderless = fully chrome-less. No border means no interactive frame — no title bar, no drag-to-move, no resize, no buttons. It just fills its rect and shows content. That's the clean fit for a single-window app. It'll also support padding, so you can stay borderless but keep a little space around the content if you want (which I like too) — no padding = fills the whole rect, add padding for breathing room. Default will be no padding (true fill). On What you're after already exists — Controls.CollapsiblePanel()
.NonCollapsible()
.HideHeader()
.AddControl(controlA) // stacked
.AddControl(controlB) // below A
.Build();So you don't need a horizontal grid with one column — it stacks vertically on its own. (If you ever want it to scroll, give it a |
Beta Was this translation helpful? Give feedback.
-
|
@nickprotop Thanks for your explanation. CollapsiblePanel matches my expectations perfectly. Happy coding! |
Beta Was this translation helpful? Give feedback.
-
|
@changlv This is done and on A frameless window fills the entire terminal with no border and no chrome — no title bar, no drag handle, no resize edges, no buttons. Content starts at the very top-left cell; nothing is reserved. It's the single-window-app case you described: new WindowBuilder(windowSystem)
.Frameless()
.Maximized() // fills the whole desktop, content edge-to-edge
.AddControl(myContent)
.BuildAndShow();And the padding you asked about — borderless but with a little space around the content — is opt-in: .Frameless().WithPadding(1) // 1-cell margin all around
// or per-side: .WithPadding(new Padding(left, top, right, bottom))A few notes:
There's a short write-up in the new Whenever you get a chance, could you build from |
Beta Was this translation helpful? Give feedback.
-
|
@nickprotop We could borrow the naming convention from Android: Hidden (reserves layout space), Gone (completely removes the element with no reserved space). |
Beta Was this translation helpful? Give feedback.
-
|
@changlv That's a sharp analogy — I could add |
Beta Was this translation helpful? Give feedback.
-
|
@nickprotop Let's skip using aliases; keeping things concise is important. Additionally, I suggest renaming |
Beta Was this translation helpful? Give feedback.
-
|
@changlv On the rename — honestly, this is partly taste, and I should own that. Here's the question I'd put back to you, though: is the two-word split even worth it? We've got |
Beta Was this translation helpful? Give feedback.
-
|
The main concern is that developers might easily mistake |
Beta Was this translation helpful? Give feedback.
-
|
Done — added
On |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The TopPanel and BottomPanel of ConsoleWindowSystem reserve space even when hidden ?
Could we make them release the occupied space when they are not visible?
After all, every line of display space is valuable for a terminal UI.
Happy coding! Haha~
Beta Was this translation helpful? Give feedback.
All reactions