Giter Club home page Giter Club logo

termkit's Introduction

TermKit

TermKit Icon

Goal: next gen terminal / command application

Built out of WebKit and Node.js.

Runs as a desktop app on Mac, Windows and Linux, and can be hacked into any WebKit browser (Chrome, Safari).

Follow TermKit on Twitter for the latest news and updates.

For the background and architecture, please read and comment on: http://acko.net/blog/on-termkit

TermKit 0.3 alpha TermKit 0.3 alpha TermKit 0.3 alpha

Warning: Alpha version, still under development. Nothing works yet.

Some cool features

  • Smart token-based input with inline autocomplete and automatic escaping
  • Rich output for common tasks and formats, using MIME types + sniffing
  • Asynchronous views for background / parallel tasks
  • Full separation between front/back-end

TermKit is not a...

  • ...Web application. It runs as a regular desktop app.
  • ...Scripting language like PowerShell or bash. It focuses on executing commands only.
  • ...Full terminal emulator. It does not aim to e.g. host 'vim'.
  • ...Reimplementation of the Unix toolchain. It replaces and/or enhances built-in commands and wraps external tools.

(but you could make it do most of those things with plug-ins)

How to use:

Detailed instructions are available from these sources:

Unfortunately, TermKit currently requires some assembly.

  1. Install the Mac development tools (Xcode and friends).
  2. Install node.js.
  3. If not covered in #2, install npm: curl http://npmjs.org/install.sh | sh
  4. Install node-mime: npm install mime
  5. Clone the TermKit repository: git clone https://github.com/unconed/TermKit.git --recursive
  6. Users of older git versions will need to type: git submodule update --init
  7. Run the NodeKit daemon: cd TermKit/Node; node nodekit.js

Mac:

  • Unzip and run the Mac app in Build/TermKit.zip

Linux:

  • See Linux/Readme.txt

Tip: Press ⌥⌘C to access the WebKit console.

API

Preliminary instructions on how to write TermKit native commands can be found here: https://github.com/unconed/TermKit/blob/master/Node-API.md

Credits

TermKit by Steven Wittens (@unconed).

Windows port by James Rhodes (@hachque).

Linux Python/GTK wrapper by Lucas S. Magalhães.

Includes:

termkit's People

Contributors

jesboat avatar josephg avatar unconed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

termkit's Issues

Error: Cannot find module 'mime'

18 May 11:04:33 - Client 021951160626485944 connected
worker:  

worker:  node.js:134

worker:          throw e; // process.nextTick error, or 'error' event on first tick

worker:          ^

worker:  Error: Cannot find module 'mime'
    at Function._resolveFilename (module.js:320:11)
    at Function._load (module.js:266:25)
    at require (module.js:348:19)
    at Object.<anonymous> (/Users/turtle/Documents/CodeLibrary/TermKit/Node/shell/meta.js:1:74)
    at Module._compile (module.js:404:26)
    at Object..js (module.js:410:10)
    at Module.load (module.js:336:31)
    at Function._load (module.js:297:12)
    at require (module.js:348:19)
    at Object.<anonymous> (/Users/turtle/Documents/CodeLibrary/TermKit/Node/shell/formatter.js:2:12)

I followed the install instructions on the readme and arrived at this error when trying to launch TermKit.app. Using node 0.4.7 (installed at /usr/local/bin/node) and npm 1.0.6.

install issue

15:58 ~/Documents/workspace/TermKit (master)$ cd Node
15:59 ~/Documents/workspace/TermKit/Node (master)$ node nodekit.js

node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'socket.io'
at Function._resolveFilename (module.js:320:11)
at Function._load (module.js:266:25)
at require (module.js:348:19)
at Object. (/Users/dlazar/Documents/workspace/TermKit/Node/nodekit.js:10:10)
at Module._compile (module.js:404:26)
at Object..js (module.js:410:10)
at Module.load (module.js:336:31)
at Function._load (module.js:297:12)
at Array. (module.js:423:10)
at EventEmitter._tickCallback (node.js:126:26)

all commands fail for me

All commands fail. E.g., a simple ls gives this message on console:

debug - websocket writing 4:::{"environment":{"cwd":"/Users/az","home":"/Users/az","user":"az","uid":502,"gid":20,"path":["/Users/az/.local/bin","/Users/az/.gem/ruby/1.8/bin","/usr/local/bin","/Users/az/.local/bin","/Users/az/.gem/ruby/1.8/bin","/usr/local/bin","/Users/az/.local/bin","/Users/az/.gem/ruby/1.8/bin","/usr/local/bin","/Users/az/.local/bin","/Users/az/.gem/ruby/1.8/bin","/usr/local/bin","/usr/bin","/bin","/usr/sbin","/sbin","/usr/local/bin","/usr/X11/bin","/opt/subversion/bin","/opt/subversion/bin","/opt/subversion/bin","/opt/subversion/bin"],"defaultShell":"/bin/bash","command":{"success":false,"data":{"code":127}}},"success":false,"answer":5,"args":{"code":127},"session":1}

Build a repository for TermKit commands.

It would be nice to be able to do something like:

install build
install build-XCode

or some such system (in this case it would install the build command with support for building XCode projects from TermKit, or something like that). I could probably set this up in terms of hosting, but obviously a discussion is needed on the requirements that commands might have (e.g. how can you do extensions of commands like shown above? are there any security considerations for installing commands on the Node.js side of things?).

Error when trying to run the Node daemon, nodekit.js

The following error gets raised when I attempt to run the nodekit.js file:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
    at Function.<anonymous> (module.js:378:11)
    at Object.<anonymous> (/Users/nsaika/Downloads/TermKit/Node/nodekit.js:6:8)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)

Running echo $NODE_PATH gives me the following output:

/usr/local/lib/node_modules

For what it is worth, I following the installation instructions in the main README.

Quotation marks don't appear

Typing single or double quotes results in strange behavior such as blank bubbles with a different color, and only work sometimes.

Socket IO failing to clone

Tried building TermKit today but the Socket IO submodule fails when cloning.

git submodule update --init
Cloning into Node/node_modules/socket.io-client...
fatal: https://github.com/LearnBoost/Socket.IO.git/info/refs not found: did you run git update-server-info on the server?
Clone of 'https://github.com/LearnBoost/Socket.IO.git' into submodule path 'Node/node_modules/socket.io-client' failed

Monospaced Output

Many unix facilities are setup to make use of a monospaced font for alignment. this breaks if the utilities are run through termkit as any output not tagged with explicit type headers is output as ugly-ass times new roman.

linux readme.txt

The linux readme file is confusing : do we have to use the floby sub project (which is outdated and do not have a linux directory) ?

Cat should not be cat

You're using "cat" as a way to display the contents of one file. This would qualify for a Useless Use Of Cat everywhere on the internet. Read me well there:

*** cat is for concatenating ***

It should really be more or less (or a non-paging equivalent, whatever but cat).

ls command problems

when using the LS command with long file/folder names, the UI breaks.

Long file/folder names causes the file/folder size to be moved to top the next column. probably a .css issue

Also no support for multiple flags/switches

ls -la does not work,

ls -a has the same problem as described above even without long file names

Color terminal capabilities

TermKit should have term color capabilites. For example, if you have git 'color' options enabled (or cmake builds), no color output is produced.

Host Awareness

Hi unconed. This relates to my HN post http://news.ycombinator.com/item?id=2559788 .

#Here I am at a terminal on my local machine (called 'home')
home>

# I ssh to a remote server called 'Server1'
home> ssh Server1

# On Server1 I run 'ls'
Server1> ls
     server1file.bin

# This file server1file.bin lives in my home directory on Server1

If I now use the advanced features of TermKit to refer to server1file.bin (copy to a different location say), TermKit should retain the fact that the handle resides on host Server1

osx 10.7 - issues

I don't know if this is osx 10.7 related or not, but I have some issues and I'm running osx 10.7:

  • I had to build the app again using xcode4 in order for it do anything after being started.
  • Almost all the menu bar commands will beachball the application.
  • If the termkit window loses focus, the it's not possible to recover focus again, so it's not possible to write in the window...

Node server crashes on launch of TermKit.app

Followed instructions but getting a crash on launch of the app.

~/src/TermKit/Node(master) $ node nodekit.js
12 May 14:11:49 - socket.io ready - accepting connections
12 May 14:11:54 - Initializing client with transport "websocket"
12 May 14:11:54 - Client 30102237849496305 connected
worker: execvp(): No such file or directory

net.js:392
throw new Error('Socket is not writable');
^
Error: Socket is not writable
at Socket._writeOut (net.js:392:11)
at Socket.write (net.js:378:17)
at Object.send (/Users/benr/src/TermKit/Node/shell/shell.js:59:24)
at Object.dispatch (/Users/benr/src/TermKit/Node/shell/shell.js:50:10)
at Object.dispatch (/Users/benr/src/TermKit/Node/router.js:45:13)
at Object.process (/Users/benr/src/TermKit/Shared/protocol.js:57:36)
at Object.receive (/Users/benr/src/TermKit/Shared/protocol.js:128:12)
at [object Object]. (/Users/benr/src/TermKit/Shared/protocol.js:23:10)
at [object Object].emit (events.js:64:17)
at [object Object]._onMessage (/Users/benr/src/TermKit/Node/socket.io-node/lib/socket.io/client.js:53:10)

hangs when i launch a language's interpreter

I would like to be able to do things
like launch ghci and other interpretors which run in terminal, they seem to hang when i try to launch them.

also, how is it correctly getting the path information unless it can basically parse the .profile or .rc files?

thanks
-carter

TermKit.app shows me a black window with no interaction opportunities

On OS X 10.6.8.

I seem to be able to run the back-end well enough:

mag@lebigmac:~/prog/TermKit/Node$ node nodekit.js 
   info  - socket.io started

I then start the front-end:

mag@lebigmac:~/prog/TermKit/Build$ ./TermKit.app/Contents/MacOS/TermKit 
2012-01-21 12:45:52.356 TermKit[12355:903] loadView loading URL: file://localhost/Users/mag/prog/TermKit/Build/TermKit.app/Contents/Resources/HTML/index.html
2012-01-21 12:45:52.358 TermKit[12355:903] info plist: 0.3.4-alpha

If I check back on the server side, the following has been output:

   debug - client authorized
   info  - handshake authorized
   info  - handshaken 352cfae1a7389dffa40143803fd76167
   debug - setting request GET /socket.io/1/websocket/352cfae1a7389dffa40143803fd76167
   debug - publishing that 352cfae1a7389dffa40143803fd76167 connected
   debug - initializing client store for 352cfae1a7389dffa40143803fd76167
   debug - set heartbeat interval for client 352cfae1a7389dffa40143803fd76167
   debug - subscribing 352cfae1a7389dffa40143803fd76167
   debug - websocket writing 1::
   debug - websocket writing 4:::{"termkit":"1","timestamp":1327146353055}
   debug - websocket received data packet 3:::[object Object]
   debug - got packet
   debug - websocket received data packet 3:::[object Object]
   debug - got packet
   debug - emitting heartbeat for client 352cfae1a7389dffa40143803fd76167
   debug - websocket writing 2::
   debug - set heartbeat timeout for client 352cfae1a7389dffa40143803fd76167
   debug - websocket received data packet 2::
   debug - got heartbeat packet
   debug - cleared heartbeat timeout for client 352cfae1a7389dffa40143803fd76167
   debug - set heartbeat interval for client 352cfae1a7389dffa40143803fd76167

And so on, with the heartbeats.

In short: There does not seem to be anything wrong.

Yet, all I can see in the TermKit.app window is a black void. Apart from the window chrome there is only uniform black color. Typing on the keyboard does not effect any change.

I have tried opening the web inspector, and it seems to have loaded a DOM document and lots of scripts. There are no error messages waiting for me.


I guess the conclusion is: TermKit doesn't complain about anything, yet it does not work. I would be happy to fix any problems it reported, but it reports no problems.

TermKit crashes on startup

When starting TermKit it shows up for a few seconds (unuseable, still seems to load, with a white background) and then crashes. "node termkit.js" is running.

Crashreport is here: https://gist.github.com/980495

roman-macbook:node roman$ node --version
v0.4.7

iTerm crashes with Auto Discovery Proxy settings

Steps to reproduce

On your mac:

System Preferences > Network > ( select your active connection ) press advanced > Proxies > Check Auto Proxy Discovery

Than start TermKit.app ( make sure node is running ;) )

This will result in a complete crash.

Related information

This is a known bug in Safari (and Apple didn't fix it yet), when you connect using WebSockets with Auto Proxy Discovery enabled.

Possible solution

Ship webkit inside the TermKit project, and don't use the build in Webkit that ships with Safari 5.

socket.io missing

had to install socket.io for TermKit to work, should be added to the README

Ugly font

Screenshot

Times font-face looks ugly. How can I have the same font-face/font-size as on your screenshots?

Better support for TAB navigation

Feels strange navigating with TAB on command cd, most times TAB is pressed cursor jumps and loses focus. Using TAB should jump from one menu item to the next instead.

Linux version

I would really love to see this working on Linux. Does it work on Linux at all? if yes could some instructions be provided on how to set it up? It's looking very awesome.

a "raw" command to get the output of the real Unix utilities

The main complaint about Termkit is that, sometimes, it hides information that the usual utilities display (rwx flags, for example).

A "raw" command, that calls the corresponding Unix binary and sends back its output to be displayed as monospaced text would address these concerns at little cost.

You could even perhaps add a raw mode for those times where you need to do several "low level" tasks in a row (I'm not sure this one is a good idea).

User-friendly command names

Allright y'all. We're reinventing the command line, and we should do it right - with human-readable and -rememberable command names. Let's add a new goal to the project goals: to finally address Donald Norman's criticism in his classic article "The trouble with UNIX" (http://www.linux.org.uk/~dan/rumor/rumor.shrink). Along this line, I suggested to Steven on Twitter that TermKit could have an optional layer that replaces standard command names (cp, mv, etc) with human-readable versions (copy, rename, and so on); he suggested I compile a list of replacement names.

The aim, I think, is to eliminate the need for manuals (and Googling) in 80% of cases. Obviously, manuals will never become obsolete, but we need to make a system where a casual user can simply type in what they want and get the right result in most cases.

Here are some ideas for command names:

  • show should do what cat does in Steven's current screenshots - ie., display a file - when applied to a file; this might be implemented with less. When applied to a directory, it should be ls. It should still have the functionality of ls when passed multiple files as arguments - ie., it should list them - because it isn't cat: it won't combine files. Combining files is a much less popular action than showing them.
  • copy for cp -r. I think being able to move directories should be the default, and the dir/ syntax for moving all the files in a directory (see http://en.wikipedia.org/wiki/Cp_(Unix)) should be removed; users should have to type dir/* to do that.
  • rename and move for the two different functions of mv
  • delete for rm -r. Users shouldn't have to remember a separate option for directories here, either.
  • goto for cd and home for cd ~
  • now for date and here for pwd
  • set-system-time for the system-time-changing functionality of date
  • link for ln. Remove the real link.
  • possibly wait for sleep, though as @hach-que points out below this conflicts with another command.
  • as-admin for sudo
  • open for open on Mac OS X, and something similar on other platforms.
  • edit, which would be like open is on OS X, but geared towards editing rather than viewing - eg. it would open your text editor for HTML files, your image editor for JPGs, and so on.

I think most commands should be verbose when in user-facing mode: for example, rename should show the new file(s), wait should have a countdown, etc.

Keep in mind this layer will be optional, so please don't comment pointing out that this would be annoying for experienced users. A nice user experience might be to have TermKit ask whether the user would like traditional or user-friendly commands when first launched, and to have the option be toggle-able in the Preferences thereafter. Per @cafarm below, it would also be nice to have an option that echos the underlying commands being performed, which you could toggle on for debugging and/or learning the old commands.

Two challenges that I'm not sure how best to handle are 1) creating files and directories (perhaps create dir/ for mkdir and create file (without the trailing slash) for touch?) and 2) searching for things: the problem is that grep and find are distinctly different, but both are expressed by the concept of 'search' or 'find'. What's the best way to distinguish between the two?

Cannot find module 'mime'

I followed the installation instructions, but when I run the app I get the following error:

18 May 17:07:24 - Initializing client with transport "websocket"
18 May 17:07:24 - Client 5248795922379941 connected
worker:

worker: node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^

worker: Error: Cannot find module 'mime'
at Function._resolveFilename (module.js:299:11)
at Function._load (module.js:245:25)
at require (module.js:327:19)
at Object. (/private/tmp/TermKit/Node/shell/meta.js:1:74)
at Module._compile (module.js:383:26)
at Object..js (module.js:389:10)
at Module.load (module.js:315:31)
at Function._load (module.js:276:12)
at require (module.js:327:19)
at Object. (/private/tmp/TermKit/Node/shell/formatter.js:2:12)

18 May 17:07:28 - Client 5248795922379941 disconnected

node nodekit.js is giving errors

Executing "node nodekit.js" is giving the following error:

node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'socket.io'
at Function._resolveFilename (module.js:290:11)
at Function._load (module.js:242:25)
at require (module.js:318:19)
at Object. (/Users/telnasser/Downloads/unconed-TermKit-1544e7e/Node/nodekit.js:12:10)
at Module._compile (module.js:374:26)
at Object..js (module.js:380:10)
at Module.load (module.js:306:31)
at Function._load (module.js:272:10)
at Array. (module.js:393:10)
at EventEmitter._tickCallback (node.js:108:26)

Can someone help please?

Usability enhancements

  • Tabbing into (with command-tab) TermKit should activate the cursor, so that it's easy to type a command right away. You currently have to (a) tab into TermKit, then (b) click on it with a mouse, and only then (c) start typing the command
  • "Ctr-l" should clear the screen; "Ctr-u" should erase the previous word, etc

Auto-listing of directory contents is broken?

Hi,

I'm running TermKit version c0d744 (just cloned today)

When I run commands such as "ls" which accept a file path, typing "tab" after having just entered a directory name does not list the directory contents to help me choose the next path component.

On the blog there's a screenshot ("string-based command line") which suggests that this is possible, but here, when I type "tab", the field loses focus.

(And if I press "tab" again the following is logged to Console:
tokenfield/caret.js:63 TypeError: Result of expression 'token' [null] is not an object.
)

command arguments collapsing

when executing a command with parameters, for example:
ls -a -l

we can also write it this way:
ls -al

The first one works in TermKit, the second one gives this error:
ENOENT, No such file or directory '-al'

Btw, I don't know if argument collapsing is the right name for this 'feature'.

use npm for install

Since npm is already a dependency I suggest you create this as an npm package. It would change this:

  1. Install the Mac development tools (Xcode and friends).
  2. Install node.js.
  3. If not covered in #2, install npm: curl http://npmjs.org/install.sh | sh
  4. Install node-mime: npm install mime
  5. Clone the TermKit repository: git clone [email protected]:unconed/TermKit.git --recursive
  6. Users of older git versions will need to type: git submodule update --init
  7. Run the NodeKit daemon: cd TermKit/Node; node nodekit.js
  8. Unzip and run the Mac app in Build/TermKit.zip

Into this:

  1. Install the Mac development tools (Xcode and friends).
  2. Install node.js.
  3. If not covered in #2, install npm: curl http://npmjs.org/install.sh | sh
  4. $ npm install termkit

Where number 4 automates 5, 6, 7 and 8.

Just a thought. If you are interested in adding this, I'd be glad to help with #4.

Failed to load resource: cancelled ... localhost:2222/socket.io/xhr-polling//

I launch TermKit and a plain black screen appears. In the WebKit console, the following error appears about every 10 seconds:

Failed to load resource: cancelled ... localhost:2222/socket.io/xhr-polling//1305822806506

With new numbers on the end each time.

socket.io seems to be installed correctly though:

$ npm install socket.io
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info preinstall [email protected]
npm info install [email protected]
npm info postinstall [email protected]
npm info predeactivate [email protected]
npm info deactivate [email protected]
npm info postdeactivate [email protected]
npm info preactivate [email protected]
npm info activate [email protected]
npm info postactivate [email protected]
npm info build Success: [email protected]
npm ok

Any thoughts?

SSH Connection

I'm running TermKit on Snow Leopard and it will not connect to a Linux server using SSH. The first issue is that it asks for password in the Node window, I typed it but never connects. Below two screenshots: one with the command trying to connect and the other with the message asking for login in the other window.

http://cl.ly/7Rx8
http://cl.ly/7RQ0

Tell me if I can help.

Cheers!

Termkit.app opens up with a blank dark window

Hello,

I got the nodekit.js deamon to work with the following workaround

$ cd TermKit/node ; NODE_PATH=`pwd`/../Shared/ node nodekit.js
   info  - socket.io started
   debug - client authorized
   info  - handshake authorized
   info  - handshaken d6b2e9dd9df1b428068392362541ec59
   debug - setting request GET /socket.io/1/websocket/d6b2e9dd9df1b428068392362541ec59
   debug - publishing that d6b2e9dd9df1b428068392362541ec59 connected
   debug - initializing client store for d6b2e9dd9df1b428068392362541ec59
   debug - set heartbeat interval for client d6b2e9dd9df1b428068392362541ec59
   debug - subscribing d6b2e9dd9df1b428068392362541ec59
   debug - websocket writing 1::
   debug - websocket writing 4:::{"termkit":"1","timestamp":1363111662435}
   debug - websocket received data packet 3:::[object Object]
   debug - got packet
   debug - websocket received data packet 3:::[object Object]
   debug - got packet
   debug - emitting heartbeat for client d6b2e9dd9df1b428068392362541ec59
   debug - websocket writing 2::
   debug - set heartbeat timeout for client d6b2e9dd9df1b428068392362541ec59
   debug - websocket received data packet 2::

but when I open the TermKit.app, I see a blank dark window

termkit-black-screen

TypeError: Property 'status' of object after almost every command

On a snow leopard machine with a fresh install of node and TermKit, I'm getting the following exception after almost every command I execute:

worker: /Users/rjo/git/TermKit/Node/shell/processor.js:179
that.status(success, object);

worker: ^

worker: TypeError: Property 'status' of object # is not a function
at /Users/rjo/git/TermKit/Node/shell/processor.js:179:12
at Object. (/Users/rjo/git/TermKit/Node/shell/command.js:72:14)
at Object.exit (/Users/rjo/git/TermKit/Node/misc.js:69:14)
at /Users/rjo/git/TermKit/Node/shell/command.js:257:10
at /Users/rjo/git/TermKit/Node/shell/builtin/cd.js:26:5
at /Users/rjo/git/TermKit/Node/misc.js:125:10
at Object. (/Users/rjo/git/TermKit/Node/shell/builtin/cd.js:16:3)
at /Users/rjo/git/TermKit/Node/shell/command.js:261:23
at Timer.callback (/Users/rjo/git/TermKit/Node/misc.js:81:33)

It seems like a recent issue as the installation on my desktop seems much more stable.

Include support for something like screen

Since TermKit already has built-in remoting support, it'd be great if it also supported something like screen so the client could reconnect to a persistent session on the server. With tabs this could be really powerful, as you could close your machine, go someplace else, reconnect, and all your tabs would still work fine. (Whereas with existing screen tabs are emulated and have no native UI.)

On Startup or anytime .write is called

worker: TypeError: Cannot read property 'write' of undefined
at Object. (/xxx/TermKit/Node/shell/reader.js:12:23)
at Module._compile (node.js:462:23)
at Module._loadScriptSync (node.js:469:10)
at Module.loadSync (node.js:338:12)
at loadModule (node.js:283:14)
at require (node.js:411:14)
at Object. (/xxx/TermKit/Node/shell/formatter.js:10:14)
at Module._compile (node.js:462:23)
at Module._loadScriptSync (node.js:469:10)
at Module.loadSync (node.js:338:12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.