Term.Everything is a CLI tool that runs GUI applications inside a terminal by implementing a custom Wayland compositor that renders to text and images.
The tool solves the problem of accessing graphical applications in terminal-only environments, particularly over SSH connections where GUI forwarding is impractical. It works by acting as a Wayland compositor that captures window content and converts it for terminal display. Users can render windows either as text characters (limited by terminal resolution but functional over any connection) or as images (for terminals that support image protocols like kitty and iTerm2, offering full resolution output). The quality and performance scale with terminal resolution, which users can adjust to balance visual fidelity against frame rate.
The tool suits developers and users who spend significant time in terminals and want access to GUI applications without leaving that environment, particularly those working over SSH or in constrained display scenarios. It works on both X11 and Wayland host systems. The approach is unconventional compared to traditional terminal multiplexers or remote desktop solutions—rather than forwarding a display server, it reimplements compositor functionality to target terminal output as the rendering backend.
Development activity shows consistent iteration on core functionality. The project was rewritten from TypeScript to Go, indicating a shift toward performance and deployment efficiency. The tool remains in beta testing, suggesting ongoing refinement of stability and feature completeness. Documentation includes a detailed technical explanation of the implementation approach, demonstrating transparency about the architecture and design decisions.