/edex-ui

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0


Logo

undefined
undefined undefined undefined
undefined undefined undefined undefined undefined


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.

It might or might not be a joke taken too seriously.

( Jump to: Screenshots - Questions & Answers - Download - Featured In - Developer Instructions - Credits )

Sponsor

Want to help support my open-source experiments and learn some cool JavaScript tricks at the same time?

Click the banner below and sign up to Bytes, the only newsletter cool enough to be recommended by eDEX-UI.

Bytes by UI.dev

Features

  • Fully featured terminal emulator with tabs, colors, mouse events, and support for curses and curses-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

Default screenshot

(neofetch on eDEX-UI 2.2 with the default "tron" theme & QWERTY keyboard)

Interstellar screenshot

(Graphical settings editor and list of keyboard shortcuts on eDEX-UI 2.2 with the "interstellar" bright theme)

Disrupted screenshot

(cmatrix on eDEX-UI 2.2 with the experimental "tron-disrupted" theme, and the user-contributed DVORAK keyboard)

Q&A

How do I get it?

Click on the little badges under the eDEX logo at the top of this page, or go to the Releases tab, or download it through one of the available repositories (Homebrew, AUR...).

Public release binaries are unsigned (why). On Linux, you will need to chmod +x the AppImage file in order to run it.

I have a problem!

Search through the Issues to see if yours has already been reported. If you're confident it hasn't been reported yet, feel free to open up a new one. If you see your issue and it's been closed, it probably means that the fix for it will ship in the next version, and you'll have to wait a bit.

Can you disable the keyboard/the filesystem display?

You can't disable them (yet) but you can hide them. See the tron-notype theme.

Why is the file browser saying that "Tracking Failed"? (Windows only)

On Linux and macOS, eDEX tracks where you're going in your terminal tab to display the content of the current folder on-screen. Sadly, this is technically impossible to do on Windows right now, so the file browser reverts back to a "detached" mode. You can still use it to browse files & directories and click on files to input their path in the terminal.

eDEX seems to be pretty stable now. What are you planning to do next?

I'm not done with this software just yet. I'm actively working on exciting new features that will make eDEX less of a gadget and more of a usable sysadmin tool. Notably, I'm researching remote monitoring, multi-monitor support, and a plug-in system which would externalize the module structure used internally.

Is this repo actively maintained?

See this notice

How did you make this?

Glad you're interested! See #272.

This is so cool.

Thanks! If you feel like it, you can buy me a coffee to encourage me to build more awesome stuff.

Featured in...

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
  • 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 (NOT install-linux or install-windows)
  • npm run build-linux or build-windows or build-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.

Licensing

Licensed under the GPLv3.0.

FOSSA Status