hyper icon indicating copy to clipboard operation
hyper copied to clipboard

Powerline spacing regression in 3.0.0

Open mhall opened this issue 5 years ago • 30 comments

  • [X] I am on the latest Hyper.app version
  • [X] I have searched the issues of this repo and believe that this is not a duplicate
  • OS version and name: Windows 10 1809
  • Hyper.app version: 2.1.2 and 3.0.0
  • Link of a Gist with the contents of your .hyper.js: Unmodified except for setting font family and size, and adding hyper-solarized-dark plugin
  • Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere):
  • The issue is reproducible in vanilla Hyper.app: Yes

Issue

I tried out the latest 3.0.0 canary 8, and there is a significant regression in the display of Powerline arrow symbols. I searched existing issues and found several discussing Powerline font-related issues but none that seemed specific to rendering differences between v2.1.2 and v3.0.0. I am using zsh + oh-my-zsh with the popular agnoster theme. Font does not seem to be an issue -- behavior is the same under Consolas Nerd Font and Fira Code. The spacing / coloring is off significantly in v3 to the point of being distracting. It was never perfect in v2, but it was far better, and identical to vscode so the imperfections are almost certainly an upstream issue for xterm.js. Easiest to demonstrate with screenshots:

hyper-powerline-2 1 2 Hyper v2.1.2

hyper-powerline-3 c 8 Hyper v3.0.0 canary 8

vscode-powerline VS Code

powershell-powerline Powershell (perfect rendering)

I have uninstalled the solarized-dark plugin to revert Hyper to stock settings, but this did not have any effect on this issue. Any ideas on what I could do to get v3 at least back to the quality level of v2?

mhall avatar Apr 27 '19 14:04 mhall

Confirming this issue. It's persisted now for quite awhile and has made me move away from Hyper for the time being.

EDIT: Windows 10 17763.475 with Meslo LG M DZ for Powerline

andrewkhunn avatar May 06 '19 02:05 andrewkhunn

Don't know if it matters, but I'm having the same issue on macOS 10.14.3

martenjacobs avatar May 06 '19 07:05 martenjacobs

Same problem here, Windows 10 17134. Font used: Fira Mono for Powerline

tbgse avatar May 06 '19 07:05 tbgse

Same exact issue, macOS 10.14.4. A way to get back to v2 quality (or better) would be highly appreciated!

aagerblad avatar May 06 '19 08:05 aagerblad

Same issue on Ubuntu 18.04.2, with font Roboto Mono for Powerline Capture d’écran de 2019-05-06 11-59-39

romaindurand avatar May 06 '19 10:05 romaindurand

Same issue, Win10 17763 with Ubuntu Mono derivative Powerline image

el3gy avatar May 06 '19 11:05 el3gy

This issue seems related to the WebGL rendering, as turning webGLRenderer to false in config seems to revert to hyper v2 behavior

ManoelLobo avatar May 06 '19 12:05 ManoelLobo

This issue seems related to the WebGL rendering, as turning webGLRenderer to false in config seems to revert to hyper v2 behavior

I don't see any difference with webGLRenderer: false, Which OS are you on?

aagerblad avatar May 06 '19 15:05 aagerblad

Same issue here on Ubuntu 18.04 using Ubuntu Mono and PowerlineSymbols

image

edit: the solution of ManoelLobo fixes the problem.

Barben360 avatar May 06 '19 15:05 Barben360

Setting webGLRenderer: false worked for me on latest Windows 10. It also restored font ligatures (with the appropriate plugin), which were also broken by the v3 release.

mhall avatar May 06 '19 16:05 mhall

Hi, @andreascmj

Which OS are you on?

I tested both on Ubuntu (OS: Ubuntu 18.04 bionic Kernel: x86_64 Linux 4.15.0-48-generic) as well as Ubuntu on Windows (WSL) (OS: Ubuntu 18.04 bionic [Ubuntu on Windows 10] Kernel: x86_64 Linux 4.4.0-17134-Microsoft)

ManoelLobo avatar May 06 '19 16:05 ManoelLobo

Hmm, wonder if I need to do something else on macOS. Anyone on mac that have had success with the fix?

aagerblad avatar May 06 '19 19:05 aagerblad

Setting webGLRenderer: false on macOS Mojave 10.14.4 worked for me.

krothenbaum avatar May 06 '19 21:05 krothenbaum

Setting webGLRenderer: false DOES revert to older behavior. However, v2 rendering still has a glyph alignment issue with resizing, causing a 1px "overhang": image

This issue is also present in webGL rendering, and can be seen in all above images.

el3gy avatar May 07 '19 04:05 el3gy

Hi, @krothenbaum

Setting webGLRenderer: false on macOS Mojave 10.14.4 worked for me

Can you just share your config file in a gist so that I'm not missing anything super obvious?

Edit: Sorry, I missed something super obvious. I put the webGLRenderer: false at the wrong place in the file. So now I have the same as @el3gy, it works but is back to 1px overhang as in v2.

aagerblad avatar May 07 '19 05:05 aagerblad

Even with WebGL enabled if a "transparent" background color is set the render artifacts disappear on my end.

I'm just using #333333ee as my background color here. The terminal obviously isn't transparent, but Powerline is rendering fine: Screenshot_2019-05-08_12-49-23

5310 avatar May 08 '19 07:05 5310

I'm just using #333333ee as my background color here. The terminal obviously isn't transparent, but Powerline is rendering fine:

You've got the 1px overhang too

el3gy avatar May 08 '19 21:05 el3gy

You've got the 1px overhang too

That I do. But the overhang, unfortunately, isn't a regression.

5310 avatar May 09 '19 03:05 5310

I did the webGLRenderer: false trick and it fixed my fonts, so that's good. The header transparency is still weird though. I don't know if it's related. I'll create a different issue if not.

This is how it looks "all the time." Screen Shot 2019-05-09 at 17 48 52 However, in opening up the preferences to make the above edit, it went back to 'normal.' Screen Shot 2019-05-09 at 17 48 44 But it's only when moving focus from Hyper to SublimeText in the context of editing the prefs file. Moving back and forth between apps not in the context of editing Hyper's prefs do not 'fix' the header.

scott-joe avatar May 09 '19 21:05 scott-joe

Managed to fix 1px overhang; it was a font issue all along.

Grabbed a better font from this repo and now I'm looking at this (with webGLRenderer: false):

image

For comparison (and to rule out font issues), here's Windows Terminal's rendering of the same font:

image

el3gy avatar Aug 06 '19 09:08 el3gy

Using the font from the repo mentioned by @el3gy worked for me on MacOS!

Changed from the Meslo LG M for Powerline to MesloLGM Nerd Font which is the same but without the spacing 🎉

Symbianx avatar Aug 06 '19 09:08 Symbianx

Can you try with a CI build of current canary or maybe compile one yourself?

Stanzilla avatar Oct 12 '19 14:10 Stanzilla

Setting webGLRenderer: false on macOS Mojave 10.14.4 worked for me.

It worked also for me on macOS Catalina 10.15.2

ghost avatar Dec 29 '19 04:12 ghost

Encountered this issue using JetBrainsMono NF with Hyper on Windows 10 (issue occured at various font sizes, and with other powerline/nerdfonts as well). Display resolution is 3840x2160. Setting webGLRenderer: false did fix it, but it would be nice if the webgl renderer would also support these fonts correctly.

alterae avatar Jun 16 '21 21:06 alterae

I had this issue earlier, but not seeing it now on 3.1.1 using either webgl or canvas renderer. Can you please check.

LabhanshAgrawal avatar Aug 01 '21 10:08 LabhanshAgrawal

Tilix:

image

Hyper 3.1.1:

image image

s3rgeym avatar Aug 04 '21 05:08 s3rgeym

    fontFamily: '"JetBrainsMono Nerd Font Mono", Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',

s3rgeym avatar Aug 04 '21 05:08 s3rgeym

Same problem =(

2022-10-03_16-35

SeryiBaran avatar Oct 03 '22 13:10 SeryiBaran

one yr later...

s3rgeym avatar Oct 24 '22 19:10 s3rgeym

@s3rgeym can you try out a build from https://github.com/vercel/hyper/pull/6856 it updates xterm which has improved powerline rendering in the recent release there's quite a few changes in the new release, so this pr is quite rough, but should be good enough to test.

LabhanshAgrawal avatar Nov 06 '22 17:11 LabhanshAgrawal