12 KiB
Textual Official Guide Index
High-level index of every guide from the official Textual documentation. Use web_fetch to retrieve full content on-demand when needed.
Getting Started
Installation
URL: https://textual.textualize.io/getting_started/ Topics: Installing Textual, requirements, first app When to fetch: User asks about installation, setup, or getting started
Tutorial
URL: https://textual.textualize.io/tutorial/ Topics: Building a stopwatch app, complete walkthrough, reactive attributes, widgets When to fetch: User wants step-by-step tutorial or building their first app
Core Concepts
App Basics
URL: https://textual.textualize.io/guide/app/ Topics: Creating apps, running apps, compose method, mounting widgets, app lifecycle, application mode, inline mode, suspending apps When to fetch: Questions about app structure, lifecycle, or basic app operations
Widgets
URL: https://textual.textualize.io/guide/widgets/ Topics: Creating custom widgets, widget communication, compound widgets, render method, line API, renderables, uni-directional data flow, widget design patterns When to fetch: Creating custom widgets, widget architecture, or advanced widget patterns
Layout
URL: https://textual.textualize.io/guide/layout/ Topics: Vertical layout, horizontal layout, grid layout, dock layout, layers, FR units, container layouts, grid-size, grid-columns, grid-rows, row-span, column-span When to fetch: Layout questions, arranging widgets, grid systems, positioning
CSS & Styling
URL: https://textual.textualize.io/guide/CSS/ Topics: Textual CSS basics, selectors (type, ID, class, universal), pseudo-classes, CSS_PATH, live editing, combinator selectors When to fetch: CSS syntax, selectors, styling fundamentals
Styles
URL: https://textual.textualize.io/guide/styles/ Topics: Style properties, colors (hex, RGB, HSL), units (%, fr, vw, vh, w, h), box model, box-sizing, dimensions, spacing When to fetch: Specific style properties, units, colors, dimensions
Design System / Themes
URL: https://textual.textualize.io/guide/design/ Topics: Theme system, built-in themes, creating custom themes, color variables, semantic colors, $text variables, theme switching, design tokens When to fetch: Theming, color systems, design tokens, theme customization
Interaction & Events
Input
URL: https://textual.textualize.io/guide/input/ Topics: Keyboard input, mouse input, focus, key events, mouse events, input handling When to fetch: Handling keyboard/mouse input, focus management, input events
Events
URL: https://textual.textualize.io/guide/events/ Topics: Event system, message handlers, event bubbling, preventing events, custom events, event lifecycle When to fetch: Event handling, custom events, event propagation
Actions
URL: https://textual.textualize.io/guide/actions/ Topics: Action system, key bindings, BINDINGS, action_* methods, built-in actions, custom actions When to fetch: Keyboard shortcuts, actions, key bindings
Reactivity
URL: https://textual.textualize.io/guide/reactivity/ Topics: Reactive attributes, watch methods, compute methods, reactive decorators, smart refresh, recompose, data binding When to fetch: Reactive programming, automatic updates, computed values, watchers
Advanced Features
Screens
URL: https://textual.textualize.io/guide/screens/ Topics: Screen stack, push_screen, pop_screen, ModalScreen, screen navigation, installed screens, SCREENS, screen opacity When to fetch: Multi-screen apps, navigation, modal dialogs, screen management
Query
URL: https://textual.textualize.io/guide/queries/ Topics: Querying widgets, query_one, query, set methods, DOM traversal, selectors in queries When to fetch: Finding widgets, DOM navigation, bulk operations
Workers
URL: https://textual.textualize.io/guide/workers/ Topics: Background tasks, @work decorator, run_worker, thread workers, async workers, worker lifecycle, cancellation When to fetch: Background processing, async operations, threading, long-running tasks
Animation
URL: https://textual.textualize.io/guide/animation/ Topics: Animating styles, animate method, easing functions, duration, transitions, animation callbacks When to fetch: Animations, transitions, easing, style animations
Command Palette
URL: https://textual.textualize.io/guide/command_palette/ Topics: Built-in command palette, Provider class, fuzzy matching, custom commands, command discovery When to fetch: Command palette, custom commands, keyboard-driven interfaces
Content & Display
Content / Markup
URL: https://textual.textualize.io/guide/content/ Topics: Content markup, Rich renderables, styling text, markup tags, links, clickable actions, content objects When to fetch: Text formatting, markup syntax, Rich renderables, styled text
Rich Content
URL: https://textual.textualize.io/guide/rich/ Topics: Using Rich library, Rich renderables, tables, syntax highlighting, panels, progress bars When to fetch: Rich library integration, advanced text formatting, Rich features
Development & Debugging
Devtools
URL: https://textual.textualize.io/guide/devtools/ Topics: textual command, console, run command, live CSS editing, --dev mode, debugging, logging When to fetch: Development workflow, debugging, console logging, dev tools
Testing
URL: https://textual.textualize.io/guide/testing/ Topics: Testing apps, Pilot API, run_test, simulating input, snapshots, unit testing When to fetch: Testing, unit tests, test automation, Pilot
Performance
URL: https://textual.textualize.io/guide/performance/ Topics: Performance optimization, profiling, rendering performance, widget efficiency, best practices When to fetch: Performance issues, optimization, profiling
Reference Documentation
Widgets Reference
URL: https://textual.textualize.io/widgets/ Topics: Complete widget reference, all built-in widgets with examples When to fetch: Looking for specific widget documentation, widget API details
Styles Reference
URL: https://textual.textualize.io/styles/ Topics: Complete CSS properties reference, all style properties When to fetch: Specific style property details, CSS reference
API Reference
URL: https://textual.textualize.io/api/ Topics: Complete Python API reference When to fetch: API details, method signatures, class documentation
Specialized Topics
Scrolling
URL: https://textual.textualize.io/guide/scrolling/ Topics: Scroll views, ScrollableContainer, scrolling behavior, scroll_visible, programmatic scrolling When to fetch: Scrolling issues, scroll containers, programmatic scrolling
Tooltips
URL: https://textual.textualize.io/guide/tooltips/ Topics: Adding tooltips, tooltip property, tooltip customization When to fetch: Tooltips, hover help text
Notifications
URL: https://textual.textualize.io/guide/notifications/ Topics: Toast notifications, notify method, notification severity, notification styling When to fetch: Notifications, alerts, toasts
Input Validation
URL: https://textual.textualize.io/guide/input_validation/ Topics: Validating input, Validator class, built-in validators, custom validators When to fetch: Form validation, input validation, validators
Timers
URL: https://textual.textualize.io/guide/timers/ Topics: Scheduling tasks, set_timer, set_interval, timer callbacks, timer management When to fetch: Scheduled tasks, periodic updates, timers
Paths
URL: https://textual.textualize.io/guide/paths/ Topics: File paths, resource paths, CSS_PATH, path resolution When to fetch: File loading, resource paths, path management
Additional Topics
FAQ
URL: https://textual.textualize.io/FAQ/ Topics: Common questions, troubleshooting, best practices When to fetch: Common issues, general questions, troubleshooting
Why Textual?
URL: https://textual.textualize.io/guide/why/ Topics: Benefits of Textual, use cases, comparison with alternatives When to fetch: Understanding Textual benefits, when to use Textual
Usage Guidelines
When to Fetch Guides
-
Don't fetch unless needed: The skill already covers fundamentals. Only fetch when:
- User asks about a specific topic not covered in skill
- Need detailed API information
- Complex examples required
- Latest updates needed (docs may be newer than skill)
-
Fetch specific sections: Use targeted URLs for relevant topics
-
Combine with skill knowledge: Use fetched content to supplement, not replace, skill knowledge
Example Fetch Patterns
# User asks about command palette
web_fetch("https://textual.textualize.io/guide/command_palette/")
# User needs animation details
web_fetch("https://textual.textualize.io/guide/animation/")
# User wants testing info
web_fetch("https://textual.textualize.io/guide/testing/")
# Need widget reference
web_fetch("https://textual.textualize.io/widgets/data_table/")
Quick Reference by Topic
Need information about...
App Structure → App Basics guide Layout & Positioning → Layout guide Styling & CSS → CSS guide, Styles guide, Design guide User Input → Input guide, Events guide, Actions guide Custom Widgets → Widgets guide Navigation → Screens guide Async Tasks → Workers guide Animations → Animation guide Commands → Command Palette guide Testing → Testing guide Development → Devtools guide Rich Integration → Rich Content guide Form Validation → Input Validation guide Auto-Updates → Reactivity guide
Widget-Specific Documentation
All built-in widgets have dedicated documentation at:
https://textual.textualize.io/widgets/{widget_name}/
Common widget docs:
- Button: https://textual.textualize.io/widgets/button/
- Input: https://textual.textualize.io/widgets/input/
- DataTable: https://textual.textualize.io/widgets/data_table/
- Tree: https://textual.textualize.io/widgets/tree/
- Select: https://textual.textualize.io/widgets/select/
- TextArea: https://textual.textualize.io/widgets/text_area/
- ListView: https://textual.textualize.io/widgets/list_view/
- ProgressBar: https://textual.textualize.io/widgets/progress_bar/
- Markdown: https://textual.textualize.io/widgets/markdown/
- MarkdownViewer: https://textual.textualize.io/widgets/markdown_viewer/
- DirectoryTree: https://textual.textualize.io/widgets/directory_tree/
- Header: https://textual.textualize.io/widgets/header/
- Footer: https://textual.textualize.io/widgets/footer/
- Label: https://textual.textualize.io/widgets/label/
- Static: https://textual.textualize.io/widgets/static/
- Log: https://textual.textualize.io/widgets/log/
- RichLog: https://textual.textualize.io/widgets/rich_log/
- Sparkline: https://textual.textualize.io/widgets/sparkline/
- Switch: https://textual.textualize.io/widgets/switch/
- Checkbox: https://textual.textualize.io/widgets/checkbox/
- RadioButton: https://textual.textualize.io/widgets/radio_button/
- RadioSet: https://textual.textualize.io/widgets/radio_set/
- TabbedContent: https://textual.textualize.io/widgets/tabbed_content/
- ContentSwitcher: https://textual.textualize.io/widgets/content_switcher/
- LoadingIndicator: https://textual.textualize.io/widgets/loading_indicator/
Container Widget Documentation
- Container: https://textual.textualize.io/widgets/container/
- Horizontal: https://textual.textualize.io/widgets/horizontal/
- Vertical: https://textual.textualize.io/widgets/vertical/
- Grid: https://textual.textualize.io/widgets/grid/
- ScrollableContainer: https://textual.textualize.io/widgets/scrollable_container/
- VerticalScroll: https://textual.textualize.io/widgets/vertical_scroll/
- HorizontalScroll: https://textual.textualize.io/widgets/horizontal_scroll/
Notes
- All URLs follow pattern:
https://textual.textualize.io/{section}/{topic}/ - Official docs are actively maintained and may have updates not in this skill
- Use web_fetch with specific URLs when detailed or latest information needed
- Combine official docs with skill knowledge for best results