Skip to content

Commit 696e84b

Browse files
committed
Add Cross-platform and CLI documentation pages, update index
1 parent b3307e1 commit 696e84b

3 files changed

Lines changed: 162 additions & 2 deletions

File tree

xerahs/cli.html

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
layout: default
3+
title: Command Line Interface
4+
---
5+
6+
<div class="jumbotron jumbotron-compact">
7+
<div class="container">
8+
<h1>
9+
<a href="/xerahs/">XerahS</a>
10+
</h1>
11+
<p>Command Line Interface</p>
12+
</div>
13+
</div>
14+
15+
<div class="container">
16+
<div class="row">
17+
<div class="col-lg-12">
18+
<h1>XerahS CLI</h1>
19+
<p class="lead">Automate screen capture, recording, and workflows directly from your terminal or scripts using the powerful XerahS CLI.</p>
20+
21+
<h2 class="mt-4">Usage</h2>
22+
<pre><code>xerahs [command] [options]</code></pre>
23+
24+
<h2 class="mt-5">Commands</h2>
25+
26+
<div class="card mb-3">
27+
<div class="card-body">
28+
<h4 class="card-title"><code>capture</code></h4>
29+
<p class="card-text">Capture a screenshot of the entire screen, a specific window, or a selected region.</p>
30+
<pre><code>xerahs capture --fullscreen
31+
xerahs capture --region "100,100,500,500"</code></pre>
32+
</div>
33+
</div>
34+
35+
<div class="card mb-3">
36+
<div class="card-body">
37+
<h4 class="card-title"><code>record</code></h4>
38+
<p class="card-text">Start a screen recording. Supports FFmpeg and modern platform-native APIs.</p>
39+
<pre><code>xerahs record --duration 10
40+
xerahs record --output "recording.mp4"</code></pre>
41+
</div>
42+
</div>
43+
44+
<div class="card mb-3">
45+
<div class="card-body">
46+
<h4 class="card-title"><code>workflow</code></h4>
47+
<p class="card-text">Execute a specific named workflow or ID directly.</p>
48+
<pre><code>xerahs workflow "Upload to Imgur"
49+
xerahs workflow --id "67f116dc"</code></pre>
50+
</div>
51+
</div>
52+
53+
<div class="card mb-3">
54+
<div class="card-body">
55+
<h4 class="card-title"><code>list</code></h4>
56+
<p class="card-text">List available workflows, encoders, and destinations.</p>
57+
<pre><code>xerahs list workflows</code></pre>
58+
</div>
59+
</div>
60+
61+
<div class="card mb-3">
62+
<div class="card-body">
63+
<h4 class="card-title"><code>config</code></h4>
64+
<p class="card-text">View or modify application configuration values via the CLI.</p>
65+
<pre><code>xerahs config set "Uploaders.Imgur.Anonymous" true</code></pre>
66+
</div>
67+
</div>
68+
69+
<div class="card mb-3">
70+
<div class="card-body">
71+
<h4 class="card-title"><code>backup-settings</code></h4>
72+
<p class="card-text">Create a backup of all current application settings and workflows.</p>
73+
<pre><code>xerahs backup-settings --output "./backup.json"</code></pre>
74+
</div>
75+
</div>
76+
77+
<div class="mt-4">
78+
<h3>Development Tools</h3>
79+
<ul>
80+
<li><code>verify-recording</code>: Test the recording pipeline with automated verification.</li>
81+
<li><code>compare-capture</code>: Capture and compare images for regression testing.</li>
82+
</ul>
83+
</div>
84+
85+
<div class="mt-5">
86+
<a class="btn btn-primary" href="/xerahs/">Back to Home</a>
87+
</div>
88+
</div>
89+
</div>
90+
</div>
91+
92+
{% include common-js.html %}
93+
<script src="/xerahs/js/xerahs.main.js"></script>

