Convert Figma logo to code with AI

GitSquared logoedex-ui

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

40,493
2,547
40,493
6

Top Related Projects

21,911

🖼️ A command-line system information tool written in bash 3.2+

15,713

The personal information dashboard for your terminal

7,357

A terminal based graphical activity monitor inspired by gtop and vtop

19,111

A monitor of resources

26,263

Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

108,598

Display and control your Android device

Quick Overview

eDEX-UI is a futuristic, sci-fi inspired terminal emulator and system monitor. It's designed to look and feel like a Hollywood hacker interface, providing a visually stunning and functional desktop environment. The project is built with web technologies and runs on Electron, making it cross-platform compatible.

Pros

  • Visually stunning and immersive user interface
  • Customizable themes and layouts
  • Includes system monitoring features alongside terminal functionality
  • Cross-platform compatibility (Windows, macOS, Linux)

Cons

  • Higher resource usage compared to traditional terminal emulators
  • May be overwhelming for users who prefer minimalist interfaces
  • Limited practical advantages over standard terminal emulators for everyday use
  • Potential learning curve for users unfamiliar with its unique interface

Getting Started

To get started with eDEX-UI:

  1. Visit the releases page on GitHub.
  2. Download the appropriate version for your operating system.
  3. Install the application:
    • On Windows: Run the .exe installer
    • On macOS: Open the .dmg file and drag the app to Applications
    • On Linux: Use the .AppImage file or install via your package manager if available
  4. Launch eDEX-UI and enjoy your futuristic terminal experience!

Note: eDEX-UI is not a code library, so there are no code examples to provide. The application is used as a standalone terminal emulator and system monitor.

Competitor Comparisons

21,911

🖼️ A command-line system information tool written in bash 3.2+

Pros of neofetch

  • Lightweight and fast, requiring minimal system resources
  • Highly customizable with extensive configuration options
  • Supports a wide range of operating systems and distributions

Cons of neofetch

  • Limited visual appeal compared to edex-ui's graphical interface
  • Lacks real-time system monitoring capabilities
  • Primarily focused on system information display rather than interactive features

Code Comparison

neofetch:

#!/usr/bin/env bash
# Neofetch config file
print_info() {
    info title
    info underline
}

edex-ui:

const pty = require("node-pty");
const os = require("os");

let shell = process.env.SHELL || "bash";
let term = pty.spawn(shell, [], {
    name: "xterm-color",
    cols: 80,
    rows: 30,
    cwd: process.env.HOME,
    env: process.env
});

While neofetch is a simple bash script for displaying system information, edex-ui uses Node.js to create a more complex, interactive terminal environment with advanced features like a virtual keyboard and system monitoring tools. neofetch is ideal for quick system information retrieval, while edex-ui provides a comprehensive, visually appealing interface for system interaction and monitoring.

15,713

The personal information dashboard for your terminal

Pros of WTF

  • More lightweight and focused on terminal-based dashboards
  • Highly customizable with a wide range of built-in modules
  • Easier to set up and configure for specific use cases

Cons of WTF

  • Less visually appealing compared to eDEX-UI's sci-fi interface
  • Limited to terminal environments, lacking the full GUI experience
  • May require more manual configuration for complex setups

Code Comparison

WTF configuration example:

wtf:
  colors:
    border:
      focusable: darkslateblue
      focused: orange
      normal: gray
  grid:
    columns: [40, 40]
    rows: [13, 13, 4]
  refreshInterval: 1

eDEX-UI keyboard configuration:

{
  "keyboard": {
    "layout": "en-US",
    "keyboardMode": "electron",
    "customKeyboardMode": false
  }
}

Summary

WTF is a terminal-based dashboard utility focused on customization and modularity, while eDEX-UI is a more visually striking, sci-fi-inspired system monitor and terminal emulator. WTF offers greater flexibility for specific use cases, but eDEX-UI provides a more immersive and graphically rich experience. The choice between the two depends on whether you prioritize customization and lightweight functionality or a more visually engaging interface.

7,357

A terminal based graphical activity monitor inspired by gtop and vtop

Pros of gotop

  • Lightweight and resource-efficient
  • Simple and focused on system monitoring
  • Easy to install and use

Cons of gotop

  • Limited visual appeal compared to edex-ui's sci-fi interface
  • Fewer features and customization options
  • Less immersive user experience

Code Comparison

edex-ui (JavaScript):

const si = require("systeminformation");
const os = require("os");

si.cpu().then(data => {
    console.log(data);
});

gotop (Go):

package main

import (
    "github.com/shirou/gopsutil/cpu"
    "fmt"
)

func main() {
    cpuInfo, _ := cpu.Info()
    fmt.Println(cpuInfo)
}

Summary

edex-ui is a feature-rich, visually stunning system monitor with a sci-fi-inspired interface. It offers an immersive experience but may be resource-intensive. gotop, on the other hand, is a lightweight, terminal-based system monitor focused on simplicity and efficiency. It provides essential system information without the bells and whistles of edex-ui.

While edex-ui is built with JavaScript and offers extensive customization, gotop is written in Go and prioritizes performance. edex-ui is ideal for users who want a visually appealing and feature-packed monitoring experience, while gotop is better suited for those who prefer a minimalist, resource-efficient approach to system monitoring.

