We no longer subscribe to `RootView` so we don't need to unsubscribe.
We can use `@subscribe` to subscribe to window, so we don't need to
genette a unique id for the editor in order to unsubscribe, because the
editor will unsubscribe automatically when removed now.
Previously the wrap guide would cause the
editor to scroll if the editor was narrower
than the wrap guide column without taking into
account whether any lines actually reach the guide.
Now the wrap guide only displays when either the wrap
guide column is less than the minimum width of the
editor layer or if the wrap guide column is less than
the entire width of the editor.
Previously a non-Inconsolata character
was being used which caused alignment issues
with selections and the cursor
Also switch values in editor.coffee to use codes
so they can be viewed in any font.
The `config` object no longer stores config properties directly. Instead it stores them on an internal `settings` object, which makes it easier to serialize settings without getting them mixed up with non-setting state on the `config` object.
We were turning off all subscriptions on an edit session from editor when it became inactive. Now we only turn off subscriptions made by the editor, leaving the tab's subscription intact.
When scrolling with a trackpad, webkit repeatedly triggers multiple mousewheel events on the original event's target element to simulate the velocity effect we're accustomed to with touchscreen UIs. When scrolling quickly, this clashed with our strategy of removing off-screen lines, because the element was removed before the velocity were done firing.
The solution is to make the overlayer accept mouse events. It lays on top of all the lines, so it is never removed and therefore allows the mousewheel events to run to completion. But, this means we need to transfer mousedown events from the overlayer to the underlying lines.
This will prevent running a bunch of background tokenization when Atom is reloaded. We only perform tokenization to support content that is actually on screen.