Knox v0.2.4 - C, Linux, MIT License

Knox might be called any of the following:

  • terminal multiplexer
  • GNU screen on steroids
  • multiple virtual-terminal emulator

It divides up your console/terminal screen, allowing you to run multiple text-based applications in one session. This means you can SSH once into another machine, run knox on that machine, and have more than one console application on-screen at the same time. Check the screenshots for an example, especially this one.

Sound like something you could use? How would you use it? Let me know

Example Usage

  1. Run knox
  2. Type "create 5" and hit return. This creates 5 numbered Virtual Terminals
  3. Type "1-3 ssh user@host.com" and hit return. This would start SSH connections on 3 VTs.
  4. Type "1-3 " followed by your password to finalize the connections.
  5. Press ` (backtick ... the current key to cycle through VTs). This brings you to VT 1.
  6. Start doing your work over SSH

Browse the Latest Code

Dec 8 2009. The code has been updated to use TESI terminals in the background. It's usable for simple tasks.

Mostly Done

  • Handling keyboard input (backspace doesn't work in some instances)

Task List

  • Fix divideRectangle issues ... terminals that aren't to the far-right are 1 row too short
  • Release next version. Requires clean ups and delivering divideRectangle source with Knox
  • Handle dead (closed) terminals
  • Finish Colors, and stop iterms from having blue background
  • Duplicate cursors appear sometimes
  • Release first version
  • VT pausing
  • Copy and paste
  • Delete/Hide/Show terminals dynamically
  • Utilize TESI (to remove all dependencies except ncurses)

Screenshots

These were taken from my windows machine while running Knox over Putty, for kicks and screenshot taking ease.

01 - 4VTs
02 - 4VTs
03 - 4VTs
04 - 3VTs
05 - 7VTs
06 - 5VTs with borders

Technical Details

Knox currently uses libiterm at its core for interpreting escape sequences. One day, when TESI is mature, I'll switch to it. But for now iterm works and it enables me to focus on making Knox usable and useful.

History

This was originally a friend's idea from around 2004. He and I brainstormed code structure, functionality and features. When he moved away I continued poking at it and doing research. Eventually I gained a better view of the project scope and began coding.

 


 

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.