Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Extra libraries, Code snippets, applications etc. » Applications created with U++ » Bobcat, a cross-platform terminal emulator (A modern terminal emulator based on TerminalCtrl and U++)
Re: Bobcat, a cross-platform terminal emulator [message #61807 is a reply to message #61806] Tue, 23 September 2025 09:31 Go to previous message
Oblivion is currently offline  Oblivion
Messages: 1234
Registered: August 2007
Senior Contributor
Hello Honza,
dolik.rce wrote on Mon, 22 September 2025 15:15
Well, if there is a chance for faster/more stable/better user experience, then I'm not opposed to such feature being implemented directly in bobcat.

Or you could just create a general CLI ssh client for windows, which could be distributed with bobcat, so any windows user could use ssh.exe as a command in bobcat profile Smile

Honza


I've considered this option (a CLI app) before, but it comes with a major drawback, one that's IMO essentially a deal breaker: *Interactive* CLI apps can only run inside ConPTY (i.e., on a console). They can't run as a regular local process if they want to stay interactive.

This means they're constrained by ConPTY's questionable design. ConPTY/Conhost is not only slow but also restrictive and picky about which escape codes it allows through. (IIRC, this is one of the reasons why PuTTY still exists on Windows. Speaking of PuTTY, using Core/SSL/SshShell directly with TerminalCtrl is noticably faster, even compared to PuTTY's own SSH2 connections.) So, yet another SSH CLI app probably wouldn't perform any better than the OS/OpenSSL-provided one.

The first option (embedding SshShell into Bobcat) would make the codebase only slightly more complex. Surprisingly, the main challenge wouldn't be the SSH implementation itself. That part is straightforward. (I've wrapped each SshShell worker thread in an `APtyProcess`, and the resulting PTY code is just ~100 LoC. Honestly, I should probably turn that into a tutorial, it's quite handy.) The real complexity would lie in managing prompts and profile-related GUI.

The second option ("Tomcat"), on the other hand, would leave Bobcat untouched and instead create a sibling app with SSH-only support (exposed as `SshShellProcess` for clean integration). With this option we can even import/export the same profile files for both apps.

Best regards,
Oblivion




[Updated on: Tue, 23 September 2025 11:00]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Skylark uploaders
Goto Forum:
  


Current Time: Fri Oct 03 06:26:04 CEST 2025

Total time taken to generate the page: 0.05313 seconds