Re: [E-devel] [Terminology] Cooperative tiling between Terminology and hosted programs
On Thursday, February 2nd, 2023 at 2:44 PM, Boris Faure wrote: > On 23-01-29 05:53, Vinícius dos Santos Oliveira wrote: > > in my mind, Terminology tries to push the boundaries of what's possible > > with terminal emulators forward. For instance, it has support for embedding > > videos and images through custom escape sequences. It obviously expects > > programs will make use of the new Terminology features. > > > > It just occurred to me that programas could cooperate with Terminology to > > make their own custom tiling. For instance, Emacs has the eshell mode where > > Emacs acts as its own terminal emulator taking care of interpreting ANSI > > escape sequences and tiling the embedded terminal in its own window all by > > itself. > > > > What if Terminology exposed an env var such as > > TERMINOLOGY_SOCK=$XDG_RUNTIME_DIR/sock-1234.sock with a path for a UNIX > > socket so the program (such as Emacs) could open it to cooperate with > > Terminology? Emacs could open a new pty, spawn the embedded shell, and send > > a fd to the master end of the new pty back to Terminology. The message > > should include the position in the screen for the new embedded terminal. > > Now Terminology would only read from the master end so it can draw the > > contents of the embedded terminal appropriately in the new tile of the > > terminal window. Emacs would still get all the input as usual and only send > > input to the new terminal as it pleases (by writing in the master end of > > the pty). > > > > So, Terminology already decodes ANSI escape sequences and performs tiling > > of terminal windows. The idea is to let applications reuse this > > implementation to allow further embedding other interactive programs in > > their own windows. > > > > Thoughts? > > That's some interesting thoughts. Terminology already has some custom > escape codes. I would go that way to have interaction with an external > program. There's no escape codes to handle the tiling, since those > could also be used to DDOS terminology, but that's something could be > thought about. I like silly idea in my terminal :-) Maybe a first step is to allow running application in terminology. It would be possible using Wayland and Efl.Canvas.Wl to embedded one application. I wonder if it would be possible to have the terminal provide a WL_DISPLAY on a request so we can embedded an application? https://git.enlightenment.org/enlightenment/efl/src/branch/master/src/lib/efl_canvas_wl Have fun! Cedric publickey - cedric@ddlm.me - 0x1869A77F.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Terminology] Cooperative tiling between Terminology and hosted programs
Em qui., 2 de fev. de 2023 às 18:45, Boris Faure escreveu: > There's no escape codes to handle the tiling, since those > could also be used to DDOS terminology, but that's something could be > thought about. > If we go this route, I don't think it should be done through escape codes. That's why I suggested separate UNIX sockets. One ptty per tile (as it's already done anyway). Just expose the same (and not a different one) feature to the user. However I'm glad you're not against the feature. Unfortunately I'm busy right now so I can't hack into Terminology to iterate some PoCs. -- Vinícius dos Santos Oliveira https://vinipsmaker.github.io/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Terminology] Cooperative tiling between Terminology and hosted programs
On 23-01-29 05:53, Vinícius dos Santos Oliveira wrote: > Hi folks, > > in my mind, Terminology tries to push the boundaries of what's possible > with terminal emulators forward. For instance, it has support for embedding > videos and images through custom escape sequences. It obviously expects > programs will make use of the new Terminology features. > > It just occurred to me that programas could cooperate with Terminology to > make their own custom tiling. For instance, Emacs has the eshell mode where > Emacs acts as its own terminal emulator taking care of interpreting ANSI > escape sequences and tiling the embedded terminal in its own window all by > itself. > > What if Terminology exposed an env var such as > TERMINOLOGY_SOCK=$XDG_RUNTIME_DIR/sock-1234.sock with a path for a UNIX > socket so the program (such as Emacs) could open it to cooperate with > Terminology? Emacs could open a new pty, spawn the embedded shell, and send > a fd to the master end of the new pty back to Terminology. The message > should include the position in the screen for the new embedded terminal. > Now Terminology would only read from the master end so it can draw the > contents of the embedded terminal appropriately in the new tile of the > terminal window. Emacs would still get all the input as usual and only send > input to the new terminal as it pleases (by writing in the master end of > the pty). > > So, Terminology already decodes ANSI escape sequences and performs tiling > of terminal windows. The idea is to let applications reuse this > implementation to allow further embedding other interactive programs in > their own windows. > > Thoughts? That's some interesting thoughts. Terminology already has some custom escape codes. I would go that way to have interaction with an external program. There's no escape codes to handle the tiling, since those could also be used to DDOS terminology, but that's something could be thought about. -- Boris Faure Pointer Arithmetician ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Terminology] Cooperative tiling between Terminology and hosted programs
Hi folks, in my mind, Terminology tries to push the boundaries of what's possible with terminal emulators forward. For instance, it has support for embedding videos and images through custom escape sequences. It obviously expects programs will make use of the new Terminology features. It just occurred to me that programas could cooperate with Terminology to make their own custom tiling. For instance, Emacs has the eshell mode where Emacs acts as its own terminal emulator taking care of interpreting ANSI escape sequences and tiling the embedded terminal in its own window all by itself. What if Terminology exposed an env var such as TERMINOLOGY_SOCK=$XDG_RUNTIME_DIR/sock-1234.sock with a path for a UNIX socket so the program (such as Emacs) could open it to cooperate with Terminology? Emacs could open a new pty, spawn the embedded shell, and send a fd to the master end of the new pty back to Terminology. The message should include the position in the screen for the new embedded terminal. Now Terminology would only read from the master end so it can draw the contents of the embedded terminal appropriately in the new tile of the terminal window. Emacs would still get all the input as usual and only send input to the new terminal as it pleases (by writing in the master end of the pty). So, Terminology already decodes ANSI escape sequences and performs tiling of terminal windows. The idea is to let applications reuse this implementation to allow further embedding other interactive programs in their own windows. Thoughts? -- Vinícius dos Santos Oliveira https://vinipsmaker.github.io/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel