Commit Graph

152 Commits

Author SHA1 Message Date
Antonio Scandurra
05eb737a94 Set config schema entirely in the snapshot 2017-03-10 16:50:50 +01:00
Antonio Scandurra
c61df72548 Snapshot config, keymaps, tooltips, commands, grammars and styles 2017-03-10 16:48:00 +01:00
Antonio Scandurra
4b98843fae Merge branch 'master' into as-ns-startup-snapshot 2017-03-10 16:47:27 +01:00
Antonio Scandurra
1e040c62d9 Add AtomEnvironment.prototype.resolveProxy(url)
This new private API will allow settings-view to communicate
asynchronously with the main process to resolve proxies, instead of
using `remote` and blocking the renderer process during startup.
2017-03-10 16:08:02 +01:00
Antonio Scandurra
e61919cd60 Merge branch 'master' into as-ns-startup-snapshot 2017-03-10 15:04:26 +01:00
Antonio Scandurra
11961b09ac Merge pull request #13949 from atom/as-minimize-startup-sync-io
Minimize synchronous I/O during startup
2017-03-10 15:00:30 +01:00
Antonio Scandurra
3d40f55747 Fix lint errors 2017-03-10 10:00:09 +01:00
Antonio Scandurra
73e8642b96 Merge branch 'master' into as-ns-startup-snapshot 2017-03-10 09:04:30 +01:00
Max Brunsfeld
4a1f98cb6c Create autoUpdateManager in AtomApplication constructor 2017-03-08 15:50:08 -08:00
Antonio Scandurra
45d41ca69f Register enter/leave fullscreen events in the main process
This will still notify render processes when such events are triggered
without, however, incurring the additional cost of synchronously
retrieving a `BrowserWindow` (and its properties) via `remote` during
startup.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
727472af58 Disable zoom in the main process
This commit will register the `display-added` and `display-removed`
events only once in the main process in order to disable zoom (see
https://github.com/atom/atom/pull/11345) directly instead of
unnecessarily paying for I/O in the renderer process during startup.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
051e27dbcb Expose load settings to BrowserWindows as JSON
When accessing objects in the main process via the `remote` module,
Electron returns proxy objects that are references to the original ones.
This means that trying to access a remote object's property or function
results in a synchronous message exchange with the main process.

In Atom core we frequently access the load settings coming from the main
process, especially during startup. This caused a lot of synchronous I/O
which was blocking the renderer process for several milliseconds.

With this commit, instead of exposing load settings as a JavaScript
object, we serialize them to JSON in the main process and parse them
back to a JavaScript object in the renderer processes. This allows us to
get a full copy of the object locally and pay for I/O just once when
retrieving load settings from the main process for the first time.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
adb0e39166 WIP 2017-02-28 15:44:02 +01:00
Antonio Scandurra
5dbae1c317 Copy the generated snapshot into the app bundle 2017-02-24 10:39:05 +01:00
Antonio Scandurra
90c707a4c2 Merge branch 'master' into as-ns-startup-snapshot 2017-02-23 13:19:25 +01:00
Antonio Scandurra
264ff4a865 Merge branch 'master' into as-ns-startup-snapshot 2017-02-23 10:01:52 +01:00
simurai
ec9aec6686 Merge branch 'master' into sm-custom-title-bar 2017-02-21 21:56:53 +09:00
Max Brunsfeld
060b027e2a Respect the --resource-path flag 2017-02-17 14:16:53 -08:00
Max Brunsfeld
aea6896c2b Restore correct directory's project state when opening a new file from the command line 2017-02-13 17:23:11 -08:00
Damien Guard
eebc81f6ea Version is used for release channels on windows 2017-02-08 23:24:54 -08:00
Nathan Sobo
c6cae5b8fd Store represented directory paths directly on AtomWindow in main process
Fixes #13729

Previously, when adding a window, we were unable to read its current
project paths out of the hash of the URL during window initialization
because the window still considered itself to be loading. Rather than
fixing this issue, we decided to completely eliminate the sharing of
state between processes in the window.location and instead switch to
cached synchronous RPC for the loadSettings and a dedicated RPC-based
mechanism for the project paths.
2017-02-07 13:15:27 -07:00
simurai
6010c4d7df Add custom-inset title-bar 2017-01-14 16:06:50 +09:00
simurai
c406cc4420 Merge branch 'master' into sm-hidden-all 2017-01-14 10:09:07 +09:00
Michelle Tilley
1fef2fa866 Merge pull request #13604 from atom/mkt-ku-fix-render-process-crash-handler
Ensure a dialog is not opened when webContents crash in headless mode
2017-01-13 10:58:49 -08:00
Michelle Tilley
05f58a432b Ensure a dialog is not opened when webContents crash in headless mode 2017-01-12 14:45:38 -08:00
Vladimir Timofeev
a21841e5f3 Merge commit '1320ff28c39afd563820b30b43389ea38552e74c' into fix-12495 2017-01-07 01:19:50 +03:00
Damien Guard
efbe2cee76 Convert win-shell.coffee to win-shell.js 2016-12-27 16:24:06 -08:00
Damien Guard
5a446ff467 Clean up portable mode, try local .atom before ATOM_HOME 2016-12-11 15:59:24 -08:00
Antonio Scandurra
8e6cef458c Revert "Flush DOM before displaying context menu" 2016-12-06 17:29:49 +01:00
Antonio Scandurra
eb0b48ffe0 🎨 2016-12-06 12:10:58 +01:00
Christopher Chedeau
cd781b9f9d Flush DOM before displaying context menu
Released under CC0
2016-11-28 19:03:32 -08:00
Antonio Scandurra
77b8089e3a Use the snapshot result to require core modules 2016-11-15 18:03:36 +01:00
Joe Fitzgerald
1b2d2f0299 Use child_process.spawn instead of execFile
- Fixes #13084
- Kill child process on process exit, if it is running
- Ensure env is set correctly when new windows are launched
2016-11-14 10:06:26 -07:00
Damien Guard
0d0a2ae7b1 Windows 64-bit version of Atom 2016-11-10 16:59:12 -08:00
Lee Dohm
505160f24c Remove --harmony JavaScript flag 2016-10-27 11:50:08 -07:00
Damien Guard
8229924b96 History API, reopen project menu, command and list view 2016-10-21 15:13:59 -07:00
simurai
f05f0db94b Migrate config 2016-10-21 13:58:24 +09:00
simurai
f13fd74342 🎨 Resolve merge conflict 2016-10-15 20:53:02 +09:00
simurai
2571bbc6f2 Merge branch 'master' into sm-hidden-inset
# Conflicts:
#	src/main-process/atom-application.coffee
2016-10-15 19:45:50 +09:00
simurai
ed2c72a586 Add option to hide the title bar 2016-10-15 19:12:53 +09:00
Antonio Scandurra
c54b330d68 Update eslint and fix new script/lint errors 2016-10-14 13:54:10 +02:00
Antonio Scandurra
a36e9883d8 🎨 2016-10-14 13:07:03 +02:00
Antonio Scandurra
5211b49f7d Add a "Run Benchmarks" command to plot benchmark results 2016-10-14 11:02:59 +02:00
Antonio Scandurra
1bdd79d719 Implement atom --benchmark-test to ensure benchmarks are valid on CI 2016-10-14 11:02:59 +02:00
Antonio Scandurra
fa90851e14 Implement atom --benchmark 2016-10-14 11:02:58 +02:00
Wliu
0e99232615 Merge pull request #12782 from Ingramz/remove-unused-variables-obvious
Remove unused variables (obvious ones)
2016-09-29 16:58:06 -04:00
Damien Guard
04b4c3ac9f Merge pull request #12821 from atom/dg-win-allow-multiple-user-instances
Allow Atom on Windows to run multiple instances e.g. on Windows server
2016-09-29 12:39:39 -07:00
Philip Schatz
72110ed40f fixup! 🐛 support variable terminal widths 2016-09-29 13:58:47 -04:00
Damien Guard
2cf2dcca57 Allow Atom on Windows to run multiple instances e.g. on Windows server/Citrix etc 2016-09-29 09:55:34 -07:00
Philip Schatz
7bbc0d12eb 🐛 support variable terminal widths 2016-09-27 14:25:45 -04:00