Extra padding on bottom when showTabsInTitlebar is false #23577

Open
opened 2026-01-31 08:46:19 +00:00 by claunia · 4 comments
Owner

Originally created by @jb49088 on GitHub (Aug 31, 2025).

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:

Plugin with interaction:

Steps to reproduce

  1. Make sure Windows Terminal is >= version 1.23.12371.0:
Image
  1. This bug only occurs with these specific Windows Terminal settings applied:
Image

Hide the title bar: Off
Always show tabs: Off

  1. 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:
-- 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",
    }
  }
})
  1. Observe the extra padding below the statusline:
Image
  1. Note that this padding is independent from these settings:
Image
  1. To prove the above, change all padding to 0 and hide scrollbar visibility:
Image
  1. Observe the extra padding's persistence:
Image
  1. 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
  1. 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 = 0and 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

Originally created by @jb49088 on GitHub (Aug 31, 2025). ### 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`: <img width="755" height="71" alt="Image" src="https://github.com/user-attachments/assets/be434fbb-9609-48e0-840e-a923d883e91d" /> 2. This bug only occurs with these specific `Windows Terminal` settings applied: <img width="759" height="126" alt="Image" src="https://github.com/user-attachments/assets/b766faf9-3eb8-4e48-baec-53508f582089" /> 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: <img width="1115" height="628" alt="Image" src="https://github.com/user-attachments/assets/80992ed1-07c4-478f-a425-4406197ab24c" /> 5. Note that this padding is independent from these settings: <img width="738" height="124" alt="Image" src="https://github.com/user-attachments/assets/564588d0-8746-4736-8b1b-895a3e0aa2b0" /> 6. To prove the above, change all padding to 0 and hide scrollbar visibility: <img width="743" height="125" alt="Image" src="https://github.com/user-attachments/assets/a0c75a35-86e3-4402-8967-c9c445387d60" /> 7. Observe the extra padding's persistence: <img width="1082" height="612" alt="Image" src="https://github.com/user-attachments/assets/44879a93-1a59-417d-a2a3-62778dc64767" /> 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: <img width="733" height="144" alt="Image" src="https://github.com/user-attachments/assets/913ad9a3-1301-4d60-8781-00a6c946ac09" /> 9. Observe the extra padding disappear: <img width="1082" height="612" alt="Image" src="https://github.com/user-attachments/assets/fae99342-92e9-46c6-bebb-409a79ef427f" /> 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
claunia added the Help WantedIssue-BugPriority-3Impact-VisualProduct-Terminal labels 2026-01-31 08:46:19 +00:00
Author
Owner

@DHowett commented on GitHub (Sep 3, 2025):

You know, I wonder if this is just because we miscalculate the height of the title bar when you're running in "don't show tabs in the titlebar" mode.

In your "broken" screenshot, the titlebar is 44px, and the unexpected gutter is 15px tall.

In your "fixed" screenshot, the tab-bar-title-bar combo is 59px tall.

@DHowett commented on GitHub (Sep 3, 2025): You know, I wonder if this is just because we miscalculate the height of the title bar when you're running in "don't show tabs in the titlebar" mode. In your "broken" screenshot, the titlebar is 44px, and the unexpected gutter is 15px tall. In your "fixed" screenshot, the tab-bar-title-bar combo is 59px tall.
Author
Owner

@j4james commented on GitHub (Sep 3, 2025):

This might be related to #8527. That also mentions a problem with the window size calculation when showTabsInTitlebar is false.

@j4james commented on GitHub (Sep 3, 2025): This might be related to #8527. That also mentions a problem with the window size calculation when `showTabsInTitlebar` is false.
Author
Owner

@cnaples79 commented on GitHub (Oct 1, 2025):

I submitted a PR to fix this.

@cnaples79 commented on GitHub (Oct 1, 2025): I submitted a PR to fix this.
Author
Owner

@stako commented on GitHub (Nov 2, 2025):

Happens with Hide the title bar and Always show tabs enabled as well, but only when Windows Terminal is maximized.

@stako commented on GitHub (Nov 2, 2025): Happens with `Hide the title bar` and `Always show tabs` enabled as well, but only when Windows Terminal is maximized.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#23577