### `app.dock.setMenu(menu)` _OS X_
-* `menu` Menu
+* `menu` [Menu](menu.md)
어플리케이션의 [dock menu][dock-menu]를 설정합니다.
Electron의 `webContents`에서 `item`을 다운로드할 때 발생하는 이벤트입니다.
-`event.preventDefault()` 메서드를 호출하면 다운로드를 취소합니다.
+`event.preventDefault()` 메서드를 호출하면 다운로드를 취소하고, 프로세스의 다음
+틱부터 `item`을 사용할 수 없게 됩니다.
```javascript
session.defaultSession.on('will-download', function(event, item, webContents) {
});
```
+#### `ses.clearHostResolverCache([callback])`
+
+* `callback` Function (optional) - 작업이 완료되면 호출됩니다.
+
+호스트 리소버(resolver) 캐시를 지웁니다.
+
#### `ses.webRequest`
`webRequest` API는 생명주기의 다양한 단계에 맞춰 요청 컨텐츠를 가로채거나 변경할 수
지정한 파일을 데스크톱 기본 프로그램으로 엽니다.
-### `shell.openExternal(url)`
+### `shell.openExternal(url[, options])`
* `url` String
+* `options` Object (optional) _OS X_
+ * `activate` Boolean - `true`로 설정하면 어플리케이션을 바로 활성화 상태로
+ 실행합니다. 기본값은 `true`입니다.
제공된 외부 프로토콜 URL을 기반으로 데스크톱의 기본 프로그램으로 엽니다. (예를 들어
-mailto: URL은 유저의 기본 이메일 에이전트로 URL을 엽니다.)
+mailto: URL은 유저의 기본 이메일 에이전트로 URL을 엽니다.) 어플리케이션이 해당 URL을
+열 수 있을 때 `true`를 반환합니다. 아니라면 `false`를 반환합니다.
역주: 폴더는 'file:\\\\C:\\'와 같이 지정하여 열 수 있습니다. (Windows의 경우)
트레이 아이콘이 작동하도록 만들 수 있습니다.
* 앱 알림 표시기는 컨텍스트 메뉴를 가지고 있을 때만 보입니다.
* Linux에서 앱 표시기가 사용될 경우, `click` 이벤트는 무시됩니다.
+* Linux에서 각각 개별 `MenuItem`의 변경을 적용하려면 `setContextMenu`를 다시
+ 호출해야 합니다. 예를 들면:
+
+```javascript
+contextMenu.items[2].checked = false;
+appIcon.setContextMenu(contextMenu);
+```
이러한 이유로 Tray API가 모든 플랫폼에서 똑같이 작동하게 하고 싶다면 `click` 이벤트에
의존해선 안되며 언제나 컨텍스트 메뉴를 포함해야 합니다.