A terminal built on web technologies

Overview

Node CI Changelog #213

For more details, head to: https://hyper.is

Project goals

The goal of the project is to create a beautiful and extensible experience for command-line interface users, built on open web standards. In the beginning, our focus will be primarily around speed, stability and the development of the correct API for extension authors.

In the future, we anticipate the community will come up with innovative additions to enhance what could be the simplest, most powerful and well-tested interface for productivity.

Usage

Download the latest release!

Linux

Arch and derivatives

Hyper is available in the AUR. Use an AUR package manager e.g. paru

paru -S hyper

NixOS

Hyper is available as Nix package, to install the app run this command:

nix-env -i hyper

macOS

Use Homebrew Cask to download the app by running these commands:

brew update
brew install --cask hyper

Windows

Use chocolatey to install the app by running the following command (package information can be found here):

choco install hyper

Note: The version available on Homebrew Cask, Chocolatey, Snapcraft or the AUR may not be the latest. Please consider downloading it from here if that's the case.

Contribute

Regardless of the platform you are working on, you will need to have Yarn installed. If you have never installed Yarn before, you can find out how at: https://yarnpkg.com/en/docs/install.

  1. Install necessary packages:
  • Windows
    • Be sure to run yarn global add windows-build-tools from an elevated prompt (as an administrator) to install windows-build-tools.
  • macOS
    • Once you have installed Yarn, you can skip this section!
  • Linux (You can see here what your Linux is based on.)
    • RPM-based
      • GraphicsMagick
      • libicns-utils
      • xz (Installed by default on some distributions.)
    • Debian-based
      • graphicsmagick
      • icnsutils
      • xz-utils
  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Install the dependencies: yarn
  3. Build the code and watch for changes: yarn run dev
  4. To run hyper
  • yarn run app from another terminal tab/window/pane
  • If you are using Visual Studio Code, select Launch Hyper in debugger configuration to launch a new Hyper instance with debugger attached.
  • If you interrupt yarn run dev, you'll need to relaunch it each time you want to test something. Webpack will watch changes and will rebuild renderer code when needed (and only what have changed). You'll just have to relaunch electron by using yarn run app or VSCode launch task.

To make sure that your code works in the finished application, you can generate the binaries like this:

yarn run dist

After that, you will see the binary in the ./dist folder!

Known issues that can happen during development

Error building node-pty

If after building during development you get an alert dialog related to node-pty issues, make sure its build process is working correctly by running yarn run rebuild-node-pty.

If you are on macOS, this typically is related to Xcode issues (like not having agreed to the Terms of Service by running sudo xcodebuild after a fresh Xcode installation).

Error with c++ on macOS when running yarn

If you are getting compiler errors when running yarn add the environment variable export CXX=clang++

Error with codesign on macOS when running yarn run dist

If you have issues in the codesign step when running yarn run dist on macOS, you can temporarily disable code signing locally by setting export CSC_IDENTITY_AUTO_DISCOVERY=false for the current terminal session.

Related Repositories

