Git Product home page Git Product logo

Comments (5)

magiblot avatar magiblot commented on July 18, 2024 1

Okay. In that case, make sure to take a look at pangoterm, which is the reference implementation of a terminal emulator using libvterm.

Thanks for all the love 😊.

from turbo.

magiblot avatar magiblot commented on July 18, 2024

Hi Ramses!

Thanks for the comment and thanks for the compliment.

The terminal subwindow has already been suggested in #12. Regarding this matter, I already developed a Proof-Of-Concept terminal widget for Turbo Vision: https://github.com/magiblot/tvterm. But it can't be used yet for this purpose since it doesn't have scrollback or text selection.

Nevertheless, I still have doubts about this feature. Not only you would have terminal windows inside the application, but these windows would have to be comfortable to use, and I'm not sure how I'd do that.

In my case, I alternate between the shell and Turbo with the Suspend menu entry (Alt+F+U) and the fg shell command. It could be better but it's not too bad. It does, however, have the disadvantage that text copied from Turbo can't be pasted while Turbo is suspended.

Cheers!

from turbo.

ziotom78 avatar ziotom78 commented on July 18, 2024

Awesome work! Thanks for having posted the link to Tvterm here, I was going to implement something similar…

I second the wish to have a terminal-in-window, it's a very useful feature and many editors provide it. (Emacs, Vim, Visual Studio Code, Kate…)

Suspending the editor can be a simpler solution, but a terminal window alongside the source code makes easier to debug stuff, hunt compiler errors, keep a running SSH connection, running a REPL, etc. For instance, I regularly write Julia scripts in Emacs while keeping a Julia REPL in a terminal buffer, so that I can quickly test things on the REPL, move to the script and fix it, go back to the REPL, etc.

Unfortunately, I have almost no experience with libvterm or terminal handling in general, but if there is some easy but boring task I could do to add support for libvterm to Turbo, I would be happy to help.

from turbo.

magiblot avatar magiblot commented on July 18, 2024

Hi Maurizio!

Thanks for the interest. I of course agree about the advantages of this feature, but I was unable to finish it when I had time to work on it.

From my perspective as a developer, instead of integrating tvterm into Turbo, I believe it is simpler to run Turbo in tvterm. There exists a similar project with working terminal scrollback, twin. Have you tried it?

from turbo.

ziotom78 avatar ziotom78 commented on July 18, 2024

Hi magiblot, thanks for the tip about twin, I wasn't aware of it. I tried it but have found that tvterm provides a much better terminal experience. (Even a plain ls produces scrambled characters with twin, while tvterm renders everything perfectly.)

So far tvterm is almost perfect, the only things it lacks are scrollback and copy-and-paste. I'll have a look at how to implement them, I cant' make promises about when but I'll surely be happy to have a look.

Thanks again for your awesome work, I really love, love, love tvision, turbo, and tvterm!

from turbo.

Related Issues (20)

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.