Fake Terminal Widget

A customizable fake terminal widget for Flutter applications, designed for seamless integration and interactivity. Perfect for projects that require a terminal-like UI with the flexibility of Flutter.


Features

  • Interactive Terminal: Capture user input and display real-time responses.
  • Customizable: Configure colors, font styles, and dimensions to fit your app's theme.
  • Scroll Support: Smooth scrolling for terminal content.
  • Mobile-Friendly: Fully responsive and optimized for mobile devices.

Getting Started

Installation

Add the package to your pubspec.yaml file:

dependencies:
  fake_terminal: ^0.1.0

Run the following command to fetch the package:

flutter pub get

Usage

Basic Example

import 'package:flutter/material.dart';
import 'package:fake_terminal/fake_terminal.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Fake Terminal Example')),
        body: Center(
          child: FakeTerminal(
            initialMessage: "Welcome to Fake Terminal!",
            onCommand: (command) {
              // Process user input here
              return "You entered: \$command";
            },
          ),
        ),
      ),
    );
  }
}

API Reference

FakeTerminal Widget

The FakeTerminal widget provides the terminal UI.

Parameters

  • initialMessage (String?): A message to display when the terminal loads.
  • onCommand (String Function(String)?): A callback to process user input and return a response.
  • backgroundColor (Color?): Sets the background color of the terminal.
  • textColor (Color?): Defines the text color for the terminal.
  • height (double?): Sets the height of the terminal.
  • width (double?): Sets the width of the terminal.

Example

Advanced Usage

dart
FakeTerminal(
  initialMessage: "Initializing...\nType 'help' for available commands.",
  onCommand: (command) {
    if (command == 'help') {
      return "Available commands:\n1. help - Show available commands\n2. clear - Clear the terminal";
    } else if (command == 'clear') {
      return ""; // Clear the terminal
    } else {
      return "Unknown command: \$command";
    }
  },
  backgroundColor: Colors.black,
  textColor: Colors.green,
  height: 400,
  width: 300,
);

Contributing

Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.


License

This package is licensed under the MIT License. See the LICENSE file for details.

Libraries

fake_terminal