# デスクトップアプリ

Meshtastic デスクトップアプリケーションは、Kotlin Multiplatform を通じて、コアのコードベースを Android と共有しています。 ほとんどの機能は、Linux、macOS、Windows で同じように動作します。

## インストール

### Linux

- リリースページから `.deb` または `.AppImage` パッケージをダウンロードします
- または、`./gradlew :desktopApp:run` を使ってソースからビルドします

### macOS

- リリースから `.dmg` パッケージをダウンロードします
- または、ソースからビルドします

### Windows

- リリースから `.msi` インストーラーをダウンロードします
- または、ソースからビルドします

## 無線機を接続する

### USB シリアル(主要)

デスクトップで最も信頼できる接続方法です:

1. USB ケーブルで Meshtastic 無線機を接続します。
2. アプリがシリアルポートを自動的に検出します。
3. 検出されない場合は、接続メニューから正しいシリアルポートを選択します。

### TCP/IP

ネットワーク接続された無線機の場合:

1. 無線機の IP アドレスとポート(既定:4403)を入力します。
2. 「**接続**」をクリックします。

### Bluetooth(BLE)

Bluetooth Low Energy は、[Kable](https://github.com/JuulLabs/kable) ライブラリを通じてデスクトップでサポートされています:

1. システムに Bluetooth アダプターがあることを確認します。
2. アプリが近くの Meshtastic 無線機を自動的にスキャンします。
3. 接続画面からデバイスを選択します。

## 機能の対応状況

 機能                | Android | デスクトップ | 備考                                                   |
 ----------------- | ------- | ------ | ---------------------------------------------------- |
 メッセージング           | ✓       | ✓      | 完全対応                                                 |
 ノードリスト            | ✓       | ✓      | 完全対応                                                 |
 マップ               | ✓       | ◐      | マップタブはデスクトップにも存在しますが、インタラクティブなマップビューは Android のみです   |
 設定                | ✓       | ✓      | 完全対応                                                 |
 Bluetooth(BLE)    | ✓       | ✓      | デスクトップでは Kable 経由                                    |
 ファームウェアの更新        | ✓       | ✓      | アプリ内の USB、BLE、Wi-Fi(ESP32)更新はすべて、Android と同じように動作します |
 通知                | ✓       | ✓      | OS ネイティブの通知                                          |
 ウィジェット            | ✓       | ✗      | Android のみ                                           |
 Android Auto      | ✓       | ✗      | Android のみ。デスクトップや iOS では利用できません                     |
 AI アシスタント(Chirpy) | ✓\*     | ✗      | Google 版の Android のみ                                 |
 アプリ機能(システム AI)    | ✓†      | ✗      | Google 版の Android のみ                                 |

\*Chirpy AI には、対応ハードウェアを備えた Google 版ビルドで Android 14 以降が必要です。

†アプリ機能は、Google 版ビルドで、アプリの操作を Android のシステム AI に公開します。 [アプリ機能](app-functions) を参照してください。

## UI の違い

デスクトップアプリは、同じ Compose Multiplatform の UI を使用し、大きな画面とデスクトップ操作に合わせて調整されています。

### キーボードショートカット

ショートカットは、macOS では **⌘**(Command)、Windows と Linux では **Ctrl** を使用します。 (Super/Windows キーは割り当てられていません。)

 ショートカット      | 操作           |
 ------------ | ------------ |
 **⌘/Ctrl+Q** | アプリケーションを終了  |
 **⌘/Ctrl+,** | 設定を開く        |
 **⌘/Ctrl+1** | メッセージタブに切り替え |
 **⌘/Ctrl+2** | ノードタブに切り替え   |
 **⌘/Ctrl+3** | マップタブに切り替え   |
 **⌘/Ctrl+4** | 接続タブに切り替え    |
 **⌘/Ctrl+/** | バージョン情報を開く   |

### ウィンドウとシステムトレイ

- **ウィンドウのサイズ変更**:レスポンシブなレイアウトがウィンドウの寸法に合わせて調整されます
- **システムトレイ**:システムトレイに最小化して、バックグラウンドでメッシュを動作させます
- **トレイメニュー**:トレイアイコンを右クリックして、ウィンドウ表示または終了します
- **マウス操作**:ホバー状態と標準的なデスクトップのナビゲーション

### 通知の設定

デスクトップアプリには、どの通知を表示するか(メッセージ、新しいノード、バッテリー低下の警告)を制御するアプリ内トグルがあります。 これらには、アプリ内の「**設定 → 通知**」からアクセスします。

## 組み込みのドキュメントブラウザー

デスクトップアプリには、アプリケーションを離れることなくヘルプコンテンツにすばやくアクセスできる、組み込みのドキュメントブラウザーが含まれています。

![目次付きのドキュメントブラウザー](../../assets/screenshots/docs-browser_toc.png)

ブラウザーは、すべてのドキュメントを対象とした全文検索に対応しています:

![ドキュメントブラウザーの検索](../../assets/screenshots/docs-browser_search.png)

個々のドキュメントページは、完全な書式で表示されます:

![ドキュメントページ](../../assets/screenshots/docs-browser_page.png)

## ソースからビルドする

```bash
git clone https://github.com/meshtastic/Meshtastic-Android.git
cd Meshtastic-Android
./gradlew :desktopApp:run
```

要件:

- JDK 21
- デスクトップのみのビルドに Android SDK は不要です

## 既知の制限

- インタラクティブなマップビューは Android のみです。マップタブは存在しますが、デスクトップではマップが表示されません。
- 一部の Android 固有の機能(ウィジェット、特定の通知チャンネル)は利用できません
- Compose Desktop を実行する低スペックのハードウェアでは、パフォーマンスが変わることがあります
- デスクトップでは BLE のボンディングはまだサポートされていません(ペアリングはボンディングなしで機能します)

## 関連トピック

- [コネクション](connections):接続方法の概要
- [ファームウェア更新](firmware):USB、BLE、Wi-Fi 更新はすべて、Android と同じように動作します

---