Giter Site home page Giter Site logo

sedwards2009 / extraterm Goto Github PK

View Code? Open in Web Editor NEW
2.5K 2.5K 113.0 124.78 MB

The swiss army chainsaw of terminal emulators

Home Page: https://extraterm.org

License: MIT License

TypeScript 93.86% JavaScript 1.45% Python 2.62% Shell 0.05% CSS 1.70% HTML 0.06% Dockerfile 0.01% Yacc 0.06% SCSS 0.19%
javascript terminal terminal-emulators typescript windows-subsystem-linux wsl

extraterm's People

Contributors

81denton avatar aral avatar ashb avatar dependabot[bot] avatar dogancelik avatar egonix avatar elentary avatar hidaruma avatar kant avatar nigels-com avatar sedwards2009 avatar solaraquarion avatar superusercode avatar yoichi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

extraterm's Issues

Linux Crash

As far as I know this isn't an issue with extraterm but I'm posting this anyway since it might help someone else. Upon launching extraterm it crashed because of a limit on the number of inotify watches.

Doing the following made the error go away which allowed extraterm to launch:

TypeError: Unable to watch path

If you get following error with a big traceback right after Atom starts:

TypeError: Unable to watch path

you have to increase number of watched files by inotify. For testing if this is the reason for this error you can issue

sudo sysctl fs.inotify.max_user_watches=32768

and restart Atom. If Atom now works fine, you can make this setting permanent:

echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

See also #2082.

Source: https://github.com/atom/atom/blob/master/docs/build-instructions/linux.md#typeerror-unable-to-watch-path

Alt modifier not send with back space

Backspace with any modifier always is send as back space.

$ showkey -a
^? 127 0177 0x7f -> alone
^? 127 0177 0x7f -> with ctrl
^? 127 0177 0x7f -> with Alt
^? 127 0177 0x7f -> with ctrl + alt

I have it bound to delete word in bash and only can make it work (one at a time) with Esc + backspace.
Esc + backspace, esc + backspace, esc +backspace,... works.
esc+backspace + backspace+backspace doesnt' work either.

Remove the context menus, trigger Command Palette instead

Originally the idea was to use right mouse button context menus in the app. The move to be much more keyboard centric and to the addition of the Command Palette have removed the need for context menus. Any remaining context menu code should be removed. Instead RMB should trigger the Command Palette.

Keybindings with emacs style editing

Many people are used to emacs style keybindings in the terminal and would like to use those bindings when using Extraterm's cursor mode. Extra predefined selectable keybindings should be added for "PC with emacs editing" and "OS X with emacs editing".

See #41

Ubuntu 14.04

Suggestions?

nigels@zooropa:/opt/extraterm-0.2.0-linux-ia32$ cat /etc/issue
Ubuntu 14.04.4 LTS \n \l

nigels@zooropa:/opt/extraterm-0.2.0-linux-ia32$ ldd extraterm 
    linux-gate.so.1 =>  (0xf7760000)
    libnode.so => /opt/extraterm-0.2.0-linux-ia32/./libnode.so (0xf6737000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf66ea000)
    libgtk-x11-2.0.so.0 => not found
    libgdk-x11-2.0.so.0 => not found
    libatk-1.0.so.0 => not found
    libpangocairo-1.0.so.0 => not found
    libcairo.so.2 => not found
    libpango-1.0.so.0 => not found
    libfreetype.so.6 => not found
    libfontconfig.so.1 => not found
    libnotify.so.4 => not found
    libgdk_pixbuf-2.0.so.0 => not found
    libgio-2.0.so.0 => not found
    libgobject-2.0.so.0 => not found
    libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xf669c000)
    libXi.so.6 => not found
    libXcursor.so.1 => not found
    libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xf6697000)
    libXrandr.so.2 => not found
    libXcomposite.so.1 => not found
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf6684000)
    libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf667e000)
    libXrender.so.1 => not found
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf6549000)
    libXtst.so.6 => not found
    libgconf-2.so.4 => not found
    libgmodule-2.0.so.0 => not found
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf653f000)
    libglib-2.0.so.0 => not found
    libnss3.so => not found
    libnssutil3.so => not found
    libsmime3.so => not found
    libnspr4.so => not found
    libasound.so.2 => not found
    libcups.so.2 => not found
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf6539000)
    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf6510000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf640d000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf63c7000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf63a9000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf61fb000)
    /lib/ld-linux.so.2 (0xf7761000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf61d9000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf61d4000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf61cd000)
nigels@zooropa:/opt/extraterm-0.2.0-linux-ia32$ ./extraterm 
./extraterm: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

