pocco81 / true-zen.nvim

🦝 Clean and elegant distraction-free writing for NeoVim
GNU General Public License v3.0
967 stars 28 forks source link

Statusbar adds "^" fillchars in Ataraxis mode #100

Open Mange opened 2 years ago

Mange commented 2 years ago

I'm not sure why this happens to me specifically, but it appears to be standard behavior of Vim, so I would presume others have the same issue.

image

When the main window is focused, then the statusbar adds the fillchars. When focusing another "window", then that window gets it instead.

image

Left, Right, and Bottom windows do not get this.

According to the above linked StackExchange link, this happens when StatusLine and StatusLineNC have the same highlight.

Here's a different discussion in nord-vim about how they worked around it: https://github.com/arcticicestudio/nord-vim/issues/37

Vim's manual says that fillchars is both a global value or a window-local value. Perhaps we could override the fillchars to a non-breaking space and restore it when exiting the mode?

[EDIT:] This is on the latest main commit, after #99 was fixed. The problem was there before #99 too, but I was not able to track this down until now.

pocco81 commented 2 years ago

@Mange have you tried setting this in your true-zen config:

statusline = "%#Normal#"

?

Mange commented 2 years ago

Added this option:

image

Still happens…

image

Trying just :TZMinimalist and manually splitting still shows this appearing under the focused window.

image

This does not happen in my theme before :TZMinimalist (or after disabling minimalist again) since the highlights are different.

image

loqusion commented 2 years ago

@Mange 1488013 makes it so whatever 'statusline' you set for minimalist is overridden when you enable lualine integration.

I've actually been experiencing issues similar to you, and I made a fork of the project that fixes them. I haven't made a PR since I made some breaking changes and did quite a bit of opinionated refactoring that made it easier for me to reason about the codebase. In addition to fixing this issue, minimalist and ataraxis are (mostly) decoupled so that you can configure minimalist without those changes trickling down to ataraxis, enabling one mode disables all the other modes first to stop nesting issues, integrations.lualine config was removed so that the code detects lualine and hides it automatically, and the _pos callbacks were renamed to _post.

If you want to try it out to see if that fixes the ^'s for you, be sure to change the repo name to loqusion/true-zen.nvim and remove the integrations.lualine from your true-zen config. I'm not sure if I'll make a PR yet since I don't want to intrude too much upon @Pocco81's intentions for this codebase.

If you do try it, let me know how it works out for you!

Mange commented 2 years ago

Still happens in your fork, sadly. :-(

image

(And since Lualine integration is removed Lualine stays visible.)

loqusion commented 2 years ago

I just cloned your dotfiles and here's what I see:

image

Perhaps you forgot to add branch = 'some-fixes'? I know, it's kinda weird :P I did it because it's an experimental fork and not meant to replace the original project.

EDIT: I just went ahead and pushed to the fork's main branch. No need to add the line any more, just run PackerSync.

Mange commented 2 years ago

Ha ha, yeah. I must've forgotten that change. I can confirm I get the correct results now in your fork. :facepalm:

Thank you!

oblitum commented 1 year ago

It's my second attempt trying this plugin after a long time (I've been using folke/zen-mode.nvim), and this issue comes up right away. @loqusion's fork indeed fixes the problem.

kanielrkirby commented 5 months ago

@Mange 1488013 makes it so whatever 'statusline' you set for minimalist is overridden when you enable lualine integration.

I've actually been experiencing issues similar to you, and I made a fork of the project that fixes them. I haven't made a PR since I made some breaking changes and did quite a bit of opinionated refactoring that made it easier for me to reason about the codebase. In addition to fixing this issue, minimalist and ataraxis are (mostly) decoupled so that you can configure minimalist without those changes trickling down to ataraxis, enabling one mode disables all the other modes first to stop nesting issues, integrations.lualine config was removed so that the code detects lualine and hides it automatically, and the _pos callbacks were renamed to _post.

If you want to try it out to see if that fixes the ^'s for you, be sure to change the repo name to loqusion/true-zen.nvim, add branch = 'some-fixes' to your packer config, and remove the integrations.lualine from your true-zen config. I'm not sure if I'll make a PR yet since I don't want to intrude too much upon @pocco81's intentions for this codebase.

If you do try it, let me know how it works out for you!

Nearly 2 years later, and I ran into this issue. Searched through the plugin's issues and found you, don't know how many people actually ran into this at all, but we appreciate you lol. Really unfortunate problem with this plugin, as I run into lag issues with folke's zen plugin (love folke, I probably just did something wrong with my config, but this plugin has everything I need and I've already spent a couple too many hours configuring my writing environment for the day haha).

TL;DR, thanks man.