Re: [E-devel] [Terminology] Cooperative tiling between Terminology and hosted programs

Cedric Bail <[email protected]> Mon, 06 Feb 2023 16:54:11 +0000
Newsgroups gmane.comp.window-managers.enlightenment.devel
Message-ID <eUJ7VzLZ4E9TlsuPRTIbxPFuk3E_ZU6gsDF-KaHo6VrrZyKAsIFVxcbZzfGWZoaVrRJdIQCVN8r1FrJFlvHXdrvizKAmoR_CgxpY4L9fWgA=@ddlm.me>
On Thursday, February 2nd, 2023 at 2:44 PM, Boris Faure <[email protected]> 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

_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
publickey - [email protected] - 0x1869A77F.asc (application/pgp-keys, 3 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
euetbYKKxbVhw2klVROuJm9I
=ydAQ
-----END PGP PUBLIC KEY BLOCK-----
signature.asc (application/pgp-signature, 855 B)
-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wsFzBAEBCAAnBQJj4TCfCRC+I8YOYhaWuhYhBBhpp3+bejvW8BDj+L4jxg5i
Fpa6AAAYIQ/+KJ0awRlBG7Qc/BRiv893sc2tH1jU1lX2cqGtFnk1umUq+3BU
cMqXi+yruwRg4+6Wmlp4UZhIwtWR1Z7UMngJGU/1ezoG5WBX92944mVFaOig
Vn23LaD63Ey9eJA2WFX5LzfNQugfgL6KL1okDk+jMQjR3NdS3/yWw4BDkhXB
Pp/5aDSVJ18NOg+M+Shj8iZttCmB9dca/WAzJkaSLStTA+TMVQPJA4bTwTkY
I+wzvpNOYX7iPtLrnofd39TehYerJWLn422SNuuILJBa0ay1F0PwvzgsRQd8
rGxf+FcLqmyAgrmuHaB0cR1Tonk+7YjZhzSHqJAusyRp1IaId+QcsxCs4HmO
4Y8I46furbrd2udgbbee8IPL4Rz/2ohdx1CA7/OUHhJ+52cTnlqw+wZZYuEM
a51X9diFp/2NTCYLvBKg6KWIcp4g/XMn2jU6Vj7iUh0PCm9rpqh58yypzTZC
vNFkbyf3qftORLYrNAKZ9Ar1zR4aV2vaGF9iakoyYZIVS0mLAI8u91jBzhey
kA7n39LL4f7hG31nK5q2uad7xA5564xwRJb1VV4rrZAfmThBkQUroCYp+ACm
mTYc2TZ106RB/7LjQU/uIjMw31YvvzVJeIYLozOcwoDzzenlHtAKyS6s4FLy
lFviFoZPB48cTM/QNk9XHbsW8F6dBX6H12I=
=UR+D
-----END PGP SIGNATURE-----