Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full reloading hyper with cursor blink breaks display #10

Closed
Erazihel opened this issue Apr 13, 2017 · 4 comments
Closed

Full reloading hyper with cursor blink breaks display #10

Erazihel opened this issue Apr 13, 2017 · 4 comments

Comments

@Erazihel
Copy link

Erazihel commented Apr 13, 2017

Full reloading Hyper using cmd + shift + r breaks the display of the terminal when the cursor blinks. I've disabled this feature setting the flag to false in the .hyper.js file and I can full reload without breaking the display.

Here's my .hyper.js:

module.exports = {
  config: {
    // default font size in pixels for all tabs
    fontSize: 14,

    // font family with optional fallbacks
    fontFamily: '"Meslo LG S for Powerline", Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',

    // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
    cursorColor: '',

    // `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █
    cursorShape: 'BEAM',

    // set to true for blinking cursor
    cursorBlink: false,

    // color of the text
    foregroundColor: '#fff',

    // terminal background color
    backgroundColor: '#282c34',

    // border color (window, tabs)
    borderColor: '#282c34',

    // custom css to embed in the main window
    css: '',

    // custom css to embed in the terminal window
    termCSS: 'x-row {line-height: normal;}',

    // set to `true` if you're using a Linux set up
    // that doesn't shows native menus
    // default: `false` on Linux, `true` on Windows (ignored on macOS)
    showHamburgerMenu: '',

    // set to `false` if you want to hide the minimize, maximize and close buttons
    // additionally, set to `'left'` if you want them on the left, like in Ubuntu
    // default: `true` on windows and Linux (ignored on macOS)
    showWindowControls: '',

    // custom padding (css format, i.e.: `top right bottom left`)
    padding: '12px 14px',

    // the full list. if you're going to provide the full color palette,
    // including the 6 x 6 color cubes and the grayscale map, just provide
    // an array here instead of a color map object
    colors: {
        black: '#000000',
        red: '#ff0000',
        green: '#33ff00',
        yellow: '#ffff00',
        blue: '#0066ff',
        magenta: '#cc00ff',
        cyan: '#00ffff',
        white: '#d0d0d0',
        lightBlack: '#808080',
        lightRed: '#ff0000',
        lightGreen: '#33ff00',
        lightYellow: '#ffff00',
        lightBlue: '#0066ff',
        lightMagenta: '#cc00ff',
        lightCyan: '#00ffff',
        lightWhite: '#ffffff'
    },
    // the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
    // if left empty, your system's login shell will be used by default
    shell: '/usr/local/bin/zsh',

    // for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
    // by default ['--login'] will be used
    shellArgs: ['--login'],

    // for environment variables
    env: {},

    // set to false for no bell
    bell: 'SOUND',

    // if true, selected text will automatically be copied to the clipboard
    copyOnSelect: true,

    // URL to custom bell
    // bellSoundURL: 'http://example.com/bell.mp3',

    // for advanced config flags please refer to https://hyper.is/#cfg

    // Plugins configuration
    nordHyper: {
	     cursorBlink: false,
    },

    hyperlinks: {
        defaultBrowser: true
    }
  },

  // a list of plugins to fetch and install from npm
  // format: [@org/]project[#version]
  // examples:
  //   `hyperpower`
  //   `@company/project`
  //   `project#1.0.1`
  plugins: [
    'hyperline',
    'hyperlinks',
    //'hyperterm-atom-dark',
    'nord-hyper'
  ],

  // in development, you can create a directory under
  // `~/.hyper_plugins/local/` and include it here
  // to load it and avoid it being `npm install`ed
  localPlugins: [],
};

out

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Apr 20, 2017

Thanks for your report 👍
I was not able to reproduce this on Arch Linux and I'll try it on OSX and Windows as soon as possible.

Basically the blinking feature is not necessary anymore. Hyper patched the official feature 2 days after I've implemented this theme feature 😆
But unfortunately the blinking animation it is not as smooth as my theme feature since it does not use fade-in-out transitions. I've also already expected that there might be problems if both features are enabled at the same time.
Maybe I'll just remove the feature and implement a smoother animation for the official blinking feature and create a PR for it.

@Erazihel
Copy link
Author

Erazihel commented Apr 20, 2017

You're welcome :) Something might be wrong with my configuration though.

Yeah I highly prefer the blinking animation from your theme than Hyper's.
By adding custom CSS properties to the Hyper one, you should be able to get it as smooth as it is on your feature.

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Jul 15, 2017

@Erazihel Hey, sorry for my late reply, I've been busy with my job.

Is this still a problem? I've tried to reproduce this using Hyper 1.3.3 and everything works fine. Maybe this was also related to the fact that you're running zsh and I've tested it using bash ;)

If the problem is still present I'll remove the theme feature for now and maybe get back to it later.

@arcticicestudio arcticicestudio added this to the 0.4.1 milestone Oct 3, 2017
arcticicestudio added a commit that referenced this issue Oct 3, 2017
The "cursorBlink" configuration, implemented in #7, caused the display
to break when Hyper gets fully reloaded.

Users can now use the cursor blinking feature which is provided by
Hyper out-of-the-box.

GH-10
@arcticicestudio
Copy link
Contributor

Sorry for the long delay, I've had almost no freetime to work on my projects. I've removed the cursor blinking configuration in #12 for now, users can switch to the builtin feature provided by Hyper introduced in version 1.3.0.

arcticicestudio added a commit that referenced this issue Oct 5, 2017
…with-cursor-blink-breaks-display

Remove cursor blink configuration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants