This prevents the change handler for `core.titleBar` from being
triggered every time a new instance of the main process is created. This
fixes a regression that was causing users to be prompted for a restart
every time they opened Atom.
Co-authored-by: Max Brunsfeld <maxbrunsfeld@github.com>
Co-authored-by: Nathan Sobo <nathan@github.com>
This change fixes an issue where users on Linux are able to paste into
read only TextEditors by clicking the middle mouse button. The fix is
to check for whether the TextEditorComponent's isInputEnabled method
returns true before pasting with middle click on Linux.
This change fixes an issue that appears when the user removes the last
project from the workspace and then re-adds it. At this time an error
is thrown from within ItemRegistry because the PaneContainer that
holds the TreeView in the left-most dock does not clear out its
existing ItemRegistry before deserializing the old TreeView state.
The fix is to create a new ItemRegistry when a PaneContainer is
deserialized so that the previous Pane's items are not retained.
With the Electron upgrade, something changed in the way characters are
rendered/measured, and that was causing subpixel anti-aliasing to stop
working when cursors were at the end of the longest line.
Every cursor has a width that is calculated in the following way:
* If there's a character after the cursor, the width corresponds to
width of such character.
* Otherwise, the width equals to the "base character width" measured on
a dummy line.
In the latter case, even if we were setting the width of the content
container to account for the width of such cursor, some rounding problem
was causing the cursor to be able to escape the container and thus break
subpixel anti-aliasing.
With this commit, instead of rounding the value we assign to the
container width, we will always ceil it. This ensures that cursors are
always strictly contained within the parent element and resolves the
subpixel anti-aliasing issue.