19,111

A monitor of resources

Pros of btop

  • Lightweight and resource-efficient, suitable for systems with limited resources
  • Customizable interface with various color schemes and layout options
  • Supports a wide range of operating systems, including Linux, macOS, and FreeBSD

Cons of btop

  • Less visually striking compared to edex-ui's futuristic interface
  • Lacks some advanced features like network monitoring and file system exploration
  • Command-line interface may be less intuitive for some users

Code Comparison

edex-ui (JavaScript):

const pty = require("node-pty");
const os = require("os");

var shell = os.platform() === "win32" ? "powershell.exe" : "bash";
var ptyProcess = pty.spawn(shell, [], {
  name: "xterm-color",
  cols: 80,
  rows: 30,
  cwd: process.env.HOME,
  env: process.env
});

btop (C++):

void Input::init() {
    in_file = fopen("/dev/tty", "r");
    if (in_file == NULL) {
        throw std::runtime_error("Failed to open /dev/tty for input");
    }
    tcgetattr(fileno(in_file), &oldt);
    newt = oldt;
    newt.c_lflag &= ~(ICANON | ECHO);
    tcsetattr(fileno(in_file), TCSANOW, &newt);
}

The code snippets demonstrate the different approaches and languages used in each project. edex-ui uses JavaScript with Node.js modules for terminal emulation, while btop employs C++ for low-level system interactions and input handling.

26,263

Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Pros of Glances

  • Lightweight and efficient, consuming fewer system resources
  • Provides a comprehensive overview of system metrics in a compact display
  • Cross-platform compatibility with support for various operating systems

Cons of Glances

  • Less visually appealing interface compared to edex-ui's futuristic design
  • Limited customization options for the user interface
  • Lacks the immersive sci-fi experience offered by edex-ui

Code Comparison

Glances (Python):

def get_stats():
    stats = {}
    stats['cpu'] = psutil.cpu_percent(interval=1)
    stats['memory'] = psutil.virtual_memory().percent
    stats['disk'] = psutil.disk_usage('/').percent
    return stats

edex-ui (JavaScript):

const si = require("systeminformation");

async function getStats() {
    const cpu = await si.currentLoad();
    const mem = await si.mem();
    const disk = await si.fsSize();
    return { cpu: cpu.currentLoad, memory: mem.used / mem.total * 100, disk: disk[0].use };
}

Both projects aim to provide system monitoring capabilities, but they differ in their approach and target audience. Glances focuses on efficiency and comprehensive data display, while edex-ui prioritizes visual aesthetics and an immersive user experience. The code snippets demonstrate the different languages and libraries used by each project to gather system information.

108,598

Display and control your Android device

Pros of scrcpy

  • Lightweight and focused on Android screen mirroring and control
  • Cross-platform support (Windows, macOS, Linux)
  • Low latency and high performance

Cons of scrcpy

  • Limited to Android devices only
  • Lacks the comprehensive system monitoring features of edex-ui
  • Command-line interface may be less user-friendly for some users

Code Comparison

scrcpy (C):

static void screen_render(struct screen *screen)
{
    SDL_RenderClear(screen->renderer);
    if (screen->texture) {
        SDL_RenderCopy(screen->renderer, screen->texture, NULL, &screen->rect);
    }
    SDL_RenderPresent(screen->renderer);
}

edex-ui (JavaScript):

renderFrame() {
    this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
    this.ctx.drawImage(this.imageData, 0, 0, this.canvas.width, this.canvas.height);
    window.requestAnimationFrame(() => {
        this.renderFrame();
    });
}

Both projects use rendering techniques, but scrcpy focuses on efficient Android screen mirroring, while edex-ui creates a more complex, customizable interface. scrcpy is written in C for performance, whereas edex-ui uses JavaScript for cross-platform compatibility and easier customization.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


Logo

undefined
undefined undefined undefined
undefined undefined undefined undefined undefined
(Project archived oct. 18th 2021)


eDEX-UI is a fullscreen, cross-platform terminal emulator and system monitor that looks and feels like a sci-fi computer interface.


Demo on YouTube

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:
Features — Screenshots — Questions & Answers — Download — Featured In — Contributor 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

Blade screenshot

Checking out available themes in eDEX's config dir with ranger on eDEX-UI 2.2 with the "blade" theme

Disrupted screenshot

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

Horizon screenshot

Editing eDEX-UI source code with nvim on eDEX-UI 2.2 with the custom horizon-full theme

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.

Can this run on a Raspberry Pi / ARM device?

We provide prebuilt arm64 builds. For other platforms, see this issue comment, and the thread on issue #818.

Is this repo actively maintained?

No, after a 3 years run, this project has been archived. See the announcement.

How did you make this?

Glad you're interested! See #272.

This is so cool.

Thanks! If you feel like it, you can follow me on Twitter to hear about new stuff I'm making.

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 run start

on Windows:

  • start cmd or powershell as administrator
  • clone the repository
  • npm run install-windows
  • npm run 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.

Getting the bleeding edge

If you're interested in running the latest in-development version but don't want to compile source code yourself, you can can get pre-built nightly binaries on GitHub Actions: click the latest commits, and download the artifacts bundle for your OS.

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.