chromeからsafari8に移行


[MacのブラウザをChromeからSafariに変えるだけで電池持ちが劇的に伸びることが発覚](http://gori.me/mac/mac-tips/74789)を読んで、手持ちのmacbook airのデフォルトブラウザをchromeからsafari8に変える事にしましたのでそのメモです.

先週くらいに、積んでる8GB中4GB以上も消費していたChromeのメモリを減らすべく色々とプラグイン掃除とかしていて、そういえばFirefoxは重くて辞めてchromeに移行したのに何やってんだろ…と思ってた次第.（まぁタブ単位でプロセス持ってたり色々メリットもあったんですが

# 最終形

こんな感じになりました
苦労したのは、faviconをbookmarkバーに表示させる事かな.（なんとデフォルトでは対応してない

![スクリーンショット_2015-08-06_0_30_17.png](https://qiita-image-store.s3.amazonaws.com/0/31824/32fe4ca9-11ec-0b5c-cde4-9fe8133e89cc.png "スクリーンショット_2015-08-06_0_30_17.png")

入れたプラグインは以下の通りですが、色々整理したらChromeに入れてたのから結構減りました

* LastPass : パスワード一元管理用
* Save To Pocket : Pocketへの保存用
* Evernote Clipper : Evernoteへの保存用
* Awosome Screenshot : webページを簡単にスクリーンショット取ってくれる
* Stop/Reload Button : Reloadボタンがデフォルトだと端っこで使いにくいので
* FeedButton : FeedlyへRSS登録するため用
* New Tab Button : TabButtonもReloadボタンと同じく遠いので…

![スクリーンショット 2015-08-06 0.27.32.png](https://qiita-image-store.s3.amazonaws.com/0/31824/f5218da2-5918-06eb-570a-2570de98bc28.png "スクリーンショット 2015-08-06 0.27.32.png")

# safariに移したい機能

色々とChromeゴミ掃除をしていて、結構使ってないプラグイン（and使ってないツール）が多い事に気づいた。移行にあたり残しておきたかった機能は以下

* bookmarkバーをfaviconで表示  
   現在のChrome画面はこんな感じです。基本よく使うbookmarkはすべて上部にFaviconだけ表示させてます
   ![スクリーンショット_2015-08-05_23_49_42.png](https://qiita-image-store.s3.amazonaws.com/0/31824/3a174172-bf77-eb63-2a8d-b3f95dcd58ea.png "スクリーンショット_2015-08-05_23_49_42.png")
* 各種定義情報の同期  
   chromeはbookmarkだけじゃなく、plugin等も同期取ってくれるので、他のパソコンやらAndroidやらで新しくsetupしなくても良くて楽だった.  
   ので可能な限り同期は実現したいし、できる限りインストール後に余計な手順は入れたくない.(基本macbookはdotfiles管理してるので、それに合わせて自動化できない事はやりたくない)
* Plugin関連  
  色々精査したら、結局頻繁に使ってたのは以下だけだった.まぁ後々必要になるかも…
  (Webフロントエンドをやってた時とは大きく違う(´・ω・`)
  最低限しょっちゅう使ってる以下だけはSafariでも使いたかった
 * LastPass
 * Pocket
 * EvernoteClip
 * FeedlyへのRSS登録

# 移行作業

* bookmarkの同期 -> これはiCloudでできたので割愛
* Pluginの同期
* favicon表示
* デフォルトフォントの変更
* 戻るボタンを押すと真っ白になる問題への対処

## pluginの同期

Chromeと違ってプラグインの同期機能は持ってないので、以下を参考にしてDroboxを利用して同期ができるようにした.

参考: [Dropboxを利用してSafari機能拡張を複数のMacで同期させる
](http://veadardiary.blog29.fc2.com/blog-entry-2831.html)

具体的には、dropboxにSafari/Extensionsのファイルを置き、safariはそちらをシンボリックリンクで見るようにする.

```bash
# 一応バックアップ
$ mv $HOME/Library/Safari/Extensions $HOME/Library/Safari/Extensions-`/bin/date '+%Y%m%d-%H%M%S'`"
# extensionsをdropboxに向ける
$ ln -s $HOME/Dropbox/backup/Safari/Extensions $HOME/Library/Safari/Extensions
```
https://github.com/kegamin/dotfiles/blob/master/script/safari_setup.sh

後はsafariを再起動して、pluginが入ってるか確認する.

## faviconの表示

Safariは残念な事に、デフォルトではfaviconを一切みてくれないのでツールを入れる事となりました.

[YosemiteのSafari 8でfaviconを復活させる](http://rakugaki-tech.mods.jp/2015/05/yosemite-safari-favicon/)

基本これの通り「EasySIMBL」入れて「SafariStand」というpluginを入れれば良いだけのはずだったんですが、実はEasySIMBLがMacOSX 10.10.4（Yosemite)は非対応でした(´・ω・`)

githubのissueにもあがってるのですが、どうもまだまだ対応はできてない模様.
[EasySIMBL stopped working on 10.10.4 b4 #25
](https://github.com/norio-nomura/EasySIMBL/issues/25)

中の人が対処手順を書かれてました.
[How to transition from EasySIMBL to SIMBL
](https://gist.github.com/hetima/51b71091aedf622f61f7)

### easySIMBLインストール

easySIMBLはhomebrewを使って入れると楽です.
後はSafariStandをダウンロードして、easySIMBLにドラッグし「Use SIMBL」をチェックして終わり.

```bash
$ brew cask install easysimbl
```

通常であればこれでsafariを再起動すればSafariStandが使えるのですが、EasySIMBLが2015/08/06現在Yosemiteでは動かないので、EasySIMBLの元アプリであるSIMBLを使うようにします.

### EasySIMBLからSIMBLへ移行

EasySIMBLを使わず、元のSIMBLを使ってインストールでも良かったのですが、EasySIMBL経由でSafariStand入れた後、EasySIMBLを消してSIMBLに移行した方が楽そうだったのでその手順で記載します.

（ここは残念だけどdotfilesによる自動化は諦めた。まぁいつかEasySIMBLが対応してくれるでしょう…)


1. EasySIMBLで「Use SIMBLのチェックを外す」  
   以下のスクリーンショット通り、赤枠部分にある「Use SIMBL」を外す.
   ![スクリーンショット_2015-08-06_10_16_37.png](https://qiita-image-store.s3.amazonaws.com/0/31824/651c2fe9-f10d-b600-2afd-b2c5ae98bd70.png "スクリーンショット_2015-08-06_10_16_37.png")
1. EasySIMBLを削除  
 EasySIMBLはもう用済みなので削除
 
 ```bash
 brew uninstall easysimbl
 rm ~/Library/ScriptingAdditions/EasySIMBL.osax
 # 以下のディレクトリにSIMBL系のファイルがあるか確認
 find ~/Library/Containers -name "*SIMBL*" -ls
 # あったら消してちょ、という事だったけど特にEasySIMBL入れただけだとファイルは無い模様
 ```

1. SIMBLインストール  
  [SIMBL](http://www.culater.net/software/SIMBL/SIMBL.php)から最新版を取ってきてインストールする(Homebrewには無かった
   プラグインフォルダはEasySIMBLと同じなので、これでSafariStandは動くようになります
1. Macを再起動  
   いらないかもしれないけど、手順に書いてあるので一応実行した.
1. safariの確認  
  以下のようにstandがsafari上に出ていればOK
  ![スクリーンショット_2015-08-06_10_38_00.png](https://qiita-image-store.s3.amazonaws.com/0/31824/fa1148fd-0489-d4bf-6393-547e1448ae16.png "スクリーンショット_2015-08-06_10_38_00.png")

### SafariStandを設定する

* General  
  faviconを表示させるために、以下の２つをチェックする.後はお好み
  * Show Icon on Tab Bar
  * Show Icon on Sidebar Bookmark
  ![スクリーンショット 2015-08-06 10.38.16.png](https://qiita-image-store.s3.amazonaws.com/0/31824/5d922475-1c0a-b31d-f1d4-176b045d2667.png "スクリーンショット 2015-08-06 10.38.16.png")
* ContextMenu  
  特にfaviconには関係無いが、右クリック時の動作の設定なのでお好みで変更
![スクリーンショット 2015-08-06 10.38.22.png](https://qiita-image-store.s3.amazonaws.com/0/31824/1251040e-6e9f-90a0-b1f2-78bb68a39ede.png "スクリーンショット 2015-08-06 10.38.22.png")
* Sidebar  
  Chromeと違って、「タブを固定」にしてfaviconだけのタブを作れず、タブのサイズが可変になってうざかった.
  タブの一覧を右に寄せ、固定のサイズにするため「Show Sidebar Default」をチェックした.
![スクリーンショット 2015-08-06 10.38.26.png](https://qiita-image-store.s3.amazonaws.com/0/31824/c1513bf5-7c2c-a26f-7dd2-9e6ba825e887.png "スクリーンショット 2015-08-06 10.38.26.png")

### faviconを表示させる

ここまででfavicon表示の準備は完了.
後はbookmarkバーに表示されている各リンクを右クリックし、「Set Icon From Favicon」と「Hide Title」をクリックすれば完了.

![スクリーンショット_2015-08-06_10_48_06.png](https://qiita-image-store.s3.amazonaws.com/0/31824/10fd8b73-0498-6e9a-fec3-039f74e1c619.png "スクリーンショット_2015-08-06_10_48_06.png")

面倒臭かった…

## fontの変更

safariはfont変更がサクッとできない模様.
cssファイルを準備してあげて、環境設定で読み込ませる必要有り.なのにデフォルトのフォントはすごく読みづらい！面倒…

準備するcssはお好みで.

```safari.css
/* 源ノ角ゴシック Code JP EL */
*{
  font-family:  SourceHanCodeJP-Light;
}
```
https://github.com/kegamin/dotfiles/blob/master/etc/safari/css/safari.css

![スクリーンショット_2015-08-06_10_52_36.png](https://qiita-image-store.s3.amazonaws.com/0/31824/362a4945-8472-9f81-2ad5-87d81438722e.png "スクリーンショット_2015-08-06_10_52_36.png")

font-familyの部分は、「Font Book」をアプリケーションから起動して以下の赤枠の所を参照すればOK.

![スクリーンショット_2015-08-06_10_57_33.png](https://qiita-image-store.s3.amazonaws.com/0/31824/9283e333-d922-c8c0-bd42-669ce5181bd8.png "スクリーンショット_2015-08-06_10_57_33.png")


設定が終わったらsafari再起動して完了.

## safariの環境設定

特に大きく変更はしてないけど、一番大事なのはデフォルトエンコーディングをUTF-8にしたことくらい？

![スクリーンショット 2015-08-06 11.04.11.png](https://qiita-image-store.s3.amazonaws.com/0/31824/788a1e4a-4ccd-b52d-2a61-eb7b94ebc058.png "スクリーンショット 2015-08-06 11.04.11.png")

![スクリーンショット 2015-08-06 11.04.25.png](https://qiita-image-store.s3.amazonaws.com/0/31824/c73a9fd0-fb3b-feeb-c91c-b9b89c45fd34.png "スクリーンショット 2015-08-06 11.04.25.png")

# 戻るを押すと真っ白になる

戻るボタンを押すと、元の画面に戻らずに真っ白画面になってしまう事が頻発。
原因は不明だが、解決策は以下にあった

> 方法は、Googleの設定で検索設定の中にある、「インスタント検索の結果は表示しない」にチェックを入れると、この現象は起こらないようです。
>
> [Safariの戻るで空白表示
](http://bluesjee.blog.eonet.jp/bjblog/2015/07/yosemite-9ffa.html)

# 移行後感想

今の所大きく実感は無いけど、確かにメモリの量はかなり減った。後は、外で作業した時にどれだけバッテリーの持ちが実感できるほど違うか…ですね。

タブ一覧を左にしたりとか、今までと違う部分が多くてまだ戸惑っていますが、それ以外では違和感なく使えてますね

しかしデフォルトで色々できないのが辛い…
これだと移行の敷居が高い(´・ω・`)