<dnkl>
No, we're still not going to do config reloading. Reasons haven't changed.
<dnkl>
You don't have to send a signal to the shell; you can write the OSC-4 sequences directly to the terminals' PTYs
cvmn has quit [Remote host closed the connection]
hgc has joined #foot
<hgc>
foot is a good terminal!
<dnkl>
I'd have to agree
<dnkl>
:D
<rj1>
same
<rj1>
it's the best
Arnavion has quit [Ping timeout: 256 seconds]
Arnavion has joined #foot
<noze>
dnkl: To be clear, I'm not arguing for config reloading but rather some mechanism for programmatically updating the colour theme.
<noze>
could you say another word on how I'd directly write into foot's PTY?
<dnkl>
noze: easiest way to broadcast to all terminals is to iterate all numerical entries in /dev/pts and write the OSC-4 escapes to them
<noze>
dnkl: cheers, I'll give that a try :) That's something that shouldn't interrupt client programs running in foot? Would it work with screen / tmux running?
<dnkl>
noze: it shouldn't interrupt the client application. There is a small chance your write gets mixed with the escapes sent from the applications
<dnkl>
Should only happen if the application does non-atomic writes
<dnkl>
And should in general repair itself as soon as the application refreshes the screen
<dnkl>
I.e it doesn't affect the state of the program
<dnkl>
And yes, should work with tmux/screen
<noze>
dnkl: Neat, I had to hack theme.sh a bit, but it seems to work! Is there a clean way to figure out which pts's are owned by (instances of) foot?
<noze>
a hacky way would be `for p in $(pidof foot) ; do grep tty /proc/$p/fdinfo/6 ; done`
<noze>
but idk how reliable that filedescriptor 6 will be
<dnkl>
Foot owns the master side of the pty, while you need to write to the client side. Furthermore, foot --server has multiple PTYs... So, you'd have to check all foot PIDs, find their child processes, and finally look for PTY FDs in _their_ proc tree