59 lines
1.4 KiB
Markdown
Executable File
59 lines
1.4 KiB
Markdown
Executable File
|
|
Provides Java bindings for various native APIs.
|
|
|
|
# Available bindings
|
|
|
|
## Generic
|
|
|
|
* Get and set UNIX file mode.
|
|
* Get PID of current process.
|
|
|
|
## Terminal and console
|
|
|
|
These bindings work for both the UNIX terminal and Windows console:
|
|
|
|
* Determine if stdout/stderr are attached to a terminal.
|
|
* Query the terminal size.
|
|
* Switch between bold and normal mode on the terminal.
|
|
* Change foreground color on the terminal.
|
|
* Move terminal cursor up, down, left, right, start of line.
|
|
* Clear to end of line.
|
|
|
|
Currently ported to OS X, Linux and Windows. Tested on:
|
|
|
|
* OS X 10.7.4
|
|
* Ubunutu 12.04 (amd64)
|
|
* Windows 7 (amd64)
|
|
|
|
# Building
|
|
|
|
## Ubuntu
|
|
|
|
The g++ compiler is required to build the native library. Generally this is already installed.
|
|
|
|
You need to install the `libncurses5-dev` package to pick up the ncurses header files. Also worth installing the `ncurses-doc` package too.
|
|
|
|
## Windows
|
|
|
|
You need to install Visual studio, and build from a Visual studio command prompt.
|
|
|
|
## OS X
|
|
|
|
The g++ compiler is required to build the native library. You will need to install the XCode tools.
|
|
|
|
## Solaris
|
|
|
|
For Solaris 11, you need to install the `gcc-45` and `system/header` packages.
|
|
|
|
# TODO
|
|
|
|
* Fix TERM=dumb
|
|
* Split out separate native library for terminal handling.
|
|
* String names for errno values.
|
|
* Split into multiple projects.
|
|
* Handle multiple architectures.
|
|
* IBM JVM.
|
|
* Convert to c.
|
|
* Thread safety.
|
|
* Windows: flush System.out or System.err on attribute change.
|