2017/04/13

Mastodonをデスクトップアプリ化してみた

先日掲載されたこちらの記事が大きなきっかけになったように思うが、ここ数日で急速に話題となっているように感じられるTwitterライクなSNSのMastodon


とりあえず詳細は他の解説に譲るとして、今回はwebアプリケーションであるMastodonをデスクトップアプリ化して使ってみることにした。参考にしたのは以下のページ:
デスクトップアプリ化と言ってもやることは単純で、Nativefierというコマンドツールを使用してwebアプリをOS実行形式(.appや.exe等)に変換するだけである(ので、外側が変わるだけで中身はwebアプリと同一なので念のため)。自分はmacOS Sierraで試してうまくいったが、MacだけではなくWindowsやLinuxでも変換できるらしい。Mac以外での方法は他を当たってください。

さて本題。実際に変換するまでにはいくつかの準備が必要になる。ほとんど全てターミナル上での作業になり、具体的には以下の通り:
  1. npmのインストール
  2. Nativefierのインストール
  3. webアプリの変換
まず1.だが、自分の場合は興味本位でMacPortsをインストールして放置したままだったのでそれを削除し、Homebrewをインストールして、さらにnpmをインストールするという手順を踏まなければならなかった。詳細は下記を参照してください:
brew install npm
    を実行
npmが無事にインストールできたら2.のNativefierのインストールに移るが、これも何も考えず
npm install -g nativefier
を実行すれば良い。

さて肝心の3.だが、Nativefierのコマンドはこんな感じの書式になるっぽい:
nativefier --honest "認証の必要なwebサイトのURL" --name "アプリケーション名" --icon アイコン画像ファイルへのパス(macOSの場合) --counter (Dockの通知を有効にするオプション、macOSのみ?)
自分の場合は以下のコマンドで上手くいった(一部伏字)。webサイトのURLはMastodonのアカウントを取得したインスタンス(≒サーバ)のものに適宜変更してください:
nativefier --honest "https://mstdn.jp" --name "Mastodon JP" --icon /Users/xxxxxxxx/Desktop/xxxxxxxx.icns --counter
なおアイコン画像は事前に準備しておく必要があるので、こちらのサイト等で環境に合わせた画像ファイルを用意しておくこと(Macの場合は .icns 形式)。

コマンドが成功するとカレントディレクトリに" Mastodon JP-darwin-x64 "といったフォルダが作成され、その中にアプリケーションが格納されている。あとはそれをApplicationフォルダに移動するなどして実行すれば良い。無事起動できたら成功。おめでとー!


…とは言っても画面は当然webアプリと同一なんだが、ネイティブアプリ化することでいwebブラウザのタブを占有することが無くなり、いろいろハンドリングしやすくなるのは確かなので、誰かが使い勝手のいい専用クライアントアプリを作るまではこちらで使っていこうと思う。

余談だけど、iOS機器ならMastodonにSafariでアクセス後に「ホーム画面に追加」してやれば同じノリで使うことができるし、もちろんAmaroqなどのアプリでも良い。

というわけで、次は見ているサイトを投稿するブックマークレットを作ったり、Twitterと連携できるようにしたい。暇なときにのんびり調べるところから始めよう。

ついでに自分のMastodonアカウントは、メインが @imgd@mstdn(dot)jp 、 予備が @imgd@Mastodon(dot)Cloud です。どうぞごひいきに。

追記:モノは試しでmacOS sierraでカラム幅の調整ができるスクリプトを組み込んでビルドしたものを置いておく。無保証無サポート質問など一切お断り自己責任の上でどうぞ(同じやり方なのにmastodon.cloudではカラム幅がなぜか変えられなかった)。放っとくとメモリをばかすか食いつぶすみたいなので、まあお遊び程度ということで。
  • mstdn.jp用
  • mastodon.cloud用
さらに追記:リソースを食いつぶすばかりなので公開を停止しました。ご自身でいろいろお試しください。