Commit Graph

14854 Commits

Author SHA1 Message Date
Nathan Sobo
880e75ff18 Make main-process/main.js as minimal as possible
In order to test changes to main.js, we need to rebuild the application.
For this reason, it makes sense to do as little work as possible here.
In this commit, we change main to just determine the resourcePath, then
use that path to require a start function which can be iterated on in
dev mode.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-22 17:30:52 -06:00
Nathan Sobo
85efc08d13 Merge pull request #12753 from lgeiger/tildify-path
Tildify path in title bar
2016-09-22 15:07:50 -07:00
Nathan Sobo
19a4f1ab89 Null guard AtomWindow instance in window-method ipc handler
Since things are async, I think the window could potentially disappear
before we can handle the message.
2016-09-22 14:14:37 -06:00
Nathan Sobo
b7126aff4c Don't serialize packages in deactivatePackages
Serialization still occurs when deactivating a single package via the
API. Otherwise, when the window is closed or reloaded we will serialize
all packages as a result of saving the window state.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-22 12:39:06 -06:00
Nathan Sobo
3a4ae04f74 Use call/respondTo helpers to return a promise from window method ipcs
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-22 12:18:09 -06:00
Nathan Sobo
50128949d4 Call window methods on AtomWindow when ipc'ing from render process
This enables saveState to be called when requesting a window reload from the render process.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-22 11:41:57 -06:00
Nathan Sobo
9ace7b899c Bind promptForRestart since it calls a method now
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-22 11:29:39 -06:00
Lukas Geiger
498a56a603 Tildify path in title bar
This will use ~/ for the path to the home directory
2016-09-22 11:14:03 +02:00
Antonio Scandurra
a45afcbba4 Always invalidate yardstick measurements when the editor becomes visible
...because content could get reflowed and previous measurements might
become inaccurate. Typically, this could occur when measuring while the
editor is hidden: in that case, the yardstick would always report `0px`
and save that position into the cache. Then, when the editor becomes
visible again, the wrong `0px` value would be returned, thus causing
cursors etc. to be displayed incorrectly.

This was being shadowed by a bug in our measurements cache, but after
fixing it in #12730 it started becoming evident.
2016-09-22 09:50:51 +02:00
Max Brunsfeld
1ad6a0f50c Merge pull request #12694 from atom/mb-ns-avoid-adding-non-existent-project-directories
Avoid adding non-existent project directories
2016-09-21 13:24:12 -07:00
Max Brunsfeld
3039024d17 Go back to using promise based on window:loaded event in main process tests 2016-09-21 11:37:24 -07:00
Max Brunsfeld
da6bfedc76 Merge branch 'master' into mb-ns-avoid-adding-non-existent-project-directories 2016-09-21 09:54:04 -07:00
Antonio Scandurra
42079b309d Always return an empty array in TokenizedBuffer.getInvalidatedRanges
..because TokenizedBuffer never synchronously invalidates beyond the
extent of the spatial change.

Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-21 16:56:19 +02:00
Antonio Scandurra
e2d0741ac2 Merge pull request #12730 from atom/as-dont-remeasure-first-char-of-line
Don't remeasure the first character of a line
2016-09-21 13:35:28 +02:00
Max Brunsfeld
833b3b0ab0 Save state when reloading AtomWindow
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-20 16:10:11 -07:00
Max Brunsfeld
c2c7241eda Destroy AtomEnvironment in beforeunload handler, not unload handler
See https://github.com/electron/electron/issues/7278

Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-20 16:10:05 -07:00
Nathan Sobo
ef6b364605 Merge pull request #12733 from atom/ns-as-restart-application
Add atom.restartApplication
2016-09-20 15:06:55 -07:00
Nathan Sobo
fa41da182e Merge pull request #12697 from atom/ns-upgrade-atom-keymap
Improve support for international keyboards
2016-09-20 14:43:01 -07:00
Nathan Sobo
7872875c57 🎨 2016-09-20 15:15:55 -06:00
Nathan Sobo
fe9a7d1db3 Preserve command line flags when restarting
This performs restarts in the main process and uses ipc to request restarts from application windows. We preserve the following settings:

* dev mode
* custom resource path
* safe mode
* portable mode
* socket path
* log file path
* user data dir
2016-09-20 15:13:46 -06:00
Nathan Sobo
1d740b4169 Relaunch Atom when changing the title bar style
Now that we have the required API

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-20 11:39:58 -06:00
Nathan Sobo
6aa8d33a05 Add atom.restartApplication
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-20 11:37:34 -06:00
Max Brunsfeld
30fdb70dfd Initialize app-started promise before reloading AtomWindow 2016-09-20 09:53:54 -07:00
Antonio Scandurra
24f9c24d79 🐛 Perform measurements only when editor is visible 2016-09-20 15:29:31 +02:00
Antonio Scandurra
fae507d70d Don't remeasure the first character of a line
Previously we were ignoring the measurement cache for characters located
at `left: 0px` because `0` is evaluated as falsy in Javascript, causing
those character to be constantly re-measured.

