eDEX-UI - A Cross-Platform, Customizable Science Fiction Terminal Emulator With Advanced Monitoring &Touchscreen Support
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
curses
andcurses
-like applications. - 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.
Screenshots
(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)
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
npm start
on Windows:
- start cmd or powershell as administrator
- clone the repository
npm run install-windows
npm start
Building
Note: Due to native modules, you can only build targets for the host OS you are using.
npm install
(NOTinstall-linux
orinstall-windows
)npm run build-linux
orbuild-windows
orbuild-darwin
The script will minify the source code, recompile native dependencies and create distributable assets in the dist
folder.
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.
Credits
eDEX-UI's source code was primarily written by me, Squared. If you want to get in touch with me or find other projects I'm involved in, check out my website.
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!
Thanks
Of course, eDEX would never have existed if I hadn't stumbled upon the amazing work of Seena on r/unixporn.
This project uses a bunch of open-source libraries, frameworks and tools, see the full dependency graph.
I want to namely thank the developers behind xterm.js, systeminformation and SmoothieCharts.
Huge thanks to Rob "Arscan" Scanlon for making the fantastic ENCOM Globe, also inspired by the TRON: Legacy movie, and distributing it freely. His work really puts the icing on the cake.