Memoriq
Mac のメモリ確認と Chrome タブ整理
Memoriq は、Mac のメモリの状況を見ながら、使っていない Chrome タブを休止したり退避したりするツールです。Mac のメニューバーアプリと Chrome 拡張でできています。
概要
Mac アプリは、メモリ圧迫・スワップ・アプリ別の使用量を 30 秒ごとに確認して、ダッシュボードとメニューバーに表示します。Chrome 拡張は、許可したサイトの未使用タブを、最大 50 枚まで順に休止します。休止では効果が小さいときは、URL とタイトルを端末内に保存してタブを閉じる「退避」も選べます。退避したタブは、一覧から復元できます。
選択中・固定・音声再生中などのタブは対象から外し、実行の直前にも状態を確認します。自動休止は初期状態でオフです。処理は Mac の中で完結し、アカウントは要りません。Electron アプリなどを通常終了して、あとで一覧から再起動する機能もあります。
現在はソースからビルドして使うローカル版で、公証済みアプリや Chrome Web Store での公開は行っていません。
アーキテクチャ
- 構成
- 3 つの部品があります。Swift 製の Mac アプリ(SwiftUI・AppKit)、macOS のメモリとプロセスの統計を読む測定コア、Chrome 拡張(JavaScript)です。
- 連携
- Mac アプリと拡張は、読み取り専用の、限られた連携でつながります。拡張が明示的に求めたときだけ、Mac 側が測定結果を返します。拡張から、任意のコマンドの実行、プロセスの終了、ファイル操作はできません。
- 休止の流れ
- 設定を検証して候補のタブを抽出し、保護条件に合うものを除外します。実行時にもう一度タブの状態を確認してから、1 件ずつ休止し、Chrome が実際に休止状態になったことを確かめます。
- 権限とデータ
- 拡張は、必要最小限の権限だけを使います。設定と退避データは Chrome のプロファイル内に保存し、外部への送信や同期はしません。
- 配布
- ソースからビルドするローカル版です。スクリプトでアプリをビルドしてインストールし、拡張はデベロッパーモードで読み込みます。署名は簡易的なもので、公証はしていません。
- 種別
- Mac のメモリ確認と Chrome タブ整理
- 区分
- LAB(個人制作・実験)
- 担当
- 企画・設計・開発
- 技術
- Swift
- SwiftUI
- AppKit
- C(libproc)
- Chrome 拡張(Manifest V3)
- JavaScript
- Python