Introducing Termrk terminal package - (feedback needed)



I would need some feedback regarding this package I have developped. My main concern is to test it on Windows/OSX platform. It should work on both but I can’t test on OSX.

Feel free to send any suggestions/ideas also, I’m wondering what’s the point of this except for spawning a terminal inside atom.

This is an example, with the terminal running Vim inside of Atom


Interesting. This uses the same libraries as term2 doesn’t it? I currently use that package. What do you have in mind with regards to future development?


An unusual statement by a package author. (grin) I am always looking for a good teminal, but if you want to add fancy features I can think of a few …

  • Easy cut-paste
    • To/from system clipboard
    • bottom line, selected area in terminal, entire terminal, or all history
    • Key to copy selection in text editor into command-line if editor is focused
    • Key to do the opposite if terminal is focused
    • Remove ansii color codes when copying from terminal
  • Run shell script (or selection) from editor
  • Run js, coffee, python, etc., scripts from editor in repl
    • Auto start correct repl based on language type in editor
  • Logging of everything in terminal into an open editor
  • Function to clear terminal screen and entire history buffer
    • (It bugs me when other terminals like putty don’t have this)
  • Themes, color table, or light-GUI setting (I’m a light-UI guy)
  • Font selection/sizing
  • Option for full atom pane(s) with tab
  • SSH support
  • Menu or pop-up to pick terminal or log in to remote from a list
  • Better auto-complete than bash
  • Split terminal pane
    • Vertical to show lines in top half (from bottom) while continuing
    • Horizontal to show terminals side-by-side

You don’t have to do all of these. (grin)


I’m quite fond of zsh (and oh-my-zsh) for this one…
I don’t know why I don’t like fish, it’s actually quite good, it’s just a matter of taste.

Is there value in providing Atom-style autocomplete in a shell that runs inside Atom?


You know what would be an interesting feature? That atom command from the Quantum Shell package. It allows you to execute Atom commands from a terminal which would be nice


+1 for SSH support - for me, it’s a “must have.”


I used fish for a while until I got tired of having to convert everything that used a shell script, then I went back to zsh. I also toy with the idea occasionally of writing my own bash-compatible shell that supports better extensibility.


Thank you, I’m glad you like this feature. It’s one of my personal favorites :smile:


Did you literally convert anything, or was it just about the mindset? As in, five minutes ago you wrote a for loop in a shell script and now you need a for loop in the prompt, and you have to use different syntax?


Yes, there were shell scripts for things like rvm and rbenv that had to actually be converted because the scripts that came with them were designed for bash and wouldn’t work.


I love fish until it hit a dead end when source active not working for python virtualenv.

Then i convert to zsh , with loads of plugins , it works like fish now and have full bash compatible shell support but a bit slow tho (due to plugins)

Term2 dosen’t work well for me , it have loads of bugs that repo owner do not even care to solve , especially not taking full UI pane and rendering bugs that i belive would be quite hard to solve. So i just uninstalled it.


Back on topic , i am going to test now . From gif it looks nice , and if you going to maintain it regularly it will become best atom shell !

keep it up.


Thanks, I hadn’t realized. Yes, of course, these kinds of things need to change the shell environment.


It dosen’t work for me , it just show nothing at all. cannot toggle , etc.


Reinstall and restarted , only a blue line at the button bar, nothing else, cannot resize too.


This was my experience. I posted this as Issue #1 in the repo.


Issue#1 has been adressed, as well as some other minor issues. The interface should be more consistent now.

Various thoughts/comments on the ideas gathered:

  • Font/themes
    The background layout is done, I’ve added font size/family options, GUI should come soon.
  • Autocomplete
    No clean way to implement that; the terminal you see is an old school terminal, with ansi code and all that. I will keep it that way because I wanted to have the same terminal I have spent hours configuring, but in Atom. Personally I use zsh and it’s efficient enough. But I’ll check if I can come up with some workaround.
  • Tabs/splits/resize
    Agreed, adding all of these in the next minor release.
  • REPL current file
    I hadn’t thought about that one, I like the idea.
  • Copy/paste/input/output to terminal
    Working on it, I was also thinking on adding a % variable-set, kinda like vim’s ex-mode, to insert current paths into the terminal. For now I had thought of:
  • %f current file absolute path
  • %b current file basename
  • %d current file dirname
  • %p current project path

Let me know if you have more features in mind.


What’s about Linux?


To be fair, terminals are pretty similar in function accross OSX and Linux. As long as it say, doesn’t use or some other OSX-dependent crap then for this context I would think it doesn’t matter that much.


The settings aren’t applied on restart.

Terminal height / Font , they are only applied On Change , you need to call that applying code on Activate too.