Commit Graph

401 Commits

Author SHA1 Message Date
Ash Wilson
c8beb6ffab Open loaded window options *first* 2019-04-24 15:22:32 -04:00
Ash Wilson
2988226370 Set {newWindow: true} for options recovered from application.json 2019-04-24 15:22:03 -04:00
Ash Wilson
a53addbf78 Update AtomWindow::projectRoots synchronously on openLocations() 2019-04-24 15:04:59 -04:00
Ash Wilson
2b1aaa7a13 Save application state with a version-tagged schema
Load application state from the current or previous application.json 
schema. Filter out file paths when loading old state.
2019-04-24 10:18:47 -04:00
Jason Rudolph
9747f747c6 Update src/main-process/atom-application.js
Co-Authored-By: smashwilson <smashwilson@github.com>
2019-04-23 16:37:03 -04:00
Ash Wilson
8a933d879c Document why 'open-file' is there 2019-04-23 11:53:25 -04:00
Ash Wilson
213f3b28b3 Rework and test IPC events that create windows 2019-04-23 11:18:53 -04:00
Ash Wilson
c719dc8aa2 Test empty command-line cases 2019-04-19 17:37:23 -04:00
Ash Wilson
96e6403573 Remove unused forceAddToWindow 2019-04-19 17:36:33 -04:00
Ash Wilson
cc1ddf1011 Use hasOpenFiles to flag a window that will receive openLocations() 2019-04-19 15:50:03 -04:00
Ash Wilson
28116828a1 Consistently operate on result.pathToOpen 2019-04-19 14:37:26 -04:00
Ash Wilson
d3bb28f1a4 File under "how did this ever work" 2019-04-19 14:33:22 -04:00
Ash Wilson
a303e31c1b Consistently return an AtomWindow from openPackageUriHandler 2019-04-19 12:02:36 -04:00
Ash Wilson
a1e3598648 Default devMode, safeMode, and window to predictable false values 2019-04-19 12:02:11 -04:00
Ash Wilson
9d8ae2aa82 Return a Promise that resolves once the server has started listening 2019-04-19 12:01:51 -04:00
Ash Wilson
8b1827bea7 Return an all-Promise for windows opened by urlsToOpen 2019-04-19 12:01:22 -04:00
Ash Wilson
ca2f8db022 Inject an application creation function to AtomApplication::open
This lets me call open() and create properly stubbed-out AtomApplication 
instances.
2019-04-19 12:01:03 -04:00
Ash Wilson
ab1bc2e173 Save window options when opening a window 2019-04-18 22:56:57 -04:00
Ash Wilson
40c2f5b073 'did-change-paths' is never broadcast
This event is handled by AtomWindow::setProjectRoots() now.
2019-04-18 22:56:46 -04:00
Ash Wilson
b903dc2506 Save .projectRoots, not .initialProjectRoots which is undefined 2019-04-18 22:56:12 -04:00
Ash Wilson
b1d6e42aa9 Add preserveFocus flag to keep main process tests from stealing focus 2019-04-18 21:10:41 -04:00
Ash Wilson
c6652e1b29 Don't restore state when --new-window is passed and other paths 2019-04-18 17:09:55 -04:00
Ash Wilson
2914b1c58e Don't append launch options to the deserialized ones?? 2019-04-18 17:06:20 -04:00
Ash Wilson
80f8d92565 Don't require urlsToOpen 2019-04-18 17:05:56 -04:00
Ash Wilson
9eb259ce20 Guarantee the window opening order 2019-04-18 17:03:43 -04:00
Ash Wilson
0b0d3485ae Injectable BrowserWindow constructor in AtomWindow 2019-04-18 16:18:32 -04:00
Ash Wilson
631743f5f4 Rename setRepresentedDirectoryPaths() to setProjectRoots()
Let's keep the naming consistent the whole way up the call chain.
2019-04-18 16:17:53 -04:00
Ash Wilson
495f493c44 Rename hasProjectPath to hasProjectPaths
Likely a relic of the days when there was only one project.
2019-04-18 16:17:07 -04:00
Ash Wilson
a0be3e735f Use containsLocations() for AtomApplication window location 2019-04-18 16:16:17 -04:00
Ash Wilson
952c42c0de Rename initialPaths and representedDirectoryPaths
They're now called initialProjectRoots and projectRoots, which is closer 
to what they actually are.
2019-04-18 16:15:07 -04:00
Ash Wilson
b095482071 Replace containsPath(s) with containsLocation(s)
This lets us use existing stat data.
2019-04-18 16:12:51 -04:00
Ash Wilson
efeb2cdb0a stat locations in parsePathToOpen() 2019-04-18 16:11:02 -04:00
Ash Wilson
41eacf7af7 Move AtomWindow creation into a dedicated, stubbable method 2019-04-18 10:51:02 -04:00
Ash Wilson
f7fd560ca0 :doc: comment reflow 2019-04-17 15:56:59 -04:00
Ash Wilson
87a4213b6a Rewrite AtomApplication::openPaths() logic to find existing windows 2019-04-17 15:56:49 -04:00
Ash Wilson
bd788b1cbd 📝 a/an 2019-04-17 15:13:17 -04:00
Ash Wilson
9409ba821c Account for a window being destroyed before an IPC message is delivered 2019-04-17 15:13:02 -04:00
Ash Wilson
a48dd69232 Getter for AtomWindow's loadedPromise 2019-04-17 14:10:14 -04:00
Ash Wilson
ffb295d5d6 Conditionally include {window} in getLoadSettings() 2019-04-10 16:50:21 -04:00
Ash Wilson
866447934e promptForPathToOpen() uses an existing window when only files are chosen 2019-04-10 16:15:39 -04:00
Ash Wilson
03908ddfab Pass along the source window of an open-command IPC event 2019-04-10 16:09:32 -04:00
Ash Wilson
e39b12b165 Prefer a {window} explicitly provided to openPaths() 2019-04-10 16:08:59 -04:00
Rafael Oleza
31d7dd6bb9 Add explicit handle for errors when decrypting 2019-04-05 17:13:53 +02:00
Rafael Oleza
bca056d956 Remove the handling logic for the --socket-path arg 2019-04-05 17:13:53 +02:00
Rafael Oleza
d40ca4b675 Implement authentication and encryption of the client 2019-04-05 17:13:53 +02:00
Rafael Oleza
5e124f437e Implement server-side authentication on pipes
This is done by using a secret as the name of the pipe
2019-04-05 17:13:53 +02:00
Rafael Oleza
a7d1e682e6 Extract logic to get the socket name to a function 2019-04-05 17:13:53 +02:00
Rafael Oleza
f04a00ac2d Remove --socket-path CLI argument 2019-04-04 17:55:58 +02:00
Rafael Oleza
2656d4a846 Merge pull request #19058 from rafeca/fix-reopen-project
Fix reopen project when there are no open windows
2019-03-27 16:21:45 +01:00
Rafael Oleza
9f453e64fe Fix reopen project when there are no open windows 2019-03-26 17:01:38 +01:00