Comments
  • Add Windows support and first-class Linux support

    Add Windows support and first-class Linux support

    TODO

    • [x] ~~Fix npm prune; npm install --production on Windows~~ – https://github.com/zeit/hyper/pull/946/commits/35df44448d0a057a4ded7b536fac72b446e85860
    • [x] ~~Fix NODE_ENV=production webpack on Windows~~ https://github.com/zeit/hyper/pull/946/commits/a1aacdb7fa9579ff142168479fd36f8a48beff2f
    • [x] ~~Add a bigger icon.ico for Windows~~ https://github.com/zeit/hyper/pull/946/commits/90287264aee1a647bbab41477b8ea5d8fa34ec4d
    • [x] ~Build on AppVeyor~
    • [x] ~Add Building on Windows to README.md~
    • [ ] Add a GIF to show when installing on Windows – cc @rauchg @evilrabbit
    • [x] Find out why hotkeys like Ctrl+T, Ctrl+N etc aren't working – related: #274
    • [x] ~Fix the maximize and close SVGs – cc @CodeTheory @evilrabbit~
    • [x] ~Add padding to the hamburger menu, minimize, maximize and close buttons – cc @CodeTheory @evilrabbit~
    • [x] ~Design review – cc @CodeTheory @evilrabbit @rauchg~
    • [x] ~Add CSS classes to enable customization of the hamburger menu, minimize, maximize and close buttons~ .header_shape is enough
    • [x] Performance review – cc @rauchg
    • [x] ~Test on macOS to make sure that pty.js doesn't introduce any weird behavior~

    Summary

    • child_pty => pty.js to enable Windows support (https://github.com/zeit/hyper/commit/7f29ead1d52d6ad79cf1839d51fba92120419ba6)
    • A brand new interface for Linux and Windows (macOS stays untouched) (https://github.com/zeit/hyper/commit/9dbff528390c92ee8bd07b3a99b1724ea9cd7ee3):

    screen shot 2016-10-30 at 8 34 15 pm screen shot 2016-10-30 at 8 35 11 pm

    Why this new design 🤔

    When you create a frameless window, you need to specify -webkit-app-region: drag in CSS to tell Electron which regions are draggable. Electron's documentation states:

    Note that if you have made the whole window draggable, you must also mark buttons as non-draggable, otherwise it would be impossible for users to click on them

    The problem is that on macOS, the above is simply not true. An element specified as the draggable region will receive click events:

    kapture 2016-10-28 at 16 56 30

    On Linux and Windows, the behavior is the one described in the documentation – the element will not receive click events:

    kapture 2016-10-28 at 2 07 50 (On Windows/Linux you can drag the window too, I just didn't recorded it)

    With that in mind, we introduced a new <div> that becomes visible on Windows/Linux when there are two or more open tabs:

    kapture 2016-10-30 at 22 47 59

    Building on Windows

    To build on Windows you need to install some dependencies and run some commands:

    1. Install VC++ Build Tools Technical Preview using the Default Install option
    2. Install Python 2.7, add it to your PATH and run npm config set python python2.7
    3. Run npm config set msvs_version 2015 --global

    About pty.js

    We're using @Tyriar's fork of pty.jsthe same used on Visual Studio Code. Check #190 for a discussion on that.

    Feeback wanted

    We need your feedback to make sure this feature is 💯 👌 💅 ✨ for the upcoming 1.0.0 release! Any help is more than welcome, especially with tests on Windows and Linux (and macOS too, to make sure that there are no unexpected side effects) 😄

    Closes #167; Closes #190; Closes #795;

    🎨 Type: Enhancement 💬 Feedback Wanted ‼️ Priority: OMG Maximum 👩‍🔬 Status: In Progress 🤯 Type: Compatibility 🐧 Platform: Linux 🖼 Platform: Windows 
    opened by matheuss 98
  • Error updating plugins

    Error updating plugins

    Each time I start HyperTerm or try to update plugins, I get this notification:

    Error updating plugins
    Check `~/.hyperterm_plugins/npm-debug.log` for more information.
    

    My plugin works, but this error keeps coming up. Not sure how to start debugging because the said npm-debug.log doesn't exist. I tried reinstalling HyperTerm but still the same problem.

    🐛 Type: Bug help wanted 
    opened by silvenon 94
  • Input Very Laggy After Update to 2.0

    Input Very Laggy After Update to 2.0

    • [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 Anniversary Edition

    • Hyper.app version: 2.0

    • Link of a Gist with the contents of your .hyper.js: https://gist.github.com/BrysonR/d37a699fced1f16ea451e3015344fdd0

    • Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere): total init time 515.8100000000002 bundle.js:1 [Violation] 'requestAnimationFrame' handler took 371ms bundle.js:1 [Violation] 'requestAnimationFrame' handler took 357ms bundle.js:1 [Violation] 'requestAnimationFrame' handler took 354ms bundle.js:1 [Violation] 'requestAnimationFrame' handler took 399ms bundle.js:1 [Violation] 'requestAnimationFrame' handler took 394ms bundle.js:1 [Violation] 'requestAnimationFrame' handler took 404ms bundle.js:1 [Violation] 'requestAnimationFrame' handler took 373ms

    • The issue is reproducible in vanilla Hyper.app: Is Vanilla

    Issue

    Since upgrading to 2.0 a few minutes ago any prompt input is incredibly laggy. Looking at the dev tools console it looks like requestAnimationFrame handler is taking between 300-513ms to respond from a few test keystrokes I did for the purpose of this issue.

    help wanted ❣️ Priority: High 📊 Type: Performance 
    opened by BrysonR 91
  • Hyper 3.0.2 window does not open on Windows 10

    Hyper 3.0.2 window does not open on Windows 10

    • [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: Microsoft Windows 10 Home version 10.0.18362

    • Hyper.app version: 3.0.2

    • Link of a Gist with the contents of your .hyper.js: the file doesn't exist because the app never properly launched

    • Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere): unable to launch the app

    • The issue is reproducible in vanilla Hyper.app: Yes. This is from a fresh install of Hyper, first launch.

    Issue

    When I try to launch Hyper, it appears as though nothing happens. However, the weird thing is, the Hyper process does show up in task manager. However, there is no icon for it on the start bar, and there is no window anywhere.

    image

    🖼 Platform: Windows 
    opened by mrjones2014 88
  • Text Wrapping Problem

    Text Wrapping Problem

    On the screen grab below you can see part of a command:

    image

    Here is what happens when I type the next character:

    image

    I typed an s to complete the word 'works' and then like which started to appear over the other text which was no longer visible.

    🐛 Type: Bug 
    opened by xscheiner 73
  • Plugins not installing

    Plugins not installing

    Plugins won't install for me at this point.

    Console log from fresh open:

    (re)loading renderer plugins
    Error: Cannot find module '/Users/tierney/.hyperterm_plugins/node_modules/hyperpower'
        at Module._resolveFilename (module.js:438:15)
        at Function.Module._resolveFilename (/Applications/HyperTerm.app/Contents/Resources/electron.asar/common/reset-search-paths.js:47:12)
        at Function.Module._load (module.js:386:25)
        at Module.require (module.js:466:17)
        at require (internal/module.js:20:19)
        at file:///Applications/HyperTerm.app/Contents/Resources/app/build/dist/bundle.js:1:10828
        at Array.map (native)
        at P (file:///Applications/HyperTerm.app/Contents/Resources/app/build/dist/bundle.js:1:10779)
        at Object.<anonymous> (file:///Applications/HyperTerm.app/Contents/Resources/app/build/dist/bundle.js:1:11881)
        at __webpack_require__ (file:///Applications/HyperTerm.app/Contents/Resources/app/build/dist/bundle.js:1:119)
    [Notification] Plugin load error: "hyperpower" failed to load in the renderer process. Check Developer Tools for details.
    total init time 173.95
    Unimplemented DEC Private Mode: 1034
    
    help wanted 🤯 Type: Compatibility 
    opened by bnb 69
  • Keymaps

    Keymaps

    Keymaps Feature

    On this implementation, I included a base of Keymap following three specific files.

    darwin.json
    win32.json
    linux.json
    

    This way, the Keymap will be easier to manage using accelerator. Since we want the Keymap to be easily modified and not forcing the remplacement of metaKey depending of the operating system.

    New file structure

    .hyper/config.js
    .hyper/plugins
    .hyper/local
    

    New DEV structure

    You can now do development when running Hyper locally and the DEV folder will not be created in the production build

    • config will be at .hyper/DEV/config.js

    Resolve

    #233 Tmux bind ` #657 make keyboard shortcuts configurable #783 Rich Support for Tweaking Modifier Keys #833 Most common readline keybinding don't work (ctrl-a, ctrl-e, ctrl-w etc.) #872 Flexible keymap (hotkeys / shortcut) #1069 Ctrl+X not working in nano #1100 CTRL+a does not work in tmux under Linux #1120 1.0.0 release broke some keybindings #1178 Change realod accelerator #1185 Shortcuts break when using Alt key as Meta #1199 Ctrl + W closes the terminal #1200 [windows] Control characters not working! #1279 Git automerge - nano edit fail #1361 Hyperterm doesn't handle Alt key combinations correctly #1424 Running nano from Hyper on Windows, doesn't allow me to exit with CTRL+X. #1584 Plugins Existences #1589 Crashes on open with invalid config #1627 close on CTRL-W #1776 Gaze is adding all folders in HOME to watch list #1782 JOE Editor and Hyper, disabling shortcuts for proper use

    ‼️ Priority: OMG Maximum 🙅‍♀️ Status: On Hold 
    opened by ppot 68
  • Change to xterm.js

    Change to xterm.js

    Hi, after evaluating several JS libs for terminal emulation to improve the performance of hyper, I found that https://github.com/sourcelair/xterm.js would probably better suite this project.

    • 👍 It is actively maintained.
    • 👍 Used by Visual Studio Code and maintained by @Tyriar , who would probably welcome some combined efforts on fixing bugs and improving xterm.js
    • 👍 It doesn't require to sign an NDA to contribute
    • 👍 It doesn't isolate the terminal DOM inside an iframe, which makes it much easier to hack and style
    • 👍 It has solved some of the problems we are having with hterm currently, e.g. IME and CJK character support
    • 👎 It is currently being migrated to typescript, which might not be everyone's favourite flavour
    • 👎 ~~It feels slightly less responsive at the moment, I think this is caused by the queue mechanism that tries to schedule big ui updates and introduces some ms lag - but it can be optimized~~

    I did some quick tests replacing hterm with xterm.js and the performance seems level. I was also able to quick and dirty put in some of the features we get from hterm, e.g. changing the cursor color on bell.

    If you like I can start working on pull request that replaces the current implementation with xterm.js, but I'd like to see some thumbs up for that first :neckbeard:

    🎨 Type: Enhancement 💬 Feedback Wanted 
    opened by mofux 68
  • Hyper window freezes when I try to close it

    Hyper window freezes when I try to close it

    • [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: Version 1903 Windows Pro Insider Preview
    • Hyper.app version: 3.0.2

    Issue

    I am using hyper with a cmd shell, I also have wsl and oh my zsh set up. when I run wsl command in my hyper terminal, wsl and ohmyzsh works just fine, but whenever I try to exit the window, it freezes and it stays like that until I kill the process through the Task Manager

    opened by rofazayn 67
  • Powerline not usable in Hyper

    Powerline not usable in Hyper

    • [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 with Linux Subsystem (Ubuntu)

    • Hyper.app version: 1.4.8

    • Link of a Gist with the contents of your .hyper.js: https://gist.github.com/b0rski/3630e9705fb547df0f8fbc9fbf960a8a#file-hyper-js

    • Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere): No idea what that is. I'm on Windows.

    • The issue is reproducible in vanilla Hyper.app: Yes, even with all plugins removed, including hyperterm-base16-tomorrow-night.

    Issue

    When I try to use powerline in bash or zsh and tmux or the powerlevel9k theme for oh my zsh, the characters and colors are not displayed correctly. I have powerline patched fonts installed under Windows and in the Ubuntu subsystem.

    hyper

    I tried different patched (Inconsolata, DejaVu Sans Mono and so on) fonts and setting UTF8 for locale but nothing works.

    How do I get Hyper to display everything correctly like in the gnome terminal on Fedora or Ubuntu?

    opened by c0desurfer 66
  • Update Electron to v6

    Update Electron to v6

    Update to Electron 6.0.0.

    Update packages:

    • electron
    • electron-builder
    • electron-rebuild

    Update the nodeIntegration default which was changed in Electron 5.0.0.

    Add missing plist package required from updating the packages

    🎨 Type: Enhancement 
    opened by razfriman 61
  • Javascript Uncaught Error when opening Hyper

    Javascript Uncaught Error when opening Hyper

    Hi, with Hyper 3.4.3, 3.4.4 on Mac (arm) and the canary version, this is what happened when I opened the terminal:

    image
    Uncaught Exception:
    Error: exec() failed: No such file or directory
    at new UnixTerminal (/Applications/Hyper.app/Contents/Resources/app.asar/node_modules/node-pty/lib/unixTerminal.js:104:24)
    at spawn (/Applications/Hyper.app/Contents/Resources/app.asar/node_modules/node-pty/lib/index.js:29:12)
    at Session.init (/Applications/Hyper.app/Contents/Resources/app.asar/session.js:138:24)
    at new Session (/Applications/Hyper.app/Contents/Resources/app.asar/session.js:100:14)
    at createSession (/Applications/Hyper.app/Contents/Resources/app.asar/ui/window.js:139:25)
    at Server.<anonymous> (/Applications/Hyper.app/Contents/Resources/app.asar/ui/window.js:144:38)
    at Server.emit (node:events:527:28)
    at Server.ipcListener (/Applications/Hyper.app/Contents/Resources/app.asar/rpc.js:31:15)
    at IpcMainImpl.emit (node:events:527:28)
    at EventEmitter.<anonymous> (node:electron/js2c/browser_init:161:11120)
    

    Mac OS version: Ventura 13.1

    Any idea why that might happen?

    opened by Kagigz 0
  • can't write in hyper

    can't write in hyper

    • [ ] Your Hyper.app version is 3.3.0. Please verify you're using the latest Hyper.app version
    • [ ] I have searched the issues of this repo and believe that this is not a duplicate

    • Any relevant information from devtools? (CMD+OPTION+I on macOS, CTRL+SHIFT+I elsewhere):
    • Is the issue reproducible in vanilla Hyper.app?

    Issue


    • Hyper version: undefined "3.3.0"
    • OS ARCH VERSION: win32 x64 6.2.9200
    • Electron: 19.0.8 LANG: undefined
    • SHELL: undefined TERM: undefined
    .hyper.js contents
    {
      "updateChannel": "stable",
      "fontSize": 12,
      "fontFamily": "Menlo, \"DejaVu Sans Mono\", Consolas, \"Lucida Console\", monospace",
      "fontWeight": "normal",
      "fontWeightBold": "bold",
      "lineHeight": 1,
      "letterSpacing": 0,
      "cursorColor": "rgba(248,28,229,0.8)",
      "cursorAccentColor": "#000",
      "cursorShape": "BLOCK",
      "cursorBlink": false,
      "foregroundColor": "#fff",
      "backgroundColor": "#000",
      "selectionColor": "rgba(248,28,229,0.3)",
      "borderColor": "#333",
      "css": "",
      "termCSS": "",
      "workingDirectory": "",
      "showHamburgerMenu": "",
      "showWindowControls": "",
      "padding": "12px 14px",
      "colors": {
        "black": "#000000",
        "red": "#C51E14",
        "green": "#1DC121",
        "yellow": "#C7C329",
        "blue": "#0A2FC4",
        "magenta": "#C839C5",
        "cyan": "#20C5C6",
        "white": "#C7C7C7",
        "lightBlack": "#686868",
        "lightRed": "#FD6F6B",
        "lightGreen": "#67F86F",
        "lightYellow": "#FFFA72",
        "lightBlue": "#6A76FB",
        "lightMagenta": "#FD7CFC",
        "lightCyan": "#68FDFE",
        "lightWhite": "#FFFFFF",
        "limeGreen": "#32CD32",
        "lightCoral": "#F08080"
      },
      "shell": "",
      "shellArgs": [
        "--login"
      ],
      "env": {},
      "bell": "SOUND",
      "copyOnSelect": false,
      "defaultSSHApp": true,
      "quickEdit": false,
      "macOptionSelectionMode": "vertical",
      "webGLRenderer": true,
      "webLinksActivationKey": "",
      "disableLigatures": true,
      "disableAutoUpdates": false,
      "screenReaderMode": false,
      "preserveCWD": true
    }
    
    plugins
    {
      "plugins": [],
      "localPlugins": []
    }
    
    opened by sagordevnath 0
  • Very big gaps around screen on Linux and MacOS.

    Very big gaps around screen on Linux and MacOS.

    • [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
    • Arch Linux 6.1.1, Gnome 43.2, MacOS 13.2:
    • 3.3.0:
    • My gist: https://gist.github.com/FormalSnake/153c373b587fc594dd9a11bf4d952c69:
    • N/A (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere):
    • Out of the box I had the exact same issue.:

    Issue

    My Hyper terminal has big borders everywere, and fullscreen (F11) does nothing. I can reproduce it on both Arch linux and macOS. Here are some screenshots of my Arch linux: Screenshot from 2022-12-27 09-31-24 Screenshot from 2022-12-27 09-39-51 On other terminals, I do not have this issue. Alacritty: Screenshot from 2022-12-27 09-45-58

    opened by FormalSnake 5
  • Bump playwright from 1.27.1 to 1.29.1

    Bump playwright from 1.27.1 to 1.29.1

    Bumps playwright from 1.27.1 to 1.29.1.

    Release notes

    Sourced from playwright's releases.

    v1.29.1

    Highlights

    microsoft/playwright#18928 - [BUG] Electron firstWindow times out after upgrading to 1.28.0 microsoft/playwright#19246 - [BUG] Electron firstWindow times out after upgrading to 1.28.1 microsoft/playwright#19412 - [REGRESSION]: 1.28 does not work with electron-serve anymore. microsoft/playwright#19540 - [BUG] electron.app.getAppPath() returns the path one level higher if you run electron pointing to the directory microsoft/playwright#19548 - [REGRESSION]: Ubuntu 18 LTS not supported anymore

    Browser Versions

    • Chromium 109.0.5414.46
    • Mozilla Firefox 107.0
    • WebKit 16.4

    This version was also tested against the following stable channels:

    • Google Chrome 108
    • Microsoft Edge 108

    v1.29.0

    New APIs

    • New method route.fetch() and new option json for route.fulfill():

      await page.route('**/api/settings', async route => {
        // Fetch original settings.
        const response = await route.fetch();
      

      // Force settings theme to a predefined value. const json = await response.json(); json.theme = 'Solorized';

      // Fulfill with modified data. await route.fulfill({ json }); });

    • New method locator.all() to iterate over all matching elements:

      // Check all checkboxes!
      const checkboxes = page.getByRole('checkbox');
      for (const checkbox of await checkboxes.all())
        await checkbox.check();
      

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump xterm, xterm-addon-fit, xterm-addon-ligatures, xterm-addon-search, xterm-addon-unicode11, xterm-addon-web-links and xterm-addon-webgl

    Bump xterm, xterm-addon-fit, xterm-addon-ligatures, xterm-addon-search, xterm-addon-unicode11, xterm-addon-web-links and xterm-addon-webgl

    Bumps xterm, xterm-addon-fit, xterm-addon-ligatures, xterm-addon-search, xterm-addon-unicode11, xterm-addon-web-links and xterm-addon-webgl. These dependencies needed to be updated together. Updates xterm from 4.19.0 to 5.1.0

    Release notes

    Sourced from xterm's releases.

    5.1.0

    🚀 Features

    Multiple texture atlas page support (#4244, #4252, #4274) via @​Tyriar

    Instead of there being a hard cap of 1024x1024 on the size of the texture atlas backing the canvas and webgl renderers, multiple textures are now supported. Each individual texture is now 512x512 which allows faster uploading to the GPU and will continually merge until the maximum of 4096x4096 is reached.

    The benefits in simple terms of this change are:

    • Less time from drawing a glyph to rendering it
    • Less CPU is used when lots of glyphs are used
    • Essentially unlimited space for glyphs, which is good for certain use cases but will also let us explore things like "perfect" dotted and curvy underlines in the future

    Here is an example of a 512x512 texture atlas page right after the terminal has loaded and printed a powerline-based prompt:

    image

    And here is the 1024x1024 page after a lot of glyphs have rendered:

    image

    Slash and triangle custom glyphs (#4313) via @​Tyriar

    Eight new powerline extra custom glyphs are supported:

    image

    New option scrollOnUserInput (#4289) via @​JasonXJ

    You can now specify whether to scroll to the bottom of the terminal on user input, previously this was the default and only behavior. This new setting is enabled by default.

    const term = new Terminal({ scrollOnUserInput: false });
    

    🐞 Bug fixes

    🏎️ Performance

    ... (truncated)

    Commits
    • 19c760a Merge pull request #4333 from xtermjs/revert-4196-ansiheadless
    • 3a81ef5 Revert "SerializeAsHTML(): Fallback to default ansi colors when running headl...
    • 6cfdcb1 Merge pull request #4332 from Tyriar/r5_1_0
    • 30ef1fc v5.1.0
    • 84b8121 Merge pull request #4288 from jerch/fix_weblinks
    • 218cfd2 Merge branch 'master' into fix_weblinks
    • 1757f27 explicit type for link test data
    • 9411acb move link tests to demo
    • cb4102c Merge pull request #4330 from Tyriar/2533
    • 1926c9b Add sequence buttons through CSI P
    • Additional commits viewable in compare view

    Updates xterm-addon-fit from 0.5.0 to 0.7.0

    Commits

    Updates xterm-addon-ligatures from 0.6.0-beta.19 to 0.6.0

    Commits

    Updates xterm-addon-search from 0.9.0 to 0.11.0

    Commits

    Updates xterm-addon-unicode11 from 0.3.0 to 0.5.0

    Commits

    Updates xterm-addon-web-links from 0.6.0 to 0.8.0

    Commits

    Updates xterm-addon-webgl from 0.12.0 to 0.14.0

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v4.0.0-canary.1)
Owner
Vercel
Develop. Preview. Ship. Creators of Next.js.
Vercel
Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal

BTC Terminal Tracker Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal. In this version (V1.2) I ch

Sina yeganeh 9 Jul 27, 2022
Another full-stack URL Shortener application built using web technologies

URL Shortener Another full-stack URL Shortener application built using web technologies. Technologies Node Express MongoDB React TypeScript Docker Pro

Soroush Chehresa 9 Dec 15, 2022
Uses marked-terminal to render a README.md for any npm module in the terminal.

modhelp Uses marked-terminal to render a README.md for any npm module in the terminal. Now with built-in pager! Page up/down, arrow keys to scroll lin

Jason Livesay 23 Feb 8, 2022
Terminal ui for discord with interactive terminal

dickord why No fucking clue i was bored or something. why does it look dogshit Try and find a node module that supports terminal functions like trauma

Hima 3 Nov 7, 2022
Terminal Styled Portfolio Website ˋ( ° ▽、° ) , a terminal style/styled portfolio website made with <3 using react.

AshTerm A Terminal Styled Portfolio Website. ??‍?? Made Using- ⚛ Framework ReactJS ?? Terminal react-console-emulator ?? Deployed using CloudFlare Run

ashish 67 Nov 22, 2022
Webhook service built with serverless technologies

Webhook service built with serverless technologies

Luciano Pellacani Franca 10 May 13, 2022
A responsive HTML template for coding projects with a clean, user friendly design. Crafted with the latest web technologies, the template is suitable for landing pages and documentations.

Scribbler - a responsive HTML template for coding projects and documentations Scribbler is a responsive HTML/CSS/Javascript template designed for deve

Amie Chen 394 Jan 1, 2023
Web Application that represents a music player using the spotify API, React, JS, CSS, HTML, nodeJS, Firebase, material-ui, JSON and other technologies. Made by Yohan Hmaiti

Web Application that represents a music player using the spotify API, React, JS, CSS, HTML, nodeJS, Firebase, material-ui, JSON and other technologies. Made by Yohan Hmaiti

Yohan Hmaiti 2 Jan 8, 2022
Use real-time computing technology and web technology to build a big data Kanban l to solve the problem. Among them, practical technologies include MySQL, Kafka, Flink, Redis, Flask and Echarts

实时计算(English Version) 运用实时计算技术、Web 技术构建一个大数据看板来解决问题。其中实用技术包括Mysql、Kafka、Flink、Redis、Flask和Echarts 目录 1.问题需求 2.方案分析 3.安装环境 4.环境启动命令和运行代码的方法 5.代码目录结构说明

Serendipity 2 Jan 8, 2022
This Project is made with HTML5, CSS3, ReactJS, Axios, MetaMask, thirdweb, Rinkeby Test Network, Web 3.0 Technologies, and OpenSea API.

Abstract Collections This Project is made with HTML5, CSS3, ReactJS, Axios, MetaMask, thirdweb, Rinkeby Test Network, Web 3.0 Technologies, and OpenSe

Shobhit Gupta 34 Jan 4, 2023
Project [Personal] - Web application for managing habits. Technologies used: HTML5, CSS3 and React.

TrackIt Habit manager in a dynamic, clear and simple way. TackIt is an application that seeks to make it simple and accessible for any user to control

Rui Neto 13 Dec 31, 2022
A blazingly fast CDN, at par and up-to-date with modern web technologies

A blazingly fast CDN, at par and up-to-date with modern web technologies

Compey 6 Sep 22, 2022
A PHP Laravel web application that uses most of Laravel technologies to build that gym system

A PHP Laravel web application that uses most of Laravel technologies to build that gym system.The System is based on rules. Admin, City Manager, Gym Manager. All Crud operations running using data tables.

Ashraf Eldawody 9 Dec 29, 2022
Tool Cool Color Picker is a color picker library written in typescript and using web component technologies.

Tool Cool Color Picker Tool Cool Color Picker is a color picker library written in typescript and using web component technologies. Check out the demo

Tool Cool 13 Oct 23, 2022
Challenge [Frontend Mentor] - In this challenge, JavaScript was used to filter jobs based on the selected categories. Technologies used: HTML5, CSS3 and React.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Rui Neto 11 Apr 13, 2022
Challenge [Frontend Mentor] - In this challenge, JavaScript was used to filter jobs based on the selected categories. Technologies used: HTML5, CSS3 and React.

Frontend Mentor - Job listings with filtering Front-end challenge focused on javascript logic, where a list of fictitious vacancies is presented and t

Rui Neto 11 Apr 13, 2022
It consists of a recreation of Twitter, to put into practice both Front-end and Back-end knowledge by implementing the MERN Stack together with other technologies to add more value to the project.

Twitter-Clone_Back-end ✨ Demo. ?? About the project. ?? Descriptions. It consists of a recreation of Twitter, to put into practice knowledge of both F

Mario Quirós Luna 5 Apr 12, 2022
Beat Akamai Technologies' State of the Art Antibot 2.0

Akamai Bot Manager 2.0 If you want to talk join https://discord.gg/amBFR6G2PM Feel free to contact me @lulu_fr_ on Twitter, open an issue or start a d

LULU 50 Dec 15, 2022