eDEX-UI is a fullscreen, cross-platform terminal emulator and system monitor that looks and feels like a sci-fi computer interface.
Heavily inspired from the TRON Legacy movie effects (especially the Board Room sequence), the eDEX-UI project was originally meant to be "DEX-UI with less « art » and more « distributable software »". While keeping a futuristic look and feel, it strives to maintain a certain level of functionality and to be usable in real-life scenarios, with the larger goal of bringing science-fiction UXs to the mainstream.
- Fully featured terminal emulator with tabs, colors, mouse events, and support for
- Real-time system (CPU, RAM, swap, processes) and network (GeoIP, active connections, transfer rates) monitoring.
- Full support for touch-enabled displays, including an on-screen keyboard.
- Directory viewer that follows the CWD (current working directory) of the terminal.
- Advanced customization using themes, on-screen keyboard layouts, CSS injections. See the wiki for more info.
- Optional sound effects made by a talented sound designer for maximum hollywood hacking vibe.
(neofetch on eDEX-UI 2.2 with the default "tron" theme & QWERTY keyboard)
(Graphical settings editor and list of keyboard shortcuts on eDEX-UI 2.2 with the "interstellar" bright theme)
(cmatrix on eDEX-UI 2.2 with the experimental "tron-disrupted" theme, and the user-contributed DVORAK keyboard)
Useful commands for the nerds
IMPORTANT NOTE: the following instructions are meant for running eDEX from the latest unoptimized, unreleased, development version. If you'd like to get stable software instead, refer to these instructions.
Starting from source:
on *nix systems (You'll need the Xcode command line tools on macOS):
- clone the repository
npm run install-linux
- start cmd or powershell as administrator
- clone the repository
npm run install-windows
Note: Due to native modules, you can only build targets for the host OS you are using.
npm run build-linuxor
The script will minify the source code, recompile native dependencies and create distributable assets in the
A note about versioning, branches, and commit messages
Currently, development is done directly on the
master branch. The version tag on this branch is the version tag of the next release with the
-pre suffix (e.g
v2.6.1-pre), to avoid confusion when both release and source versions are installed on one's system.
I use gitmoji to make my commit messages, but I'm not enforcing this on this repo so commits from PRs and the like might not be formatted that way.
Dependabot runs weekly to check dependencies updates. It is setup to auto-merge most of them as long as the builds checks passes.
PixelyIon helped me get started with Windows compatibility and offered some precious advice when I started to work on this project seriously.
IceWolf composed the sound effects on v2.1.x and above. He makes really cool stuff, check out his music!
This project uses a bunch of open-source libraries, frameworks and tools, see the full dependency graph.