<OtzmaVindicus>
does foot rely on /dev/pts/* files?
<dnkl>
a terminal requires a PTY, so yes?
<OtzmaVindicus>
why?
<OtzmaVindicus>
i can create a GUI app, with only texts in it, that looks like a "terminal", but it's 100% GUI without /dev/pts/*. then i can type commands in it, and then have it automatically execute the commands. the rest is stdin/stdout/stderr.
<dnkl>
then you're not writing a terminal, you're writing a gui based shell
<OtzmaVindicus>
do such things exist? "gui based shell"?
<OtzmaVindicus>
what sorts of features would it lack?
<OtzmaVindicus>
to me, a terminal executes commands (exec*()) and deals with socket descriptors (stdin/stdout/stderr/etc). not sure where /dev/pts/* comes.
MyNetAz has quit [Read error: Connection reset by peer]
MyNetAz has joined #foot
OtzmaVindicus has quit [Quit: bbl]
OtzmaVindicus has joined #foot
<dnkl>
OtzmaVindicus: that's completely wrong. There are tons of articles on what a terminal and PTYs are, and work. Instead of me trying to explain the basics over IRC I would suggest reading up on the subject
* OtzmaVindicus
asks chatgpt
<OtzmaVindicus>
yeah but foot aims to avoid emulating useless terminals. so i thought this might be relevant to ignore /dev/pts/*
<OtzmaVindicus>
does stdin/stdout go through /dev/pts? is this how terminal apps get stdin/stdout?
crontab has joined #foot
crontab has quit [Client Quit]
<rockorager>
In theory you can emulate a terminal without /dev/pts. where it will fall apart is when you launch a command which opens /dev/tty to get a handle to the terminal instead of using stdout/stderr. or any program that changes its output if it’s writing to a terminal vs a file. also there’s the whole winsize ioctl, though there are ways to not needing the kernel for winsize
cbb has joined #foot
<rockorager>
Probably the biggest hurdle is the isatty part actually - so many programs alter their behavior if they are outputting to a tty or a file
<OtzmaVindicus>
because of the > ?
<OtzmaVindicus>
app > file
<rockorager>
yeah
<OtzmaVindicus>
> could automatically add --color=no
<rockorager>
Lots of things will change their output format, not just color
<rockorager>
Full screen applications may just not even work