| # Moterm example application |
| |
| `moterm_example_app` is an example application that embeds |
| [Moterm](../../apps/moterm), uses it to provide a prompt, and allows it to be |
| connected to other applications (which should implement the |
| `mojo.terminal.TerminalClient` interface). |
| |
| ## Running |
| |
| On Linux, run it in the usual way, e.g.: |
| |
| $ mojo/devtools/common/mojo_run --enable-multiprocess "mojo:window_manager mojo:moterm_example_app" |
| |
| You'll probably need to click on the window to give it keyboard focus. You may |
| also want to resize the window (especially horizontally) to make it bigger. |
| |
| At the `:)` prompt, you may enter the URL for any application implementing the |
| `mojo.terminal.TerminalClient` interface. E.g.: |
| |
| :) mojo:dart_netcat |
| |
| At this point, the terminal's input/output is transferred to the specified |
| application. In this case, it just outputs a help message and closes the |
| terminal, returning you to the `:)` prompt. You may also try: |
| |
| :) mojo:dart_netcat?localhost&port=80 |
| |
| In this case, `mojo:dart_netcat` will make a TCP connection to the specified |
| host/port. Assuming you have a web server running on your machine, you may try |
| entering: |
| |
| GET / |
| |
| (It's probably a bug in `mojo:dart_netcat` that it doesn't close the terminal |
| "file". You can press Control-D to return to the `:)` prompt. The unhandled Dart |
| exception after you press Control-D is definitely a bug.) |
| |
| Another example you may try is: |
| |
| :) file:///path/to/src/examples/js/repl.js |
| |
| At its `>` prompt, you can enter JavaScript expressions. E.g.: |
| |
| > function add(x, y) { return x + y; } |
| undefined |
| > add("hello ", 123) |
| "hello 123" |
| |
| ## See also |
| |
| * [//apps/moterm](../../apps/moterm) |
| * [//examples/dart/netcat](../dart/netcat) |
| * [//examples/js/repl.js](../js/repl.js) |