mirror of
https://github.com/m1ngsama/TUT.git
synced 2026-02-08 09:04:04 +00:00
Major architectural refactoring from ncurses to FTXUI framework with professional engineering structure. Project Structure: - src/core/: Browser engine, URL parser, HTTP client - src/ui/: FTXUI components (main window, address bar, content view, panels) - src/renderer/: HTML renderer, text formatter, style parser - src/utils/: Logger, config manager, theme manager - tests/unit/: Unit tests for core components - tests/integration/: Integration tests - assets/: Default configs, themes, keybindings New Features: - btop-style four-panel layout with rounded borders - TOML-based configuration system - Multiple color themes (default, nord, gruvbox, solarized) - Comprehensive logging system - Modular architecture with clear separation of concerns Build System: - Updated CMakeLists.txt for modular build - Prefer system packages (Homebrew) over FetchContent - Google Test integration for testing - Version info generation via cmake/version.hpp.in Configuration: - Default config.toml with browser settings - Four built-in themes - Default keybindings configuration - Config stored in ~/.config/tut/ Removed: - Legacy v1 source files (ncurses-based) - Old render/ directory - Duplicate and obsolete test files - Old documentation files Binary: ~827KB (well under 5MB goal) Dependencies: FTXUI, cpp-httplib, toml11, gumbo-parser, OpenSSL
63 lines
1 KiB
TOML
63 lines
1 KiB
TOML
# TUT Configuration File
|
|
# Place in ~/.config/tut/config.toml
|
|
|
|
[general]
|
|
# Default theme name (must exist in themes directory)
|
|
theme = "default"
|
|
|
|
# Default homepage URL
|
|
homepage = "about:blank"
|
|
|
|
# Enable debug logging
|
|
debug = false
|
|
|
|
[browser]
|
|
# HTTP request timeout in seconds
|
|
timeout = 30
|
|
|
|
# Maximum redirects to follow
|
|
max_redirects = 10
|
|
|
|
# User agent string
|
|
user_agent = "TUT/0.1.0 (Terminal Browser)"
|
|
|
|
# Enable cookies
|
|
cookies = true
|
|
|
|
[cache]
|
|
# Enable page caching
|
|
enabled = true
|
|
|
|
# Maximum cache size in MB
|
|
max_size = 100
|
|
|
|
# Cache expiration in minutes
|
|
expiration = 60
|
|
|
|
[history]
|
|
# Maximum history entries
|
|
max_entries = 1000
|
|
|
|
# Save history on exit
|
|
save_on_exit = true
|
|
|
|
[bookmarks]
|
|
# Auto-save bookmarks
|
|
auto_save = true
|
|
|
|
[ui]
|
|
# Show line numbers in content
|
|
line_numbers = false
|
|
|
|
# Wrap long lines
|
|
word_wrap = true
|
|
|
|
# Show images as ASCII art (requires stb_image)
|
|
show_images = true
|
|
|
|
# Status bar position (top, bottom)
|
|
status_position = "bottom"
|
|
|
|
[keybindings]
|
|
# Keybinding preset (default, vim, emacs)
|
|
preset = "default"
|