mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-10-31 18:48:11 +08:00 
			
		
		
		
	
			
				
					
						
					
					49e8cc57d35ba745d740648513ad5d272a694653
				
			
			
		
	 Tushar Maheshwari
		
	
	49e8cc57d3
	
	
	Extract common struct Dimensions from Terminal (#171)
			Tushar Maheshwari
		
	
	49e8cc57d3
	
	
	Extract common struct Dimensions from Terminal (#171)
		
			
			- Convert Dimension to namespace to allow defining Fit method from dom. - Use Dimensions extracted from Terminal as replacement struct. - Convert Terminal to namespace as it only defines static members. - Remove dom references from screen library (circular dependency).
FTXUI
Functional Terminal (X) User interface
A simple C++ library for terminal based user interface.
Demo:
Feature
- Functional style. Inspired by [1] and React
- Simple and elegant syntax (in my opinion).
- Support for UTF8 and fullwidth chars (→ 测试).
- No dependencies.
- Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), WebAssembly.
- Keyboard & mouse navigation.
Operating systems
Example:
  vbox({
    hbox({
      text(L"left") | border,
      text(L"middle") | border | flex,
      text(L"right") | border,
    }),
    gauge(0.5) | border,
  });
┌────┐┌───────────────────────────────────────────────────────────────┐┌─────┐
│left││middle                                                         ││right│
└────┘└───────────────────────────────────────────────────────────────┘└─────┘
┌────────────────────────────────────────────────────────────────────────────┐
│██████████████████████████████████████                                      │
└────────────────────────────────────────────────────────────────────────────┘
Documentation:
Project using FTXUI
Feel free to add your projects here:
- git-tui
- rgb-tui
- chrome-log-beautifier
- x86-64 CPU Architecture Simulation
- ltuiny
- i3-termdialogs
- Just-Fast
- simpPRU
- Pigeon ROS TUI
- hastur
- CryptoCalculator
- todoman
Hosted on:
External package:
It is highly recommanded to use cmake FetchContent to depends on FTXUI. This way you can specify which commit you would like to depends on.
If you don't, the following packages have been created:
- vcpkg (soon)
- Arch Linux PKGBUILD.
					Languages
				
				
								
								
									C++
								
								94.9%
							
						
							
								
								
									CMake
								
								2.3%
							
						
							
								
								
									Starlark
								
								1.4%
							
						
							
								
								
									Python
								
								0.9%
							
						
							
								
								
									Nix
								
								0.3%
							
						
							
								
								
									Other
								
								0.2%
							
						
					