Commit Graph

58 Commits

Author SHA1 Message Date
probablycorey
1b403d2920 Fix logic mistake 2013-03-05 16:10:03 -08:00
probablycorey
d6ae5a1778 Set atom.devMode 2013-03-05 16:10:02 -08:00
Corey Johnson, Kevin Sawicki & Nathan Sobo
8e11ca58e5 Add isDevMode method 2013-03-05 16:10:02 -08:00
Corey Johnson, Kevin Sawicki & Nathan Sobo
ad3782753b Display 💀 in window bar when Atom is in dev mode
Closes #350
2013-03-05 16:10:02 -08:00
Corey Johnson & Kevin Sawicki
0a21ef4a18 Remove unused code 2013-03-05 16:10:02 -08:00
Adam Roben
c96e9acb64 Merge pull request #326 from github/framework
Move all code and resources into Atom.framework
2013-03-04 06:10:27 -08:00
probablycorey
32d57892a2 Use correct resource path in dev mode 2013-03-01 16:58:31 -08:00
probablycorey
591aba3faf Revert "wip"
This reverts commit 2966cdb033.
2013-03-01 14:09:43 -08:00
Corey Johnson
2966cdb033 wip 2013-03-01 13:54:19 -08:00
Corey Johnson
82bce082ef Always call stringByStandardizingPath on the resource path
stringByStandardizingPath has an interesting quirk that causes it to
remove `/private` from the path if the result still indicates an 
existing file or directory
2013-03-01 13:54:19 -08:00
Adam Roben
a3c48df25b Move all code and resources into Atom.framework
All our native code now gets built into Atom.framework. Atom.app and
Atom Helper.app both link against this framework. All resources other
than a couple of main-bundle-only ones (e.g., atom.icns) go into
Atom.framework.

Note that this means that there's no compile- or link-time separation
between main process code and helper process code. We could introduce a
compile-time separation by building main process and helper process code
into separate static libraries with mutually exclusive include paths, if
we want.

Atom.framework exports a single symbol: AtomMain(). Atom.app and Atom
Helper.app contain a single source file: main.cpp. main() just calls
AtomMain().

All frameworks are placed in Atom.app/Contents/Frameworks. We now link
against all frameworks using @rpath-based install names, which allows
Atom.app and Atom Helper.app to find them automatically based on their
own LD_RUNPATH_SEARCH_PATH settings. We use install_name_tool at build
time on each of our three binaries (Atom.app, Atom Helper.app,
Atom.framework) to set the install names.

By reducing duplication of code and resources between Atom.app and Atom
Helper.app (and the EH/NP copies of Atom Helper.app), this reduces the
size of the total installed Atom.app bundle from 145MB to 82MB. By
compiling .coffee and .cson files only once, clean build time drops from
114 seconds to 79 seconds on my MacBook Pro.
2013-03-01 16:35:42 -05:00
Kevin Sawicki
259e20e7cc 💄 2013-02-24 09:16:40 -08:00
Kevin Sawicki
d35c871e17 Install atom executable during window.startup()
Previously this was done during `rake install`.

Also default to `~/github/atom` as the default resource path
when no `--resource-path` argument is specified.  This argument
will now be required when running in dev mode if the repository
is not at the default location.

Closes #300
2013-02-22 21:19:34 -08:00
Kevin Sawicki
9ca7214d39 Add --dev flag and remove --stable flag
Atom now runs in stable mode by default and only
runs in dev mode when the --dev flag is specified.

Closes #198
2013-02-22 11:54:54 -08:00
Kevin Sawicki
c69e217192 Ignore title changes from dev tools client
Previously the generic developer tools message
would be set as the window title when opened
and only removed once the active edit session was
changed.
2013-02-06 15:58:39 -08:00
Kevin Sawicki
3514048893 Exclude background window from expose
Previously you would see an untitled empty space
when showing application windows with ctrl-down.
2013-02-04 21:20:37 -08:00
Kevin Sawicki
a451a369e8 Use device color instead of calibrated 2013-01-23 08:28:44 -08:00
Kevin Sawicki & Nathan Sobo
d09610cbcd Upgrade CEF 3 to branch 1364, r1050
This adds support for accessing native extensions in web workers, though it may
not work quite how we need it to just yet. Figured we'd bank an upgrade anyway.
2013-01-21 18:05:39 -07:00
Kevin Sawicki
7f8a64b69c Show window only after root view is attached
This prevents a white flicker when the page
starts to load.
2013-01-17 16:50:25 -08:00
Kevin Sawicki
12fdf07137 💄 2013-01-17 16:50:25 -08:00
Corey Johnson
bd3dfba1e5 Atom will work as your $EDITOR.
Set EDITOR='atom --wait'
2012-12-19 17:15:17 -08:00
Kevin Sawicki
c40ad87a1e Remove replacing spaces with %20 when encoding URL params
This appears to be handled by stringByAddingPercentEscapesUsingEncoding
and so explicitly doing it causes a space to be encoded to %2520 instead
of %20
2012-12-19 15:37:41 -08:00
Kevin Sawicki
75b9e7cbb1 Replace & with %26 when encoding URL params
This is not handled by stringByAddingPercentEscapesUsingEncoding
2012-12-19 15:37:34 -08:00
Kevin Sawicki
35f362df1d Bring window to front when opening already opened path
Closes #104
2012-12-19 09:32:06 -08:00
Corey Johnson & Nathan Sobo
fa5acd600a Hack to open unstable windows from atom-stable 2012-11-09 10:25:42 -07:00
Corey Johnson
1850da70e3 Ensure closing the application will call window.shutdown on each window. 2012-11-07 15:45:44 -08:00
Corey Johnson
e96d1b07d3 When a window is closed, the AtomCefClient is destroyed. 2012-11-07 15:45:44 -08:00
Nathan Sobo
11d8192221 Show docked dev tools synchronously.
This commit fixes the sizing issues that were forcing the asynchronous hack. It also makes the split view divider dark gray like in chrome.
2012-11-07 11:20:12 -07:00
Nathan Sobo
6145605849 Still focus the browser when window becomes main 2012-11-06 18:18:34 -07:00
Corey Johnson & Nathan Sobo
a613fdf8a9 Make browser properly unfocus when resigning main window status 2012-11-06 16:58:43 -07:00
Kevin Sawicki
e4fb12a398 Add octicon to branch label 2012-11-02 15:31:11 -07:00
Nathan Sobo
e649b2e6c6 Handle standard pasteboard keybindings in the dev tools
This commit adds a boolean constructor parameter to the AtomCefClient indicating whether it should handle the standard pasteboard commands for its associated browser. We pass `true` when constructing the client for the dev tools, so these commands work there.
2012-10-29 11:45:16 -06:00
Corey Johnson
2635631d81 Always retain _resoucePath 2012-10-19 14:24:00 -07:00
Corey Johnson
8a65017ce1 rake install creates atom-stable binary
This allows us to use Atom to edit Atom, even when changes will break Atom on reload. It does this by ensuring the editor only uses code included with the bundle, but it allows benchmarks and specs to use code located in the path specified by --resource-path.
2012-10-16 09:05:38 -07:00
Corey Johnson
734fa5f03e Remove unneeded method 2012-10-12 15:44:00 -07:00
Kevin Sawicki
9f6366f6c6 Store window size and position to user defaults system
Closes #66
2012-10-11 21:25:25 -07:00
Kevin Sawicki
cee38a5f42 💄 2012-10-11 17:39:06 -07:00
Kevin Sawicki
8c0f443c75 Call window.shutdown when native window is closed
The root view will now be serialized and saved to local
storage when the window is closed or the application is
terminated.
2012-10-11 13:07:13 -07:00
Kevin Sawicki
d8011fe853 Add initial markdown preview extension
Uses the GitHub Markdown API to render the current
editor contents for .md and .markdown files.
2012-09-27 13:07:22 -07:00
Nathan Sobo
df0c19482c Hack in a workaround to cycle windows with meta-`
There's something wrong with CEF 3 right now where meta-` events aren't being forwarded to cocoa correctly. I just added some code to intercept meta-` and manually cycle the windows. I ignore any windows for which `excludeFromWindowsMenu` is true. That means we don't ever cycle to the hidden menu.
2012-09-24 16:32:05 -06:00
Corey Johnson
4b8b4ef91c A hack to get DevTools showing properly 2012-09-18 17:15:13 -07:00
Corey Johnson & Nathan Sobo
d5831710c9 Move AtomApplication argument methods from the class to the instance 2012-09-10 17:24:10 -07:00
Corey Johnson & Nathan Sobo
6570aedbb0 Making rake install almost work 2012-09-10 17:23:05 -07:00
Corey Johnson & Nathan Sobo
85c37fd652 Move atom.resourcePath to window.resourcePath
The resourcePath is now set using a url param. Because resourcePath is needed by require.js, it needs to be on `window` rather than `atom`.
2012-09-10 17:22:21 -07:00
Corey Johnson & Nathan Sobo
27335661dc WIP: Getting specs and benchmarks running from the command line 2012-08-30 18:10:05 -06:00
Nathan Sobo
3cc2faf7c2 Add atom.showDevTools and replace calls to $native.showDevTools 2012-08-30 11:24:01 -06:00
Corey Johnson
d2e517f5a3 💄 2012-08-30 08:54:18 -07:00
Corey Johnson
5ff8a5524e Set dev tools view to the correct size 2012-08-29 15:38:10 -07:00
Corey Johnson
d9dc526425 DevTools are working 2012-08-29 15:31:06 -07:00
Corey Johnson
9277a4371d Added method for creating browser to AtomWindowController 2012-08-29 14:37:17 -07:00