I love this project!

There's a rant on reddit about the outdated way terminals work. It's like nothing has changed in decades. Please keep it up, this is my shimmer of hope on the horizon.

Meanwhile in that rant you might also find a few ideas for additional features, if you are so inclined. ;)
I'm not sure if I can help myself. There seems to be some css and js around, so I'll go check that out.

Keyboard shortcuts for OS X

At the moment Extraterm has the same keyboard shortcuts for every platform. For Windows (cygwin) and Linux these are fine, but on OS X they are some what different other existing OS X software. Extraterm needs OS X specific shortcuts when running on OS X.

I personally have limited access to an OS X machine and am not familiar with it anyway. This issue needs to be picked up by some ones who uses OS X.

Selecting text using the keyboard automatically copies it

Selecting text using the mouse should automatically copy it to the clipboard. This is traditional unix-style terminal behaviour.

Selecting text using the keyboard only also copies the text automatically. This is NOT expected or desirable and conflicts with how selection works in almost every application.

Add reset VT command

Add a command to reset the state of the terminal. Useful for when an app goes haywire and messes up your terminal settings making it unusable.

Shortcuts conflict with emulation keys, breaks Emacs

Extraterm is eating or has conflicting shortcuts for keys which are needed to run Emacs:

  • meta (alt) prefix key doesn't work. this is a killer.
  • some control keys don't work:
  • ctrl-@ (set mark) -- no effect
  • ctrl-space (set mark) -- not sure what this did, but everything stopped. a second ctrl-space made it work again.
  • ctrl-^ -- no effect
  • ctrl-\ (set input method) -- no effect

Run the shell as a login shell ONLY on OSX

Currently the '-l' option is passed to the shell when starting it. This is needed to start the shell and result in an user environment that is correctly initialised. As it turns out this is only needed on OS X and shouldn't be done on Linux due to the slightly different ways that these two systems start up. On cygwin, I'm not sure what is best.

More info:

https://unix.stackexchange.com/questions/119627/why-are-interactive-shells-on-osx-login-shells-by-default

Command line start up options and flags don't work correctly from the packaged binaries

Starting up extraterm from a binary zip download and passing in some flags and options (e.g. --cygwinDir) doesn't parse the options correctly.

The problem is in the commander module which Extraterm uses to parse command line arguments. It assumes that the first two items in process.argv are the nodejs executable and then the name of script being executed. This assumption is violated when starting up the packaged version of Extraterm.

A workaround is to pass an extra dummy value before the first flag or option. i.e. extraterm.exe XXX --cygwinDir c:/foo

Option to remove the window title bar

It would be nice to be able to run Extraterm without the native title bar at the top. Instead the normal window controls should be incorporated into the area the top which contains the tabs and hamburger menu.

Add reload CSS command

The code to watch the file system and reload the current theme has been ripped out. For theme development it is useful to have a way to reload the theme CSS without restarting Extraterm.

Development Roadmap

This issue is for tracking issue priorities and their rough order of implementation.