This commit fixes it so that we explicitly check for null values when
consulting the cache.
2016-09-20 15:03:41 +02:00
Max Brunsfeld
7c93063861 Merge remote-tracking branch 'origin/master' into mb-ns-avoid-adding-non-existent-project-directories 2016-09-19 12:31:38 -07:00
Nathan Sobo
7bba3e86b2 Try this on travis 2016-09-16 16:47:33 -06:00
Nathan Sobo
212cb0df34 Resolve AtomWindow.reload promise once window fully starts 2016-09-16 14:33:30 -06:00
Nathan Sobo
5fad2bdbf9 Return a promise from AtomWindow.reload that resolves on window:loaded 2016-09-16 14:10:34 -06:00
Max Brunsfeld
4fa24a05da Fix invalid usage of activation disposable in Package::load
Like deserializers and config schema, directory providers are added
at package load time, and *not* removed when the package is deactivated
2016-09-15 16:34:39 -07:00
Max Brunsfeld
09b50f8740 Don't remove non-local directories on Project deserialization 2016-09-15 16:32:14 -07:00
Nathan Sobo
fe7a9ed419 Fix unset keystroke handling, 🎨 2016-09-15 14:15:41 -06:00
Nathan Sobo
a6094d2ed0 Don't allow menu shortcuts that could conflict with AltGraph characters
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-15 14:08:35 -06:00
Max Brunsfeld
fe480d8fa4 Do not add project directories that do not exist
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-14 13:48:17 -07:00
Max Brunsfeld
3aaa738944 Activate atom.directory-provider services before deserialization
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-09-14 13:26:03 -07:00
Nathan Sobo
8a12be9a8d Return empty array from getPanes when PaneContainer is destroyed
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-09-13 11:01:40 -06:00
Nathan Sobo
766afb406a Merge pull request #12673 from atom/ns-fix-add-pane-event
Ensure pane is added to container before invoking onDidAddPane listeners
2016-09-12 13:39:38 -06:00
Nathan Sobo
e313bbe89c Ensure pane is added to container before invoking onDidAddPane listeners
Fixes #12654
2016-09-12 11:00:26 -06:00
Nathan Sobo
0ff0b269b1 Don't wait for spec windows to save state
Since spec windows don't register handlers for the IPC messages requested window state to be saved, the promise never resolves and the close button needs to be clicked twice. To avoid this, we'll just resolve the promise immediately in a spec window so we can proceed to close it.
2016-09-12 10:26:40 -06:00
Damien Guard
86e8af8bc2 Merge pull request #12653 from atom/dg-fix-sourcemaps-windows
Fix source maps for typescript and babel on Windows
2016-09-09 16:11:15 -07:00
Max Brunsfeld
2dfa06f24c Merge pull request #12501 from atom/fb-as-add-observe-buffers
Add atom.project.observeBuffers
2016-09-09 13:45:46 -07:00
Damien Guard
61c5f37e20 Make sourcemaps work for bable & typescript on Windows 2016-09-09 13:45:33 -07:00
Damien Guard
77a09a7447 Remove app load time console output 2016-09-09 13:08:00 -07:00
Antonio Scandurra
ccd381b8ad Merge pull request #12645 from atom/as-fix-app-not-quitting-on-windows-and-linux
Fix app not quitting on win32 and linux when closing the last window
2016-09-09 17:57:57 +02:00
Antonio Scandurra
e2a3b75db2 Fix app not quitting on win32 and linux when closing the last window
This regression was caused by a nuance in the way we maintain state in
`AtomApplication` for open windows. Specifically, when closing the last
window on Windows and Linux, we were explicitly calling `app.quit`
*before* removing such window from the list of open ones. In turn, this
caused the new `before-quit` behavior introduced in #12619 to work
improperly because it made the application wait on saving the state of a
stale window before exiting.

With this commit we are fixing that by making sure the stale window is
removed before calling `app.quit` in `removeWindow`.
2016-09-09 10:51:40 +02:00
Damien Guard
6ebd1ad582 Remove accidental logging statements checked in 3eb55d7d 2016-09-08 21:49:48 -07:00
Damien Guard
3eb55d7db0 Add Windows file.ico lost in move to new build 2016-09-08 21:16:55 -07:00
Damien Guard
7c48b947d7 Windows shell upgrade fixes #12642 2016-09-08 15:58:27 -07:00
Joe Fitzgerald
d4d05244b3 ATOM_SUPPRESS_ENV_PATCHING > ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT 2016-09-08 12:24:33 -06:00
Joe Fitzgerald
36291f6a8f Combine Check
- The additional (!process.env[key] && envToAssign[key]) check allows “preserved” variables to be set for the first time if they are currently unset
2016-09-08 11:18:28 -06:00