microsoft / microsoft/terminal

Extra padding on bottom when showTabsInTitlebar is false

Open
#19,308 5 comments 1 reaction 0 assignees View on GitHub
Help Wanted Impact-Visual Issue-Bug Priority-3 Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

### Windows Terminal version

1.23.12371.0

### Windows build number

10.0.26100.0

### Other Software

WSL:
- WSL version: `2.5.9.0`
- Kernel version: `6.6.87.2-1`
- WSLg version: `1.0.66`
- MSRDC version: `1.2.6074`
- Direct3D version: `1.611.1-81528511`
- DXCore version: `10.0.26100.1-240331-1435.ge-release`
- Windows version: `10.0.26100.4946`

Neovim:
- NVIM `v0.11.3`
- Build type: `Release`
- LuaJIT `2.1.1741730670`

Plugin manager:
- dir: `/home/main/.local/share/nvim/lazy/lazy.nvim`
- url: https://github.com/folke/lazy.nvim
- version: `11.17.1`
- tag: `v11.17.1`
- branch: `main`
- commit: `6c3bda4`

Plugin with interaction:
- dir: `/home/main/.local/share/nvim/lazy/noice.nvim`
- url: https://github.com/folke/noice.nvim
- branch: `main`
- commit: `0427460`

### Steps to reproduce

1. Make sure `Windows Terminal` is >= version `1.23.12371.0`:

Image

2. This bug only occurs with these specific `Windows Terminal` settings applied:

Image

Hide the title bar: **Off**
Always show tabs: **Off**

3. Launch Neovim inside WSL with this minimal `init.lua` including a plugin manager and the plugin with the interaction along with it's required dependencies:

```lua
-- bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git", "clone", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", lazypath,
})
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({
-- install noice, along with it's dependencies
{
"folke/noice.nvim",
event = "VeryLazy",
opts = {
},
dependencies = {
"MunifTanjim/nui.nvim",
}
}
})
```

4. Observe the extra padding below the statusline:

Image

5. Note that this padding is independent from these settings:

Image

6. To prove the above, change all padding to 0 and hide scrollbar visibility:

Image

7. Observe the extra padding's persistence:

Image

8. To prove that this only happens with the setting applied specified in step 2, turn both **Hide the title bar** and
**Always show tabs** back on:

Image

9. Observe the extra padding disappear:

Image

The extra padding does not appear on `Windows Terminal` version: `1.22.12111.0` no matter what combination of settings/plugins you use. You can follow the steps above with any combination of settings/plugins and the padding won't appear.

Note: This issue specifically occurs with noice.nvim, a plugin that removes the traditional command line interface. (I tested with the base vim setting that also removes the command line `vim.opt.cmdheight = 0`and the bug did not appear.(If you decide to test this, you should restart your terminal to ensure stale states do not remain.))

### Expected Behavior

No padding at the bottom

### Actual Behavior

Padding at the bottom

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in Windows Terminal 1.23.12371.0 or later using WSL, noice.nvim, and the settings Hide the title bar off and Always show tabs off; compare with version 1.22.12111.0 and with both settings enabled. Trace the bottom layout behavior associated with the title bar and tabs settings, then verify that the extra padding is absent while the reported configuration remains in use.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.