コンテンツにスキップ

デスクトップ

デスクトップは両機種で同じです。上端にメニューバー、その下に壁紙、その上に窓が乗ります。

デスクトップ

メニューバー

システムが伝えたいことは、この高さ 13 ピクセルの帯に全部載っています。

┌─────────────────────────────────────────────────────────────────────┐
│ Family mruby  ▪▪            137KB  B  ▂▄▆   08/07 21:04:11          │
└─────────────────────────────────────────────────────────────────────┘
  ↑             ↑             ↑      ↑  ↑     ↑
  システムメニュー 動作中のアプリ  RAM  BLE WiFi 時計

Family mruby

押すとシステムメニューが出ます。中身は下記

動作中のアプリ (タスクバー)

動いているアプリが、起動した順に小さな四角として題字のすぐ右に並びます。これがタスクバーです。

  • 文字はアプリ名の 1 文字目です
  • は動いている言語を表します

    言語
    Ruby (mruby)
    Lua
    BASIC
    MicroPython
    ネイティブ C
  • 白い枠が付いているのが、いまキーボードの入力先になっているアプリです

  • 四角を押すと、そのアプリが前面に出て、キーボードもそちらへ移ります

Ctrl + Tab で退避したアプリ (下記) も、凍結中タスクバーに残ります。いつでも 押して戻れます。

内蔵 RAM の空き

右側の数字 — 例では 137KB — は内蔵 RAM の空きで、空きメモリ全体ではありません。 アプリのヒープは潤沢な PSRAM から取りますが、動いているアプリ 1 本につき内蔵 RAM を およそ 25KB 使い、先に尽きるのはこちらです。「もう 1 本開けるか」に答える数字です。

Linux のシミュレータにはこの制約が無いので ---KB と出ます。

BLE

見た目 意味
何も出ない BLE が止まっている
灰色の箱に白い B BLE は動いていて、接続を待っている
白い箱に反転した B 何かが接続している (たいていは web コンソール)

Retro では、システムメニューから BLE を起動できます。起動時に立ち上げるかどうかは Config の ble_auto_start です。一度動き出した BLE を止める手段は、再起動のほかにありません。 Modern の BLE は常に起動します。

WiFi

時計のすぐ左にある電波の棒です。

見た目 意味
白い棒 接続している
灰色の棒に赤い斜線 接続していない
何も出ない この構成には WiFi がない

棒を押すと Network ダイアログが開き、割り当てられたアドレスが見られます。 WiFi につなぐ を参照してください。

時計

日付と時刻です。合わせるのは Set Clock、時間帯は別の設定で Config にあります。

システムメニュー

システムメニュー
項目 内容
Launcher 入っているアプリの一覧
File Manager フラッシュの中のファイルを見る
Log Viewer システムログ
Monitor 動いているタスクとメモリ
Set Clock 日付と時刻
Config 言語、キーボード配列、カーソル速度、配色、時間帯、WiFi/BLE の自動起動、表示の余白
Storage キャッシュの削除
Network WiFi の状態、アドレス、ホスト名
About バージョンとチップの情報
Reset 再起動

Config で変えたものは /etc/system_conf.toml に書き戻されます。書き込みは行単位なので、 コメントや他の設定はそのまま残ります。実機では、起動時にしか効かない設定のために Save & Reboot も出ます。

ランチャー

ランチャー

アイコンをダブルクリックするとアプリが起動します。矢印キーで選択を動かし、Enter でも 起動できます。

一覧は起動時に一度だけ作られます

ランチャーがファイルを探すのは、デスクトップの起動時だけです。アプリを追加したら ランチャーの窓の中で右クリックして読み直させてください。そうしないと、次に 再起動するまで新しいアプリは出てきません。

窓の操作

したいこと 操作
動かす 見出しの部分をつかんで動かす
入力先にする 窓の中を押す、またはタスクバーの四角を押す
閉じる 見出しの閉じるボタン、または Ctrl + Q
大きさを変える 角をつかんで動かす (resizable を宣言したアプリのみ)

押した判定は指やボタンを離したときに、少しの動きを許容して行われます。押すときに手元が 少し動いても、引きずり操作にはなりません。

キー

いつでも効くもの

キー 動作
Ctrl + Q 手前のアプリを終了する。全画面のものでも効きます
Ctrl + Tab 動いているアプリを切り替える

どちらもアプリにイベントが届く前に処理されるので、全画面のアプリが画面を占有していても 効きます。

デスクトップ上で

アプリを操作しておらず、ダイアログも出ていないとき、1 文字打つとアプリが起動します。

キー 起動するもの
L ランチャー
S シェル
E エディタ
N NSF 再生
I HID Inspector — HID 機器設定 を参照

この割り当ては /etc/system_conf.toml[[shortcuts]] にあります。アプリの場所を 書けば自分の割り当ても足せます。

アプリの切り替え

Ctrl + Tab は、手前に何があるかで動きが 2 通りに分かれます。

窓のアプリ: 順に巡る

動いているアプリを順に巡ります (デスクトップは飛ばします)。窓が前に出るだけでなく キーボードの入力先も移るので、エディタから自分のアプリへ移って打ち込み、また Ctrl + Tab でエディタへ戻る、という往復ができます。

全画面のアプリ: 退避する

全画面のアプリの中で Ctrl + Tab を押すと、そのアプリは退避します。その場で凍結されて 描画面が隠れ、デスクトップが戻ります。状態も描画面も保たれるので、巡ってきたときや タスクバーの四角を押したときには、描き直しも無しにさっきの画面がそのまま戻ります。

アプリ側の宣言が要ります

退避できるのは、.app.tomlfullscreen_switchable = 1 を宣言したアプリだけです。宣言していないアプリは、 全画面中の Ctrl + Tab を無視します。

この宣言は「途中で凍結されても構わない」という意思表示です。音源を鳴らしっぱなしに するアプリは宣言すべきではありません。凍結しても音は鳴り続けるからです。

同梱の発表用アプリ PicoRabbit はこれを宣言しています。スライドの途中で抜けて、別のことを してから、同じスライドに戻れます。

関連