📝 Update as upstream

[ci skip]
This commit is contained in:
Plusb Preco 2016-02-17 00:40:35 +09:00 committed by Cheng Zhao
parent 175449f096
commit 407bef5727
10 changed files with 182 additions and 116 deletions

View file

@ -57,6 +57,7 @@ API 레퍼런스가 있습니다. Electron을 빌드 하는 방법과 프로젝
- [중국어 번체](https://github.com/atom/electron/tree/master/docs-translations/zh-TW)
- [우크라이나어](https://github.com/atom/electron/tree/master/docs-translations/uk-UA)
- [러시아어](https://github.com/atom/electron/tree/master/docs-translations/ru-RU)
- [프랑스어](https://github.com/atom/electron/tree/master/docs-translations/fr-FR)
## 시작하기

View file

@ -451,7 +451,6 @@ var win = new BrowserWindow({ width: 800, height: 600 });
* `aspectRatio` 유지하려 하는 컨텐츠 뷰 일부의 종횡비
* `extraSize` Object (optional) - 종횡비를 유지하는 동안 포함되지 않을 엑스트라 크기.
사용 가능한 속성:
* `width` Integer
* `height` Integer
@ -469,7 +468,7 @@ var win = new BrowserWindow({ width: 800, height: 600 });
### `win.setBounds(options[, animate])`
* `options` Object, properties:
* `options` Object
* `x` Integer
* `y` Integer
@ -719,8 +718,7 @@ Windows 메시지 훅을 등록합니다. `callback`은 WndProc에서 메시지
### `win.capturePage([rect, ]callback)`
* `rect` Object (optional) - 캡쳐할 페이지의 영역.
사용할 수 있는 속성은 다음과 같습니다:
* `rect` Object (optional) - 캡쳐할 페이지의 영역
* `x` Integer
* `y` Integer
* `width` Integer
@ -790,34 +788,34 @@ Linux 플랫폼에선 Unity 데스크톱 환경만 지원합니다. 그리고
### `win.setThumbarButtons(buttons)` _Windows 7+_
`buttons` - `button` 객체의 배열
`button` 객체는 다음과 같은 속성을 가지고 있습니다:
* `icon` [NativeImage](native-image.md) - 미리보기 툴바에 보여질 아이콘.
* `tooltip` String (optional) - 버튼의 툴팁 텍스트.
* `flags` Array (optional) - 버튼의 특정 동작 및 상태 제어. 기본적으로 `enabled`
사용됩니다. 이 속성은 다음 문자열들을 포함할 수 있습니다:
* `enabled` - 사용자가 사용할 수 있도록 버튼이 활성화 됩니다.
* `disabled` - 버튼이 비활성화 됩니다. 버튼은 표시되지만 시각적인 상태는 사용자의
동작에 응답하지 않는 비활성화 상태로 표시됩니다.
* `dismissonclick` - 버튼이 클릭되면 작업표시줄 버튼의 미리보기(flyout)가 즉시
종료됩니다.
* `nobackground` - 버튼의 테두리를 표시하지 않습니다. 이미지에만 사용할 수 있습니다.
* `hidden` - 버튼을 사용자에게 표시되지 않도록 숨깁니다.
* `noninteractive` - 버튼은 활성화되어 있지만 반응이 제거되며 버튼을 눌러도
눌려지지 않은 상태를 유지합니다. 이 값은 버튼을 알림의 용도로 사용하기 위해
만들어졌습니다.
* `click` - Function
* `buttons` - Array
윈도우 작업표시줄 버튼 레이아웃의 미리보기 이미지 영역에 미리보기 툴바와 버튼 세트를
지정합니다. 반환되는 `Boolean` 값은 미리보기 툴바가 성공적으로 추가됬는지를 알려줍니다.
추가합니다. 반환되는 `Boolean` 값은 미리보기 툴바가 성공적으로 추가됬는지를 알려줍니다.
미리보기 이미지 영역의 제한된 크기로 인해 미리보기 툴바에 추가될 수 있는 최대 버튼의
개수는 7개이며 이 이상 추가될 수 없습니다. 플랫폼의 제약으로 인해 미리보기 툴바는 한 번
설정되면 삭제할 수 없습니다. 하지만 이 API에 빈 배열을 전달하여 버튼들을 제거할 수
있습니다.
`buttons``Button` 객체의 배열입니다:
* `Button` 객체
* `icon` [NativeImage](native-image.md) - 미리보기 툴바에 보여질 아이콘.
* `tooltip` String (optional) - 버튼의 툴팁 텍스트.
* `flags` Array (optional) - 버튼의 특정 동작 및 상태 제어. 기본적으로 `enabled`
사용됩니다. 이 속성은 다음 문자열들을 포함할 수 있습니다:
* `enabled` - 사용자가 사용할 수 있도록 버튼이 활성화 됩니다.
* `disabled` - 버튼이 비활성화 됩니다. 버튼은 표시되지만 시각적인 상태는 사용자의
동작에 응답하지 않는 비활성화 상태로 표시됩니다.
* `dismissonclick` - 버튼이 클릭되면 작업표시줄 버튼의 미리보기(flyout)가 즉시
종료됩니다.
* `nobackground` - 버튼의 테두리를 표시하지 않습니다. 이미지에만 사용할 수 있습니다.
* `hidden` - 버튼을 사용자에게 표시되지 않도록 숨깁니다.
* `noninteractive` - 버튼은 활성화되어 있지만 반응이 제거되며 버튼을 눌러도
눌려지지 않은 상태를 유지합니다. 이 값은 버튼을 알림의 용도로 사용하기 위해
만들어졌습니다.
### `win.showDefinitionForSelection()` _OS X_
페이지의 선택된 단어에 대한 사전 검색 결과 팝업을 표시합니다.

View file

@ -22,19 +22,15 @@ crashReporter.start({
### `crashReporter.start(options)`
* `options` Object, properties:
* `productName` String, 기본값: Electron
* `companyName` String (**필수항목**)
* `submitURL` String, (**필수항목**)
* 크래시 리포트는 POST 방식으로 이 URL로 전송됩니다.
* `autoSubmit` Boolean, 기본값: true
* true로 지정할 경우 유저의 승인 없이 자동으로 오류를 보고합니다.
* `ignoreSystemCrashHandler` Boolean, 기본값: false
* `extra` Object
* 크래시 리포트 시 같이 보낼 추가 정보를 지정하는 객체입니다.
* 문자열로 된 속성만 정상적으로 보내집니다.
* 중첩 객체는 지원되지 않습니다. (Nested objects are not supported)
* `options` Object
* `companyName` String
* `submitURL` String - 크래시 리포트는 POST 방식으로 이 URL로 전송됩니다.
* `productName` String (optional) - 기본값은 `Electron` 입니다.
* `autoSubmit` Boolean - 유저의 승인 없이 자동으로 오류를 보고합니다. 기본값은
`true` 입니다.
* `ignoreSystemCrashHandler` Boolean - 기본값은 `false` 입니다.
* `extra` Object - 크래시 리포트 시 같이 보낼 추가 정보를 지정하는 객체입니다.
문자열로 된 속성만 정상적으로 보내집니다. 중첩된 객체는 지원되지 않습니다.
다른 crashReporter API를 사용하기 전에 이 메서드를 먼저 호출해야 합니다.

View file

@ -8,8 +8,7 @@
## 메시지 전송
물론 메시지를 받는 것 말고도 메인 프로세스에서 랜더러 프로세스로 보내는 것도 가능합니다.
자세한 내용은 [webContents.send](web-contents.md#webcontentssendchannel-arg1-arg2-)를
참고하세요.
자세한 내용은 [webContents.send][web-contents-send]를 참고하세요.
* 메시지를 전송할 때 이벤트 이름은 `channel`이 됩니다.
* 메시지에 동기로 응답할 땐 반드시 `event.returnValue`를 설정해야 합니다.
@ -46,34 +45,40 @@ ipcRenderer.send('asynchronous-message', 'ping');
`ipcMain`은 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
### `ipcMain.on(channel, callback)`
### `ipcMain.on(channel, listener)`
* `channel` String - 이벤트 이름
* `callback` Function
* `channel` String
* `listener` Function
이벤트가 발생하면 `event` 객체와 임의 메시지와 함께 `callback`이 호출됩니다.
`channel`에 대해 이벤트를 리스닝합니다. 새로운 메시지가 도착하면 `listener`
`listener(event, args...)` 형식으로 호출됩니다.
### `ipcMain.removeListener(channel, callback)`
### `ipcMain.once(channel, listener)`
* `channel` String - 이벤트의 이름
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
* `channel` String
* `listener` Function
이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 등록된
`channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 삭제됩니다.
### `ipcMain.removeListener(channel, listener)`
* `channel` String
* `listener` Function
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
있습니다.
지정한 `channel`에 대한 리스너를 저장하는 배열에서 지정한 `listener`를 삭제합니다.
### `ipcMain.removeAllListeners(channel)`
* `channel` String - 이벤트의 이름
* `channel` String (optional)
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
이 ipc 채널에 등록된 모든 핸들러들을 삭제하거나 지정한 `channel`을 삭제합니다.
### `ipcMain.once(channel, callback)`
`ipcMain.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
## IPC Event
## Event 객체
`callback`에서 전달된 `event` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:
@ -85,5 +90,6 @@ ipcRenderer.send('asynchronous-message', 'ping');
메시지를 보낸 `webContents` 객체를 반환합니다. `event.sender.send` 메서드를 통해
비동기로 메시지를 전달할 수 있습니다. 자세한 내용은
[webContents.send](web-contents.md#webcontentssendchannel-arg1-arg2-)를
참고하세요.
[webContents.send][web-contents-send]를 참고하세요.
[web-contents-send]: web-contents.md#webcontentssendchannel-arg1-arg2-

View file

@ -10,32 +10,38 @@
`ipcRenderer`는 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
### `ipcRenderer.on(channel, callback)`
### `ipcMain.on(channel, listener)`
* `channel` String - 이벤트 이름
* `callback` Function
* `channel` String
* `listener` Function
이벤트가 일어나면 `event` 객체와 임의의 인자와 함께 `callback` 함수가 호출됩니다.
`channel`에 대해 이벤트를 리스닝합니다. 새로운 메시지가 도착하면 `listener`
`listener(event, args...)` 형식으로 호출됩니다.
### `ipcRenderer.removeListener(channel, callback)`
### `ipcMain.once(channel, listener)`
* `channel` String - 이벤트의 이름
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
* `channel` String
* `listener` Function
이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 등록된
`channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 삭제됩니다.
### `ipcMain.removeListener(channel, listener)`
* `channel` String
* `listener` Function
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
있습니다.
### `ipcRenderer.removeAllListeners(channel)`
지정한 `channel`에 대한 리스너를 저장하는 배열에서 지정한 `listener`를 삭제합니다.
* `channel` String - 이벤트의 이름
### `ipcMain.removeAllListeners(channel)`
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
* `channel` String (optional)
### `ipcRenderer.once(channel, callback)`
`ipcRenderer.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
이 ipc 채널에 등록된 모든 핸들러들을 삭제하거나 지정한 `channel`을 삭제합니다.
## 메시지 보내기
@ -43,23 +49,26 @@
### `ipcRenderer.send(channel[, arg1][, arg2][, ...])`
* `channel` String - 이벤트 이름
* `channel` String
* `arg` (optional)
`channel`을 통해 메인 프로세스에 비동기 메시지를 보냅니다. 그리고 필요에 따라 임의의
인자를 사용할 수도 있습니다. 메인 프로세스는 `ipcMain` 모듈의 `channel` 이벤트를 통해
인수를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와
프로토타입 체인은 포함되지 않게 됩니다.
메인 프로세스는 `ipcMain` 모듈의 `channel` 이벤트를 통해
이벤트를 리스닝 할 수 있습니다.
### `ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])`
* `channel` String - 이벤트 이름
* `channel` String
* `arg` (optional)
`channel`을 통해 메인 프로세스에 동기 메시지를 보냅니다. 그리고 필요에 따라 임의의
인자를 사용할 수도 있습니다. 메인 프로세스는 `ipc`를 통해 `channel` 이벤트를 리스닝
할 수 있습니다.
인자를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와
프로토타입 체인은 포함되지 않게 됩니다.
메인 프로세스에선 `ipcMain` 모듈의 `channel` 이벤트를 통해 받은
메인 프로세스`ipcMain` 모듈을 통해 `channel` 이벤트를 리스닝 할 수 있고,
`event.returnValue`로 회신 할 수 있습니다.
__참고:__ 동기 메서드는 모든 랜더러 프로세스의 작업을 일시 중단시킵니다. 사용 목적이
@ -67,7 +76,7 @@ __참고:__ 동기 메서드는 모든 랜더러 프로세스의 작업을 일
### `ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])`
* `channel` String - 이벤트 이름
* `channel` String
* `arg` (optional)
`ipcRenderer.send`와 비슷하지만 이벤트를 메인 프로세스 대신 호스트 페이지내의

View file

@ -255,8 +255,8 @@ Returns:
* `result` Object
* `requestId` Integer
* `finalUpdate` Boolean - 더 많은 응답이 따르는 경우를 표시합니다.
* `matches` Integer (Optional) - 일치하는 개수.
* `selectionArea` Object (Optional) - 첫 일치 부위의 좌표.
* `matches` Integer (optional) - 일치하는 개수.
* `selectionArea` Object (optional) - 첫 일치 부위의 좌표.
[`webContents.findInPage`](web-contents.md#webcontentsfindinpage) 요청의 결과를
사용할 수 있을 때 발생하는 이벤트입니다.
@ -307,7 +307,7 @@ Returns:
### `webContents.loadURL(url[, options])`
* `url` URL
* `options` Object (optional), 속성들:
* `options` Object (optional)
* `httpReferrer` String - HTTP 레퍼러 url.
* `userAgent` String - 요청을 시작한 유저 에이전트.
* `extraHeaders` String - "\n"로 구분된 Extra 헤더들.
@ -493,7 +493,7 @@ CSS 코드를 현재 웹 페이지에 삽입합니다.
### `webContents.findInPage(text[, options])`
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
* `options` Object (Optional)
* `options` Object (optional)
* `forward` Boolean - 앞에서부터 검색할지 뒤에서부터 검색할지 여부입니다. 기본값은
`true`입니다.
* `findNext` Boolean - 작업을 계속 처리할지 첫 요청만 처리할지 여부입니다. 기본값은
@ -546,11 +546,10 @@ ServiceWorker가 존재하면 모두 등록을 해제하고 JS Promise가 만족
### `webContents.print([options])`
`options` Object (optional), properties:
* `silent` Boolean - 사용자에게 프린트 설정을 묻지 않습니다. 기본값을 `false`입니다.
* `printBackground` Boolean - 웹 페이지의 배경 색과 이미지를 출력합니다. 기본값은
`false`입니다.
`options` Object (optional)
* `silent` Boolean - 사용자에게 프린트 설정을 묻지 않습니다. 기본값을 `false`입니다.
* `printBackground` Boolean - 웹 페이지의 배경 색과 이미지를 출력합니다. 기본값은
`false`입니다.
윈도우의 웹 페이지를 프린트합니다. `silent``false`로 지정되어있을 땐, Electron이
시스템의 기본 프린터와 기본 프린터 설정을 가져옵니다.
@ -565,32 +564,23 @@ print기능을 사용하지 않는 경우 전체 바이너리 크기를 줄이
### `webContents.printToPDF(options, callback)`
`options` Object, properties:
* `marginsType` Integer - 사용할 마진의 종류를 지정합니다.
* 0 - default
* 1 - none
* 2 - minimum
* `pageSize` String - 생성되는 PDF의 페이지 크기를 지정합니다.
* `A5`
* `A4`
* `A3`
* `Legal`
* `Letter`
* `Tabloid`
* `printBackground` Boolean - CSS 배경을 프린트할지 여부를 정합니다.
* `printSelectionOnly` Boolean - 선택된 영역만 프린트할지 여부를 정합니다.
* `landscape` Boolean - landscape을 위해선 `true`를, portrait를 위해선 `false`
사용합니다.
`callback` Function - `function(error, data) {}`
* `error` Error
* `data` Buffer - PDF 파일 내용.
* `options` Object
* `marginsType` Integer - 사용할 마진의 종류를 지정합니다. 0 부터 2 사이 값을 사용할
수 있고 각각 기본 마진, 마진 없음, 최소 마진입니다.
* `pageSize` String - 생성되는 PDF의 페이지 크기를 지정합니다. 값은 `A3`, `A4`,
`A5`, `Legal`, `Letter``Tabloid`가 사용될 수 있습니다.
* `printBackground` Boolean - CSS 배경을 프린트할지 여부를 정합니다.
* `printSelectionOnly` Boolean - 선택된 영역만 프린트할지 여부를 정합니다.
* `landscape` Boolean - landscape을 위해선 `true`를, portrait를 위해선 `false`
사용합니다.
* `callback` Function - `function(error, data) {}`
Chromium의 미리보기 프린팅 커스텀 설정을 이용하여 윈도우의 웹 페이지를 PDF로
프린트합니다.
`callback`은 작업이 완료되면 `callback(error, data)` 형식으로 호출됩니다. `data`
생성된 PDF 데이터를 담고있는 `Buffer`입니다.
기본으로 비어있는 `options`은 다음과 같이 여겨지게 됩니다:
```javascript
@ -643,7 +633,7 @@ mainWindow.webContents.on('devtools-opened', function() {
### `webContents.openDevTools([options])`
* `options` Object (optional). Properties:
* `options` Object (optional)
* `detach` Boolean - 새 창에서 개발자 도구를 엽니다.
개발자 도구를 엽니다.
@ -681,8 +671,11 @@ mainWindow.webContents.on('devtools-opened', function() {
* `arg` (optional)
`channel`을 통하여 렌더러 프로세스에 비동기 메시지를 보냅니다. 임의의 인수를 보낼수도
있습니다. 렌더러 프로세스는 `ipcRenderer` 모듈을 통하여 `channel`를 리슨하여 메시지를
처리할 수 있습니다.
있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와 프로토타입 체인은
포함되지 않게 됩니다.
렌더러 프로세스는 `ipcRenderer` 모듈을 통하여 `channel`를 리스닝하여 메시지를 처리할
수 있습니다.
메인 프로세스에서 렌더러 프로세스로 메시지를 보내는 예시 입니다:

View file

@ -178,7 +178,7 @@ webview.addEventListener("dom-ready", function() {
### `<webview>.loadURL(url[, options])`
* `url` URL
* `options` Object (optional), 속성들:
* `options` Object (optional)
* `httpReferrer` String - HTTP 레퍼러 url.
* `userAgent` String - 요청을 시작한 유저 에이전트.
* `extraHeaders` String - "\n"로 구분된 Extra 헤더들.
@ -370,7 +370,7 @@ Service worker에 대한 개발자 도구를 엽니다.
### `webContents.findInPage(text[, options])`
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
* `options` Object (Optional)
* `options` Object (optional)
* `forward` Boolean - 앞에서부터 검색할지 뒤에서부터 검색할지 여부입니다. 기본값은
`true`입니다.
* `findNext` Boolean - 작업을 계속 처리할지 첫 요청만 처리할지 여부입니다. 기본값은
@ -557,8 +557,8 @@ Returns:
* `result` Object
* `requestId` Integer
* `finalUpdate` Boolean - 더 많은 응답이 따르는 경우를 표시합니다.
* `matches` Integer (Optional) - 일치하는 개수.
* `selectionArea` Object (Optional) - 첫 일치 부위의 좌표.
* `matches` Integer (optional) - 일치하는 개수.
* `selectionArea` Object (optional) - 첫 일치 부위의 좌표.
[`webContents.findInPage`](web-contents.md#webcontentsfindinpage) 요청의 결과를
사용할 수 있을 때 발생하는 이벤트입니다.

View file

@ -18,6 +18,34 @@ Node.js의 새로운 기능은 보통 V8 업그레이드에서 가져옵니다.
브라우저에 탑재된 V8을 사용하고 있습니다. 눈부신 새로운 Node.js 버전의 자바스크립트
기능은 보통 이미 Electron에 있습니다.
## 어떻게 웹 페이지 간에 데이터를 공유할 수 있나요?
두 웹페이지 간에 (랜더러 프로세스) 데이터를 공유하려면 간단히 이미 모든 브라우저에서
사용할 수 있는 HTML5 API들을 사용하면 됩니다. 가장 좋은 후보는
[Storage API][storage], [`localStorage`][local-storage],
[`sessionStorage`][session-storage], 그리고 [IndexedDB][indexed-db]가 있습니다.
또는 Electron에서만 사용할 수 있는 IPC 시스템을 사용하여 메인 프로세스의 global
변수에 데이터를 저장한 후 다음과 같이 랜더러 프로세스에서 `remote` 모듈을 사용하여
접근할 수 있습니다:
```javascript
// 메인 프로세스에서
global.sharedObject = {
someProperty: 'default value'
};
```
```javascript
// 첫 번째 페이지에서
require('remote').getGlobal('sharedObject').someProperty = 'new value';
```
```javascript
// 두 번째 페이지에서
console.log(require('remote').getGlobal('sharedObject').someProperty);
```
## 제작한 어플리케이션의 윈도우/트레이가 몇 분 후에나 나타납니다.
이러한 문제가 발생하는 이유는 보통 윈도우/트레이를 담은 변수에 가비지 컬렉션이 작동해서
@ -119,3 +147,7 @@ npm uninstall -g electron
[memory-management]: https://developer.mozilla.org/ko/docs/Web/JavaScript/Memory_Management
[variable-scope]: https://msdn.microsoft.com/library/bzt2dkta(v=vs.94).aspx
[electron-module]: https://www.npmjs.com/package/electron
[storage]: https://developer.mozilla.org/en-US/docs/Web/API/Storage
[local-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
[session-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
[indexed-db]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

View file

@ -263,6 +263,33 @@ var window = new BrowserWindow({...});
window.setProgressBar(0.5);
```
## 작업 표시줄의 아이콘 오버레이 (Windows)
Windows에선 작업 표시줄 버튼에 어플리케이션의 상태를 표시하는 작은 오버레이를 사용할
수 있습니다. MSDN에서 인용하자면 (영문):
> Icon overlays serve as a contextual notification of status, and are intended
> to negate the need for a separate notification area status icon to communicate
> that information to the user. For instance, the new mail status in Microsoft
> Outlook, currently shown in the notification area, can now be indicated
> through an overlay on the taskbar button. Again, you must decide during your
> development cycle which method is best for your application. Overlay icons are
> intended to supply important, long-standing status or notifications such as
> network status, messenger status, or new mail. The user should not be
> presented with constantly changing overlays or animations.
__작업 표시줄 버튼 위의 오버레이:__
![작업 표시줄 버튼 위의 오버레이](https://i-msdn.sec.s-msft.com/dynimg/IC420441.png)
윈도우에 오버레이 아이콘을 설정하려면 [BrowserWindow.setOverlayIcon][setoverlayicon]
API를 사용할 수 있습니다:
```javascript
var window = new BrowserWindow({...});
window.setOverlayIcon('path/to/overlay.png', 'Description for overlay');
```
## 대표 파일 제시 (OS X)
OS X는 창에서 대표 파일을 설정할 수 있습니다. 타이틀바에서 파일 아이콘이 있고, 사용자가
@ -287,6 +314,7 @@ window.setDocumentEdited(true);
[clearrecentdocuments]: ../api/app.md#appclearrecentdocuments-os-x-windows
[setusertaskstasks]: ../api/app.md#appsetusertaskstasks-windows
[setprogressbar]: ../api/browser-window.md#winsetprogressbarprogress
[setoverlayicon]: ../api/browser-window.md#winsetoverlayiconoverlay-description-windows-7
[setrepresentedfilename]: ../api/browser-window.md#winsetrepresentedfilenamefilename-os-x
[setdocumentedited]: ../api/browser-window.md#winsetdocumenteditededited-os-x
[app-registration]: http://msdn.microsoft.com/en-us/library/windows/desktop/ee872121(v=vs.85).aspx

View file

@ -12,7 +12,7 @@ Electron은 웹 페이지의 GUI를 사용합니다. 쉽게 말해 Electron은
### 메인 프로세스
Electron은 실행될 때 __메인 프로세스__로 불리는 `package.json``main` 스크립트를
Electron은 실행될 때 __메인 프로세스__ 로 불리는 `package.json``main` 스크립트를
호출합니다. 이 스크립트는 메인 프로세스에서 작동합니다. GUI 컴포넌트를 조작하거나 웹
페이지 창을 생성할 수 있습니다.
@ -43,6 +43,7 @@ API를 사용하여 low-level 수준으로 운영체제와 상호작용할 수
Electron에는 메인 프로세스와 랜더러 프로세스 사이에 통신을 할 수 있도록
[ipc](../api/ipc-renderer.md) 모듈을 제공하고 있습니다.
또는 [remote](../api/remote.md) 모듈을 사용하여 RPC 스타일로 통신할 수도 있습니다.
또한 FAQ에서 [다양한 객체를 공유하는 방법](share-data)도 소개하고 있습니다.
## 첫번째 Electron 앱 만들기
@ -211,3 +212,5 @@ $ cd electron-quick-start
# 어플리케이션의 종속성 모듈을 설치한 후 실행합니다
$ npm install && npm start
```
[share-data]: ../faq/electron-faq.md#어떻게-웹-페이지-간에-데이터를-공유할-수-있나요