Note: This can change at anytime without warning. It might even just be out of date at times

  • Add reload CSS command #26
  • Option to remove the window title bar and use a themed one #27
  • ๐ŸŽ Release new version
  • Update the screenshots in the docs.
  • Remove the context menus, trigger Command Palette instead #33
  • More options for the 'show' command #28 (internal file handling needs a make over first)
  • More options for the 'from' command #29
  • Bug: Resizing the window is very slow #37
  • Make the Tips more compact #34
  • Add "Reset VT" command #31
  • Add "Clear Scrollback" command #39
  • Rename Selection Mode to Cursor Mode #32
  • Per-tab Font sizing #36
  • ๐ŸŽ Release new version
  • Speed: DOM tree culling #40
  • ๐ŸŽ Release new version
  • Limit the buffer size when reading from the pty #43
  • Keybindings with emacs style editing #42
  • Bug: 'from' command with '--xargs' option fails when Python 2.7 is used #44
  • Incorrect rendering of unicode characters #46
  • ๐ŸŽ Release new version
  • Colour emoji (Linux)
  • Alt modifier for backspace bug #47
  • ๐ŸŽ Release new version
  • Command to set text viewer syntax highlighting and tab width.
  • ๐ŸŽ Release new version
  • Vertical splits and splits resizing
  • ๐ŸŽ Release new version
  • Horizontal splits and nesting
  • ๐ŸŽ Release new version
  • Drag and drop for tabs.
  • Commands/shortcuts for moving tabs
  • ๐ŸŽ Release new version
  • Drag and drop command frames
  • ๐ŸŽ Release new version
  • Drag and split in gesture
  • ๐ŸŽ Release new version
  • Horizontal scrollbars when frame contents are too wide
  • Lots of random bug fixes
  • ๐ŸŽ Release new version
  • Add "Shell Integration Inject" experimental feature.
  • ๐ŸŽ Release new version
  • Bug fixes
  • ๐ŸŽ Release new version
  • Bug fixes for layout glitches and misalignments.
  • UI scaling
  • Fix "Opening a new tab requires mouse click to start typing" #60
  • ๐ŸŽ Release new version
  • Robust large file transfers #67
  • ๐ŸŽ Release new version
  • Add 'download' option to show command
  • Add 'save' option to from command
  • Random improvements
  • ๐ŸŽ Release new version
  • Random improvements
  • Reorganise the Settings tab
  • ๐ŸŽ Release new version
  • Add configurable terminal/shell sessions
  • ๐ŸŽ Release new version
  • Add legacy windows terminal/shell sessions #19
  • Add support for WSL (Windows Subsystem for Linux) #86
  • Add support for cmd.exe on Windows
  • Make 'frames' optional when shell integration is active #90
  • AltGr not working on Windows #87
  • ๐ŸŽ Release new version
  • Replace CodeMirror with Ace
  • Improve multicursor commands #109
  • Support TextMate syntax highlighting themes for the text viewer
  • ๐ŸŽ Release new version
  • Bug fixes
  • ๐ŸŽ Release new version
  • Keyboard dead key input fix. #113
  • Bug fixes
  • ๐ŸŽ Release new version
  • Make keyboard shortcuts fully configurable
  • ๐ŸŽ Release new version
  • Port Atom's One Dark theme
  • Add some more appearance settings
  • ๐ŸŽ Release new version
  • Tray icon and minimize to tray
  • Global shortcuts
  • ๐ŸŽ Release new version
  • Context menus
  • ๐ŸŽ Release new version
  • Find in text
  • ๐ŸŽ Release new version
  • Bug fixes
  • ๐ŸŽ Release new version
  • Setting tab titles #157
  • ๐ŸŽ Release new version
  • Canvas based text rendering ๐Ÿš€
  • Proper 24bit color support
  • Beautiful box drawing characters
  • Curly and double underline styles
  • Overstroke style
  • ๐ŸŽ Release new version
  • Cursor styles
  • ๐ŸŽ Release new version
  • Bug fix release
  • ๐ŸŽ Release new version
  • Unwrap lines when copying to clipboard #69
  • Bracketed paste
  • Replace Emoji font with "Twitter Color Emoji" because EmojiOne isn't being updated for FOSS.
  • ๐ŸŽ Release new version
  • Framing or not depending on the command output size #194
  • ๐Ÿ› Terminal changes color #209
  • ๐ŸŽ Release new version
  • Background transparency (Windows 10) #66
  • ๐Ÿ› Terminal changes color (disable HW accel option) #209
  • ๐Ÿ› Won't start from KDE launcher. #124
  • ๐Ÿ› Command with no output and a non-zero exit code breaks terminal tab. #225
  • ๐ŸŽ Release new version
  • Background transparency (macOS)
  • ๐Ÿ› fixes
  • ๐ŸŽ Release new version
  • Font ligatures #187
  • ๐ŸŽ Release new version
  • ๐Ÿ› Bug fixes
  • Bug: "Extraterm won't stay open after changing startup configs" #246
  • Bug: "Context menus in split-pane mode not displaying properly" #220
  • Bug: "Frame label/controls not visible with very long command" #239
  • Bug: Add a Quit command #248
  • Bug: "Rightmost tab invisible when tab count exceeds window width" #224
  • ๐ŸŽ Release new version
  • Bug "Atomic" UI themes are broken #256
  • ๐ŸŽ Release new version
  • Extension control UI
  • Extension API and SDK (initial)
  • ๐ŸŽ Release new version
  • Multiple windows #115
  • ๐ŸŽ Release new version
  • Support for multiple installed WSL distros #270
  • Ctrl-backspace modifier not sent correctly #271
  • ๐ŸŽ Release new version
  • Improved font rendering #152
  • GPU Accelerated rendering #218
  • ๐ŸŽ Release new version
  • Setting default tab titles for sessions
  • ๐Ÿ› "emacs render delay without X" #285
  • Insert Emoji extension
  • ๐Ÿ› Tab completion repeats the first character (oh-my-zsh) #294
  • ๐ŸŽ Release new version
  • Fix memory leaks
  • Add "paste from selection clipboard" option to mouse options on Linux. #195
  • ๐ŸŽ Release new version
  • ๐Ÿ› Initial directory couldn't be found for Windows sessions #310
  • Support hyperlink command/escape sequence #92
  • ๐ŸŽ Release new version
  • Link detection #173
  • ๐ŸŽ Release new version
  • Random bug fixes
  • ๐ŸŽ Release new version
  • Autocomplete #264
  • ๐ŸŽ Release new version
  • "Open terminal here" desktop integration #330
  • ๐ŸŽ Release new version
  • New release checking and notification
  • Scripting Extraterm from the command line #132
  • ๐ŸŽ Release new version
  • Zoom option when viewing images #118

