mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-10-23 23:03:14 +03:00
Async core (EE namespace, documented in docs/articles/async_core.md): - Add Result<T, E>, Task<T>/TaskSource<T> with continuations and abandonment, Executor, CancellationToken and SmallUniqueFunction - Make ThreadPool an Executor with submit() returning a Task; work items are move-only - Add Scene::MainThreadExecutor to resume continuations on the UI thread - Move URI to EE core (eepp/core/uri.hpp) with filesystem helpers (fromFSPath, getFSPath, getParent); EE::Network::URI remains an alias - Add System::SHA1 (streaming, modeled on MD5) - Rename the pack path index to System::PackFileIndex; VirtualFileSystem is kept as a deprecated alias eepp-vfs module (src/modules/vfs, documented in docs/articles/vfs.md): - URI-addressed VirtualFileSystem with pluggable providers: file://, mem://, res:// (packs) and sftp:// - Async file and directory handles, metadata, space info, capabilities and IOStream adapters - Copy/move transfers with progress, cancellation and conflict options - Change watching through efsw locally, efsw-agent over SSH for sftp://, and a polling fallback - VFSDirectoryModel for table views: sorting, name filtering (plain, glob, regex), type and item-count columns, per-column CSS classes and lifetime-safe executor delivery SFTP: - SSH sessions over libssh2 with ssh_config parsing (Host/Match, ProxyJump, ProxyCommand), known_hosts verification, ssh-agent, key and keyboard-interactive authentication, and connection pooling - Built by default; opt out with --without-vfs-sftp - Vendor libssh2 1.11.1 with the mbedTLS backend, and add Ed25519 host and user keys to it through Monocypher 4.0.2 (mbedTLS has no Ed25519) eefm (src/tools/eefm), a Dolphin-like file manager on eepp-vfs: - Split panes, each with its own tabs, location bar, history and filter bar - Places panel with Places, Remote (saved locations and network mounts) and Devices (with usage), editable, hideable and reorderable by drag - Details view with drag and drop, clipboard interoperable with other file managers, rename, new folder/file, trash (freedesktop, macOS, Windows) and properties - Open and Open With from shared-mime-info and desktop entries - Persisted window, panes, tabs, columns, sort and places UI and window fixes: - Keep table column max widths across model updates and give the main column the remaining width - Count left margins when laying out push button icon and text - Add Clipboard::setMimeData, getDataString and getTextMimeTypes - Report Zip::close/addFile failures and free archives correctly Tests and tooling: - Unit tests for the async core, VFS providers, transfers, watching, the directory model, ssh_config, SFTP (local sshd), the efsw agent protocol, SHA1 and URI - Add a VFS benchmark - Update efsw with efsw-agent and its wire protocol
26 lines
2.8 KiB
Markdown
26 lines
2.8 KiB
Markdown
# eepp articles
|
|
|
|
Use this page to find the guide for the task you are doing. The articles explain eepp's
|
|
supported behavior; class headers and current source code remain the reference for API details.
|
|
|
|
| Task | Start here | Follow up with |
|
|
| --- | --- | --- |
|
|
| Build a first UI with XML and CSS | [UI introduction](ui_introduction.md) | [Application UI authoring](ui_authoring.md) |
|
|
| Create or change an application screen | [Application UI authoring](ui_authoring.md) | [Native layout reference](ui_layout_reference.md), [CSS for application UI](ui_css_for_applications.md) |
|
|
| Look up a CSS property, selector, or value | [CSS specification](css_specification.md) | [CSS for application UI](ui_css_for_applications.md) when styling native widgets |
|
|
| Render HTML or Markdown content | [HTML compatibility layer](ui_html_compatibility.md) | [CSS specification](css_specification.md) for supported properties and values |
|
|
| Preview and edit native XML/CSS layouts | [UI editor](ui_editor.md) | [Application UI authoring](ui_authoring.md), [Runtime UI inspector](ui_inspector.md) |
|
|
| Support right-to-left languages or logical `start`/`end` layouts | [UI direction and RTL](ui_rtl.md) | [CSS specification](css_specification.md#direction) for `direction` and flow-relative properties |
|
|
| Inspect or automate a running UI | [Runtime UI inspector](ui_inspector.md) | [Application UI authoring](ui_authoring.md) for a layout debugging workflow |
|
|
| Bind application data or commands to widgets | [UI data binding](ui_databinding.md) | [Application UI authoring](ui_authoring.md) for screen structure |
|
|
| Make native widgets accessible | [UI accessibility](ui_accessibility.md) | [Application UI authoring](ui_authoring.md) for screen structure |
|
|
| Work on the accessibility implementation | [UI accessibility architecture](ui_accessibility_architecture.md) | [UI accessibility](ui_accessibility.md) for the application-facing behavior |
|
|
| Add an interactive chart | [UI charts](ui_charts.md) | [Application UI authoring](ui_authoring.md) for placement and sizing |
|
|
| Run async work: tasks, results, executors, cancellation | [Async core](async_core.md) | `include/eepp/core/task.hpp` and the other headers it lists |
|
|
| Read or write files through URIs (local, packs, SFTP), watch directories | [Virtual file system](vfs.md) | [Async core](async_core.md), the `src/modules/vfs/include/eepp/vfs/` headers |
|
|
| Work on `eterm` Kitty support | [Keyboard protocol](eterm_kitty_keyboard.md), [graphics protocol](eterm_kitty_graphics.md) | The corresponding `src/modules/eterm/` implementation and tests |
|
|
|
|
Native application widgets and HTML documents have different layout behavior. Start with
|
|
[application UI authoring](ui_authoring.md) for toolbars, dialogs, forms, and editor windows;
|
|
start with [HTML compatibility](ui_html_compatibility.md) for `UIWebView` and `UIMarkdownView`.
|