xerahs/cross-platform.html

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
layout: default
3+
title: Cross-Platform Architecture
4+
---
5+
6+
<div class="jumbotron jumbotron-compact">
7+
<div class="container">
8+
<h1>
9+
<a href="/xerahs/">XerahS</a>
10+
</h1>
11+
<p>Cross-Platform Architecture</p>
12+
</div>
13+
</div>
14+
15+
<div class="container">
16+
<div class="row">
17+
<div class="col-lg-12">
18+
<h1>Platform Abstraction Layer</h1>
19+
<p class="lead">XerahS is built on a strict "Core / Platform" separation model, ensuring that the business logic remains purely cross-platform while leveraging native capabilities on each OS.</p>
20+
21+
<h2 class="mt-4">Architecture Overview</h2>
22+
<div class="row mt-3">
23+
<div class="col-md-6">
24+
<h3><i class="fas fa-layer-group"></i> Core (Platform Agnostic)</h3>
25+
<p>The <code>XerahS.Core</code> and <code>XerahS.Common</code> libraries contain 100% of the application logic but have zero dependencies on Windows Forms, WPF, or any OS-specific APIs. They communicate with the OS exclusively through abstract interfaces defined in <code>XerahS.Platform.Abstractions</code>.</p>
26+
</div>
27+
<div class="col-md-6">
28+
<h3><i class="fas fa-desktop"></i> Platform Implementations</h3>
29+
<p>Specific projects (<code>XerahS.Platform.Windows</code>, <code>.Linux</code>, <code>.MacOS</code>) implement these interfaces using native APIs (Win32/WinRT, X11/Wayland/DBus, Cocoa/ScreenCaptureKit) and are injected at runtime.</p>
30+
</div>
31+
</div>
32+
33+
<h2 class="mt-5">Supported Platforms</h2>
34+
35+
<h3 class="mt-4"><i class="fab fa-windows"></i> Windows</h3>
36+
<p>On Windows, XerahS utilizes a hybrid of modern <strong>WinRT</strong> APIs (for high-performance capture) and traditional <strong>Win32</strong> (for low-level window management). It fully supports Windows 10 and 11, including dark mode integration and toast notifications.</p>
37+
38+
<h3 class="mt-4"><i class="fab fa-linux"></i> Linux</h3>
39+
<p>The Linux implementation favors modern standards while maintaining broad compatibility:</p>
40+
<ul>
41+
<li><strong>Wayland Support:</strong> Uses XDG Desktop Portals and DBus for screen capture and global shortcuts, ensuring compatibility with GNOME and KDE Plasma.</li>
42+
<li><strong>X11 Fallback:</strong> Retains support for legacy X11 environments using XLib and XExtensions.</li>
43+
<li><strong>AppImage:</strong> Distributed as a single AppImage for easy deployment across distros.</li>
44+
</ul>
45+
46+
<h3 class="mt-4"><i class="fab fa-apple"></i> macOS</h3>
47+
<p>XerahS wraps native macOS frameworks to provide a seamless experience:</p>
48+
<ul>
49+
<li><strong>ScreenCaptureKit:</strong> High-performance, low-overhead screen recording on macOS Monterey and newer.</li>
50+
<li><strong>Cocoa Interop:</strong> Native window management and menu bar integration.</li>
51+
<li><strong>Universal Binary:</strong> Optimization for both Apple Silicon and Intel Macs.</li>
52+
</ul>
53+
54+
<div class="alert alert-info mt-4" role="alert">
55+
<strong>Avalonia UI:</strong> The user interface is built with Avalonia UI, providing a pixel-perfect, hardware-accelerated experience that looks consistent across all operating systems.
56+
</div>
57+
58+
<div class="mt-5">
59+
<a class="btn btn-primary" href="/xerahs/">Back to Home</a>
60+
</div>
61+
</div>
62+
</div>
63+
</div>
64+
65+
{% include common-js.html %}
66+
<script src="/xerahs/js/xerahs.main.js"></script>

xerahs/index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<div class="container">
88
<h1>XerahS</h1>
99
<p>Screen capture, file sharing and productivity tool</p>
10+
<p class="lead">XerahS is <strong>ShareX reimagined</strong> with modern UI technologies, built from the ground up for cross-platform performance.</p>
1011
<div>
1112
<a class="btn xerahs-download" role="button" href="https://github.com/ShareX/XerahS/releases/latest">
1213
Download<i class="fa-solid fa-download"></i>
@@ -32,10 +33,10 @@ <h1>XerahS</h1>
3233
<div class="container">
3334
<h3><a href="#features"><i class="fas fa-star"></i>XerahS Features</a></h3>
3435
<div class="row">
35-
<div class="col-sm-3"><strong></strong>Cross-platform (Avalonia UI)</strong></div>
36+
<div class="col-sm-3"><a href="/xerahs/cross-platform"><strong>Cross-platform (Avalonia UI)</strong></a></div>
3637
<div class="col-sm-3"><a href="/xerahs/modern-capture"><strong>Modern Screen Capture</strong></a></div>
3738
<div class="col-sm-3"><a href="/xerahs/plugins"><strong>Plugin-based Destinations</strong></a></div>
38-
<div class="col-sm-3">Command line interface</div>
39+
<div class="col-sm-3"><a href="/xerahs/cli"><strong>Command line interface</strong></a></div>
3940
<div class="col-sm-3"><a href="/xerahs/workflows"><strong>Dedicated Workflows</strong></a></div>
4041
<div class="col-sm-3">Lightweight</div>
4142
<div class="col-sm-3">No advertisements</div>

0 commit comments

Comments
 (0)