Repository: neovim
Issue: UI: more control over statusline, tabline
Labels: enhancement,ui,floatwin,statusline

### Feature already in Vim?

I don't think so.

### Feature description

Hi there.

I've been following the issues segment for quite a while, and even posted a few requests myself: [here](https://github.com/neovim/neovim/issues/11924#issuecomment-886088202), [here](https://github.com/neovim/neovim/issues/9342#issuecomment-894888992), and [here](https://github.com/neovim/neovim/issues/1435#issuecomment-670837497).

The thing is, I'm building a collection of plug-ins and since they are growing in number, I fear I won't be able to move forward with some ideas because of some limitations.

# Limitation number 1 (global tabline)

This limitation only affects the looks in one the my plugins, but it may be important in the future for other ones. The plugin is called [Zoom](https://gitlab.com/nvpm/zoom) and it's nothing more than a distraction-free implementation. The thing is, Zoom gives support to another one of my plugins now call [nvpm](https://gitlab.com/nvpm/nvpm), which is gonna be broken down into more plugins soon. 

The problem itself is regarding the fact that the tabline is unique to all buffers. The "problem" can be seen in the following screenshot:

![zoom](https://user-images.githubusercontent.com/7888397/130158793-09723513-77de-4e2b-a040-ff5e5744abf0.png)

You can see that the tabline occupies the whole width of the screen, whereas the statusline is only local to the buffer in the middle. 

Solution I want: I want to be able to set the tabline to apear only on the focuses buffer (the one in the middle in the shot above). Moreover, the command-line is also global, and it would be perfect to have it occupy only the width of the focused buffer, right below the statusline.

# Limitation number 2 (statusline on every buffer)

I've described [here](https://github.com/neovim/neovim/issues/1435#issuecomment-670837497) that this would be perfect for a future implementation of splits, in my plugin now called nvpm. This plugin will be split into others, amongst them there will be one called `line`, which would then need this feature.

Solution I want: I would love to be able to have more control over where to draw the statusline. For example, I'd like to set it in a specific position and also to set it's width. This way I would handle splits better in those plugins. It's a feature that I really want to implement, but I already know it's gonna be impossible.

This problem also affects the [zoom](https://gitlab.com/nvpm/zoom), because I'd also like to have the statuslines from the padding buffers to be canceled, because they consume part of the usable width and height. For now I'm only handling their highlighting to make them appear to have vanished, but they're still there.

# Limitation number 3 (no mouse handling for statusline)

I only knew this was an issue when I saw [this](https://github.com/neovim/neovim/issues/11924), and I'm not sure if it is already possible.

This would also improve and increase the use cases of some of my plugins. I'm preparing to implement a mouse event handling, and I fear to have this as a problem.

Solution I want: to have mouse support for MouseClick, MouseScroll, and MouseHover (if possible) for both tab and status lines.

I've thought of this use case to be in such a way that you gonna be able to do a lot just by moving the mouse around.

Well, I hope I was clear enough. I also understand that there is currently 1.2k opened issues, so I'll definitely understand if I never get a reply for this. In any event, I appreciate any efforts on making this real.

with regards,
Itamar Soares