Silent resize cmds & Auto resize terminal #1

This commit is contained in:
LukeGus
2024-12-07 00:32:06 -06:00
parent 4b927decce
commit a2a441cdca
4 changed files with 37 additions and 23 deletions

View File

@@ -39,25 +39,22 @@ const App = () => {
fitAddon.current.fit();
// Adjust terminal size on window resize
const resizeListener = () => {
const handleResize = () => {
fitAddon.current.fit();
};
window.addEventListener('resize', resizeListener);
// Monitor terminal data (activity)
terminal.current.onData((data) => {
if (socket.current && socket.current.readyState === WebSocket.OPEN) {
socket.current.send(data);
socket.current.send(JSON.stringify({
type: 'resize',
rows: terminal.current.rows,
cols: terminal.current.cols,
}));
}
});
};
// Cleanup on component unmount
window.addEventListener('resize', handleResize);
return () => {
terminal.current.dispose();
if (socket.current) {
socket.current.close();
}
window.removeEventListener('resize', resizeListener);
if (socket.current) socket.current.close();
window.removeEventListener('resize', handleResize);
};
}, []);