Unsorted:

  • Open new terminal in same directory
  • Go to Line Number
  • Scratch pad tabs
  • Line numbers config for executed commands
  • Frame collapse/expand feature #35

After sourcing the Extraterm commands, `clear` does nothing

As the title says, after sourcing the Extraterm commands, clear (Ctrl+L as well) does nothing, but clears until the last shown frame, which, in most cases, is after the last command. Using frames is extra useful, but clearing up is too, as I don't enjoy clutter on my screen.

More options for the 'from' command

  • Support multiple files on the command line.
  • exec option to fetch 1 or more frames, store the contents in tmp files and then run a command on them.

Suggest changing your escape code mechanism

Hi, just saw you starred my repo so I wanted to check this one out as well. I think you should change the escape code you're using for HTML output. I'll put this into a design document over at my repo soon but in the mean time:

  • You should use a custom DSR to decide if your terminal supports HTML or not. We could standardize on one like DSR 1866, then you can use a shell script like this to decide to enable your integrations or not.
  • You should use an OSC to read a complete HTML blob at a time, rather than having the output stream wait until a NUL byte. An OSC is strictly a sequence of printable characters, meaning that if your HTML program crashes, the next escape sequence printed (e.g. color code) will cause the OSC to be invalid, resulting in HTMl getting dumped to the terminal as text but critically not ruining the terminal for other programs who aren't aware of HTML.

Since you support outputting HTML and so do I, I definitely think it makes sense to standardize the escape codes we use. I picked 1866 because it wasn't in use and is a reference to RFC 1866.

Limit the buffer size when reading from the pty

RIght now Extraterm's main Node process will happily read more and more data from a pty and buffer it internally without any built in limit on the buffer size. This is a problem because it can take forever between a ^C stopping a program and the terminal being finished with processing the buffer output from said process.

More options for the 'show' command

The show command needs some needed command line upgrades:

  • Ability to read data from stdin.
  • Autodetect file format when reading from stdin.
  • Option to explicitly set which mimetype to use.
  • Support multiple files on the command line.
  • Option to automatically open the frame in its own tab.
  • Option to automatically open the frame in its own tab and place the tab on the opposite (split) pane.

Make the Tips more compact

The Tips which appear when you open a new terminal, are just too big and must be made much more compact. The controls in the tips should move to the right to make the whole thing take up less vertical space.

Default shell is always bash on OSX

I just installed extraterm-0.5.0-darwin-x64 on OSX and then installed fish with brew install fish. Then I added /usr/local/bin/fish to /etc/shells and ran chsh -s /usr/local/bin/fish and entered my password. My default shell is now fish in the Apple Terminal and in iTerm, but when extraterm starts, it's bash.

I have logged out and logged back in. I have deleted extraterm and reinstalled it. Still, every terminal uses fish, except extraterm which is still using bash. I can start fish in extraterm by running fish, but I obviously want it to be the default.

Do I need to to something else in extraterm to change my default shell?

Thanks in advance.

On Windows, there is no indication why app hadn't started when launching app directly

In my case it was missing CygWin, this information was presented to me when I've launched the app from terminal:

2016-03-17 21:22:18.226 DEBUG [main #0] Couldn't find user configuration file at C:\Users\Jacek\AppData\Roaming\extraterm.json
ERROR: The system was unable to find the specified registry key or value.
2016-03-17 21:22:18.271 DEBUG [main #0] Couldn't find a cygwin installation.
2016-03-17 21:22:18.277 DEBUG [main #0] Couldn't find a Babun cygwin installation.

But when I've started this app like any Win32 app (From exe with a click) there was no information at all. I think it might be considered a bug. Even simple message box popup would do.

Incorrect rendering of unicode characters

The demo here https://github.com/yaronn/blessed-contrib uses (and abuses) all sorts of unicode characters in its dashboard and charts. As we can see in this screenshot below, Extratrem doesn't correctly render it.

terminal-dashboard

The main problem seems to be the widths of the characters which are not monospace even though Im using a good monospace font. Extraterm should handle this better.

Support for text sizing, text zoom in/out

We need support for setting the size of text in the terminal and also for handling zoom in and out.

This issue depends first on the theme CSS/SCSS stuff being applied to all of the custom elements which make up the UI.

Non-Cygwin sessions on Windows

My default multi-tab terminal app on Windows is ConEmu, which I find quite solid, although somewhat quirky. One feature I do make use of is the various tasks that can be configured - such as cmd.exe, git bash, MSYS or MSYS2, or a direct remote ssh session. I don't mind omitting the native windows shells, personally. But I do have some preference for git bash or MSYS2, rather than Cygwin. Looking at main.ts this looks like a matter of adding some alternative enumerants, along with the logic to either auto-detect the various options, or require pull paths as a last resort.

But I do wonder if it's possible to spawn these other shells without inheriting Cygwin environment via extraterm?

conemu

Shortcut for changing font size

I am trying extraterm and absolutely love its unique features. Thank you for public this awesome software!

However, I would love to have some shortcuts to zoom in/out (+/-/0). I love splitting/unsplitting when I was using terminator and as a result I need change the font sizes very often. Also, if you consider implementing this, I suggest you use different font sizes for each tabs.

Thank you!

Resizing the window is very slow

When Extraterm contains many frames (~100) it can take seconds for the window to update after a resize. The same applies when splitting/unsplitting the window panes.

Most of the problem is caused by the uncoordinated update of the DOM by the hundreds of CodeMirror instances. This thrashes the browser DOM and causes a lot of unneeded layouts and work.

Shortcuts should be editable

Hi,

Thanks for your work
Shortcuts should be editable (if they are, I didn't find a way to do it on debian)
Example : Ctrl+a is set in keybindings to select all, though it's painful when you have the habit to use it to go at the beginning at the line, in term or in emacs

Thanks

Extraterm freezes on linux x64

Hi,

The 0.19 worked well, though the 0.20 has some problems : it freezes on "preparing" and nothing more happens.
Launching it from another term does not give errors, though strace gives this :
recvmsg(25, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
write(60, "\0", 1) = 1
recvmsg(25, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(18, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(25, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=25, events=POLLIN}, {fd=32, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(25, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(18, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(25, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=25, events=POLLIN}, {fd=32, events=POLLIN}], 4, 332) = 1 ([{fd=32, revents=POLLIN}])
recvmsg(25, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)

(I did not put the whole trace as it's huge and maybe not useful)
Seen on two different machines

Thanks

Allow changing title on the tabs

On konsole when you login to a server over ssh the title is/can be changed to the name of the server.
Maybe will be possible if not that, allow changing from the cli the name of the tab before connecting or allow this kind of modifications as a command ouput handling rules.

Seems that
echo -ne "\033]0;SOME TITLE HERE\007"
changes it, but it automatically returns to the current path.

Feature suggestion: Open new tab in same directory as current tab

Hi, awesome project! This has quickly become my primary terminal.

I have a suggestion regarding opening new tabs, essentially mirroring a feature from at least Linux Mint's native terminal: It would be really cool if, when a new tab is opened, the new tab could start in the previous active tab's working directory.

More clearly:

  • Currently, all tabs start in the home directory, regardless of the wd of the active tab prior to opening a new one.
  • If I open extraterm and cd code/myproject, then do Ctrl+Shift+T (or Ctrl+Shift+P "New tab"), I'd love for the new tab to open with the pwd set to ~/code/myproject

I hope I'm explaining it well enough.

Thanks again for your hard work!

Rename the cookie env variable to $LC_EXTRATERM_COOKIE to hitchhike across ssh

Extraterm uses an environment variable $EXTRATERM_COOKIE to hold a cookie which is used in the protocol to prevent random data printed directly to the terminal from being able to access the more advanced and security sensitive Extraterm features. The problem is that if you use ssh to go to a different server, your terminal integration on the server will not work as it doesn't have access to the value in $EXTRATERM_COOKIE.

In actual fact there are some environment variables which ssh will automatically propagate from the local machine to the remote, and those are TERM and the LC_* variables. (This behaviour is configurable, but the most common default config copies these variables.) If $EXTRATERM_COOKIE is renamed to $LC_EXTRATERM_COOKIE then for most users it will automatically be propagated by ssh.

Speed: DOM tree culling

Performance is still an issue. The solution is to minimise the size of the DOM and its contents so that window resizes and DOM layouts are done with in a reasonable time. In other words, the performance of layout needs to depend on the amount of stuff which is visible on screen, not on the amount of stuff hidden in the scrollback and everywhere else.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.