Introducing Termrk terminal package - (feedback needed)


#1

Hello,

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


#2

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?


#3

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)


#4

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?


#5

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


#6

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


#7

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.


#8

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


#9

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?


#10

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.


#11

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.


#12

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.


#13

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


#14

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


#15

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


#16

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


#17

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.


#18

What’s about Linux?


#19

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


#20

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.