Skip to content

A web-based Linux desktop environment built with Node.js, Vanilla JS, and Vite. Features a multitasking interface, window manager, and lightweight virtual file system.

License

Notifications You must be signed in to change notification settings

Damarcreative/LUI

Repository files navigation

LinuxUI (LUI) - Web-Based Desktop Environment 🏗️ 🚧 (WIP)

License Version Status

LinuxUI is a sophisticated web-based simulation of a Linux desktop environment. Built entirely with Vanilla JavaScript and CSS (optimized with Vite), it utilizes a Node.js backend to handle system operations, meaning it is not just a static or purely client-side application.

Preview LUI

It mimics the look and feel of modern Linux desktop environments, complete with a window manager, virtual file system, taskbar, dock, and functional system applications.

🚀 Key Features

  • Window Manager: Full support for dragging, resizing, minimizing, maximizing, and z-index stacking.
  • Virtual File System: In-memory file system mimicking Unix directory structure (/home, /mnt, etc.), with support for file operations.
  • Desktop Environment: Interactive desktop with grid-based icons, context menus, and drag-and-drop support.
  • System Apps:
    • Explorer: Full-featured file manager with grid/list views and breadcrumb navigation.
    • Terminal: Functional CLI with support for standard Unix-like commands (ls, cd, cat, echo, etc.).
    • Settings: Comprehensive system configuration (Display, Storage, Personalization).
    • Text Editor: Notepad-like application for editing files.
    • Media Center: Application for browsing and playing mock media files.
    • Task Manager: System monitor for virtual processes and performance.
  • Theme Engine: Glassmorphism UI with dynamic wallpapers and light/dark mode support.
  • Security: Simulated lock screen with session token generation.

🛠️ Technology Stack

  • Runtime: Browser + Node.js Backend
  • Build Tool: Vite 5.0
  • Language: Vanilla JavaScript (ES6+ Modules)
  • Styling: Native CSS3 + CSS Variables (No frameworks like Tailwind or Bootstrap)

📦 Installation & Setup

  1. Clone the Repository

    git clone https://github.com/Damarcreative/LUI.git
    cd LUI
  2. Install Dependencies

    npm install
  3. Run Development Server

    npm run dev

    The application will be available at http://localhost:5173.

  4. Build for Production

    npm run build

📂 Project Structure

LinuxUI/
├── index.html              # Application entry point
├── src/
│   ├── main.js             # Bootstrapper
│   ├── core/               # Core System Modules
│   │   ├── WindowManager/  # Window orchestration logic
│   │   ├── Desktop/        # Desktop icons and grid logic
│   │   ├── Taskbar/        # Panel, Start Menu, Tray
│   │   └── LockScreen/     # Authentication screen
│   ├── system/             # System Services (FS, Registry, API)
│   └── apps/               # Built-in Applications
│       ├── Explorer/
│       ├── Terminal/
│       ├── Settings/
│       └── ...
└── docs/                   # Detailed documentation

📖 Documentation

Detailed documentation for developers is available in the docs/ directory:

🤝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any features, bug fixes, or improvements.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

A web-based Linux desktop environment built with Node.js, Vanilla JS, and Vite. Features a multitasking interface, window manager, and lightweight virtual file system.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages