back to home

pamburus / termframe

📸 Terminal output SVG screenshot tool

View on GitHub
115 stars
3 forks
2 issues
RustPythonShell

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing pamburus/termframe in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/pamburus/termframe)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

📸 termframe [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] [![Release][release-img]][release] Terminal output SVG screenshot tool. This tool is a non-interactive terminal emulator that executes a single command, renders its output in an internal virtual session, and exports a screenshot as an SVG file. Key features • Comprehensive ANSI style support: • Bold, dimmed (faint), italic, underlined, and strikethrough text. • Text with reversed background/foreground colors. • Full range of colors: basic 16 palette, 256 xterm palette, and 24-bit truecolor. • Optional font embedding for enhanced customization. • Dark and light mode compatibility. • Extensive theme collection from iTerm2-Color-Schemes. • Support for custom themes, refer to custom themes. • Flexible configuration system, see configuration files. • Customizable window styles, see custom window styles. Sample PNG images: sample-dark.png and sample-light.png Installation macOS • Install using homebrew on macOS Linux • Download and extract using and on Linux (x86_64) • Download and extract using and on Linux (arm64) • Install using cargo Windows • Install using scoop • Download latest release from download page Usage • Run a command and save the output to an SVG file • Redirect output of a command to termframe • Use auto-sizing to determine optimal dimensions based on command output > [!NOTE] > It is recommended to set proper initial values for commands that may use > terminal capabilities to scale their output or interface depending on the terminal size. Configuration Configuration files • Configuration files are automatically loaded if found in predefined platform-specific locations. | OS | System-Wide Location | User Profile Location | | ------- | ----------------------------------------------- | -------------------------------------------------------------- | | macOS | /etc/termframe/config.{yaml,toml,json} | ~/.config/termframe/config.{yaml,toml,json} | | Linux | /etc/termframe/config.{yaml,toml,json} | ~/.config/termframe/config.{yaml,toml,json} | | Windows | %PROGRAMDATA%\termframe\config.{yaml,toml,json} | %USERPROFILE%\AppData\Roaming\termframe\config.{yaml,toml,json} | • The path to the configuration file can be overridden using the environment variable or the command-line option. The order in which the configuration files are searched and loaded is as follows: • The system-wide location. • The user profile location. • The location specified by the environment variable (unless the option is used). • The locations specified by the option (can be specified multiple times). If a configuration file is found in multiple locations, the file in each subsequent location overrides only the parameters it contains. If or specifies or an empty string, all default locations and any locations specified by previous options are discarded. The search for the configuration file locations starts over. To disable loading of configuration files and use the built-in defaults, can be used. • All parameters in the configuration file are optional and can be omitted. In such cases, default values will be used. Default configuration file • config.toml Terminal Configuration The section supports flexible dimension configuration with auto-sizing capabilities: The value in dimension configuration: • Serves as the initial/preferred size when no CLI override is provided • Acts as a fallback when auto-detection fails or produces unreasonable results • Gets clamped to / constraints if they are also specified • Enables consistent sizing across different commands and environments if the commands scale their output based on terminal size Custom Themes You can create custom themes by placing theme files in the subfolder of your configuration directory. Theme file locations Create a folder in your configuration directory: | OS | Theme Directory Location | | ------- | ----------------------------------------------------------------- | | macOS | | | Linux | | | Windows | | Theme file formats Theme files can be in TOML, YAML, or JSON format. Use the appropriate file extension ( , , , or ). Theme examples • **Dual mode theme** (supports both dark and light modes): • **Single mode theme** (dark mode only): Custom Window Styles You can create custom window styles by placing window style files in the subfolder of your configuration directory. Window style file locations Create a folder in your configuration directory: | OS | Window Styles Directory Location | | ------- | ----------------------------------------------------------------- | | macOS | | | Linux | | | Windows | | Window style file formats Window style files can be in TOML, YAML, or JSON format. Use the appropriate file extension ( , , , or ). Window style examples • **macOS style**: • **Compact style**: Environment variables • Many parameters that are defined in command-line arguments and configuration files can also be specified by environment variables. Precedence of configuration sources (from lowest priority to highest priority) • Configuration file • Environment variables • Command-line arguments Complete set of options and flags [ci-img]: https://github.com/pamburus/termframe/actions/workflows/ci.yml/badge.svg [ci]: https://github.com/pamburus/termframe/actions/workflows/ci.yml [cov-img]: https://codecov.io/gh/pamburus/termframe/graph/badge.svg?token=HI21W7NJEE [cov]: https://codecov.io/gh/pamburus/termframe [release-img]: https://img.shields.io/github/v/release/pamburus/termframe?sort=semver [release]: https://github.com/pamburus/termframe/releases/latest