macos
TotalSpaces

macOSでディスプレイ1枚で作業する技術

最近MacBook2017Mid買いましたさぼ(@saboyutaka)です。MBP2013Late 13inchからの移行ですが、あまり違和感なく作業できるのでいい感じです。今まで、自宅・職場では外部ディスプレイを使って作業をしてましたが最近はRoostを使い始めて、家でも外でもRoostと外部キーボード、マウスで仕事するようになりました。これで肩の痛みが激減したので下を向いて作業する時間が多いと首の筋肉に引っ張られて肩が凝るみたいですね。

C8iJtzRWsAIF0tV.jpg-large.jpeg

スタバでも気にせずRoost。(画像はMBP2013Late 13inch)

ここできになるのはディスプレイ1枚だと画面切り替え大変じゃないのってところなのですが、以前 @reoring さんに教えてもらって自分にすごいフィットしたので共有しておきます。あまりmacのデスクトップについての記事がないような。


TL;DR



ショートカットキーでアプリをバシバシ変えれます


はじめに、macOSの全体画面がつらい、デスクトップきりかえがつらい

まずディスプレイ1枚でやろうとしたときの問題として、デスクトップを複数立ち上げたり、全体画面化を使っていると切り替えがとても面倒(指3本スワイプでやるやつ)。あれがつらいのは、全体画面化したタイミングによってデスクトップの並びの前後が変わってしまうこと、Safariは2つめ、Terminalはそのよこ、次にエディタ。基本的に順序を覚えておかないといけなくなると脳内リソースを常に使い続けるのでつらい。でもそれを嫌ってデスクトップ1つだけで作業するとしても⌘+tab切り替えの連打でこれも変化する並びを覚える、または目視で確認する必要があるので脳にやさしくない。どこにどのアプリがあるかを意識しないといけなくて、アプリがどこにいったか迷子になることで生産性がさがります。(特に疲れている時はウィンドウ探すだけでめっちゃ時間かかる)。ではどうするか。


アプリケーションをデスクトップに割り当てる

あまり知られていないけど、macOSはアプリケーションをデスクトップに割り当てることができる。Dockでアプリケーションを右クリックして、オプション > 割当先。このデスクトップに割り当てをすると、アプリケーション起動時に必ず割り当てたデスクトップで立ち上がる。

Safariをデスクトップ1に割り当てると, Safariは必ずデスクトップ1で立ち上がる。

Dock

次に、macOSではあるデスクトップに移動するとそのデスクトップの1番最前にあるアプリケーションが起動する仕様になってる。これを利用して、

1デスクトップ1アプリで設定にすると、そのデスクトップに行くと設定しているアプリケーションをアクティブに操作することができる。

これが肝です。

この設定をすることで、全体画面にすることなくそのアプリだけが操作できるデスクトップを作り出すことができる。

もし全体画面のようにツールバーやDockを非表示にしたい場合は、システム環境設定の 一般 > メニューバーを自動的に隠す/表示をオンにし、Dock > Dockを自動的に隠す/表示をオンにすると画面いっぱい使うことができる。

ちなみに、すべてのデスクトップに設定すると、どのデスクトップにいってもアプリケーションのウィンドウが付いてきます。これは各デスクトップにFinderのウィンドウが散らばるのを防ぎます。


デスクトップを増やして、ショートカット割り当て


デスクトップを10画面作成する

全画面_2017_07_11_10_24.png


デスクトップへのショートカットキーをアクティブにする

システム環境設定 > キーボード > ショートカットキー > Mission Controll に行くとデスクトップを10画面出している状態だとデスクトップ1~10へ切り替えが表示されるのでチェックを入れる。(デスクトップを出していないとショートカットに現れないので不思議)。デスクトップを10にしてるのはキーボードショートカットで数字が1~0まであるからです。好みであれば、少なくても多くてもいいです。

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

これでアプリケーションの割り当てと、キーボードショートカットを設定できました。例えば、エディタをデスクトップ3に割り当ててた場合ctrl+3を押すとデスクトップ3に遷移しエディタがアクティブになります。


スペースの自動並び替えをoffにする

Mission Control で"最新の使用状況に基づいて作業スペースを自動的に並べ替える"をオフにする必要があります。これにチェックが入っていると自動で意図せずデスクトップの並び順が変わってしまいます。(これって前はデフォルトの設定がオフがだった気がするけど最近のmacOSだとオンになってた。)

Mission_Control_と_macOSでディスプレイ1枚で作業する技術_-_Qiita.png


TotalSpaces2を使う(推奨)


トランジションのアニメーションをオフにする

遷移するときのトランジションのアニメーションがちょっと遅いのがきになるのでこれをオフにするためにTotalSpaces2を入れます。El CapitanやSierraでは設定が必要なのでこちらを参照してください。手短に言えば、再起動で⌘+R押しっぱなしで、masOS Utilsを開いて、ターミナルを起動しcsrutil disableするといいです。この設定は自己責任でおねがいします。

TotalSpacesを起動し、トランジションをオフにします

トランジションオフ


Appsで割り当てをまとめて設定する

AppsタブではDockで割り当てる代わりにまとめて設定できます。

Apps

設定サンプル

アプリ
デスクトップ

Safari
1

Atom
2

RubyMine
2

PhpStorm
2

PyCharm
2

iTerm2
3

Postico
4

SequelPro
4

Paw
4

Github Desktop
4

Chrome
5

Slack
9

iTunes
10

Finder
All spaces

Skitch
All spaces

1Password
All spaces

これが自分が使っている設定です。メインブラウザのSafariは1, エディタ系は2, ターミナルは3, 開発ツールは4, Chromeは5, 6~8は自由に使うスペース、9はSlack, iTunesは10, FinderやSkitchなど他のアプリと合わせて使うものはAll。2つのアプリケーションを並べて使いたい時は空いているスペースにアプリケーションを持って行くようにしています。これは割り当ててる対応表覚えるというよりは、1つのデスクトップに複数のアプリケーションがたくさんある状態を防ぐのと、どんなときでもctrl+1を押せばSafariが開くという安心感を得るだけでも効果があります。


まとめ



再掲: ショートカットキーでアプリをバシバシ変えれます

以上の設定を行うことでディスプレイ1枚でもアプリケーションの切り替えコストが低くなって作業しやすくなります。普段⌘+tabで遷移もよくやってるけどctrl+1にSafariが必ずいる、ctrl+9にSlackが必ずいる、というのが安心感あって使いやすくなりました。

これで外部ディスプレイに依存していた

* 外部ディスプレイ使わないと首、肩が凝る、はRoostで解決

* 外部ディスプレイ使わない画面の作業スペースが狭い、はデスクトップの機能をうまく使う

の2点で解決しました。

以上、普段外部ディスプレイ使わないでMacのみで作業してる方、外出先での作業が多い方にはおすすめですー。

よかったらTwitterフォローしてください🙋‍♀️@saboyutaka


あわせてよみたい

Effective Mac 勉強会(Macの便利な使い方講座) on Dropbox paper、いつしか知り合いのMacユーザーにむけて書いた資料です。きょうみがあればどうぞ。

ちょっと上級者向け

macOS カーソル強制バインディングのすすめ