📝 Update Korean docs as upstream

[ci skip]
This commit is contained in:
Plusb Preco 2016-05-01 02:46:19 +09:00
parent a554f9e683
commit 33aecb9978
4 changed files with 119 additions and 47 deletions

View file

@ -66,6 +66,7 @@ Electron에 대해 자주 묻는 질문이 있습니다. 이슈를 생성하기
* [powerSaveBlocker](api/power-save-blocker.md)
* [protocol](api/protocol.md)
* [session](api/session.md)
* [systemPreferences](api/system-preferences.md)
* [webContents](api/web-contents.md)
* [Tray](api/tray.md)

View file

@ -379,7 +379,7 @@ npm 모듈 규칙에 따라 대부분의 경우 `package.json`의 `name` 필드
**참고:** OS X에선, 어플리케이션의 `info.plist`에 등록해둔 프로토콜만 사용할 수
있습니다. 이는 런타임에서 변경될 수 없습니다. 이 파일은 간단히 텍스트 에디터를
사용하거나, 어플리케이션을 빌드할 때 스크립트가 생성되도록 할 수 있습니다. 자세한
내용은 [Apple의 참조 문서][CFBundleURLTypes] 확인하세요.
내용은 [Apple의 참조 문서][CFBundleURLTypes] 확인하세요.
이 API는 내부적으로 Windows 레지스트리와 LSSetDefaultHandlerForURLScheme를 사용합니다.
@ -392,6 +392,21 @@ npm 모듈 규칙에 따라 대부분의 경우 `package.json`의 `name` 필드
**참고:** OS X에서는 앱을 제거하면 자동으로 기본 프로토콜 핸들러에서 제거됩니다.
### `app.isDefaultProtocolClient(protocol)` _OS X_ _Windows_
* `protocol` String - `://`를 제외한 프로토콜의 이름.
이 메서드는 현재 실행 파일이 지정한 프로토콜에 대해 기본 동작인지 확인합니다. (URI
스킴) 만약 그렇다면 `true`를 반환하고 아닌 경우 `false`를 반환합니다.
**참고:** OS X에선, 응용 프로그램이 프로토콜에 대한 기본 프로토콜 동작으로
등록되었는지를 확인하기 위해 이 메서드를 사용할 수 있습니다. 또한 OS X에서
`~/Library/Preferences/com.apple.LaunchServices.plist`를 확인하여 검증할 수도
있습니다. 자세한 내용은 [Apple의 참조 문서][LSCopyDefaultHandlerForURLScheme]를
참고하세요.
이 API는 내부적으로 Windows 레지스트리와 LSSetDefaultHandlerForURLScheme를 사용합니다.
### `app.setUserTasks(tasks)` _Windows_
* `tasks` Array - `Task` 객체의 배열
@ -480,42 +495,7 @@ app.on('ready', function() {
* `id` String
[Application User Model ID][app-user-model-id]를 `id`로 변경합니다.
### `app.isAeroGlassEnabled()` _Windows_
이 메서드는 [DWM 컴포지션](https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx)
(Aero Glass)가 활성화 되어있을 때 `true`를 반환합니다. 아닌 경우 `false`를 반환합니다.
이 메서드는 투명한 윈도우를 만들기 위해 사용 가능 여부를 확인할 때 사용할 수 있습니다.
(투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다)
사용 예시:
```js
let browserOptions = {width: 1000, height: 800};
// 플랫폼이 지원하는 경우에만 투명 윈도우를 생성
if (process.platform !== 'win32' || app.isAeroGlassEnabled()) {
browserOptions.transparent = true;
browserOptions.frame = false;
}
// 원도우 생성
win = new BrowserWindow(browserOptions);
// 페이지 로드
if (browserOptions.transparent) {
win.loadURL('file://' + __dirname + '/index.html');
} else {
// 투명 윈도우 상태가 아니라면, 기본적인 폴백 스타일 사용
win.loadURL('file://' + __dirname + '/fallback.html');
}
```
### `app.isDarkMode()` _OS X_
이 메서드는 시스템이 다크 모드 상태인 경우 `true`를 반환하고 아닐 경우 `false`
반환합니다.
[어플리케이션의 사용자 모델 ID][app-user-model-id]를 `id`로 변경합니다.
### `app.importCertificate(options, callback)` _LINUX_
@ -596,3 +576,4 @@ dock 아이콘의 `image`를 설정합니다.
[tasks]:http://msdn.microsoft.com/en-us/library/windows/desktop/dd378460(v=vs.85).aspx#tasks
[app-user-model-id]: https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx
[CFBundleURLTypes]: https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/TP40009249-102207-TPXREF115
[LSCopyDefaultHandlerForURLScheme]: https://developer.apple.com/library/mac/documentation/Carbon/Reference/LaunchServicesReference/#//apple_ref/c/func/LSCopyDefaultHandlerForURLScheme

View file

@ -0,0 +1,79 @@
# systemPreferences
> 시스템 설정을 가져옵니다.
## Methods
### `systemPreferences.isDarkMode()` _OS X_
이 메서드는 시스템이 어두운 모드 상태인 경우 `true`를 반환하고 아닐 경우 `false`
반환합니다.
### `systemPreferences.subscribeNotification(event, callback)` _OS X_
* `event` String
* `callback` Function
OS X의 네이티브 알림을 구독하며, 해당하는 `event`가 발생하면 `callback`이 호출됩니다.
구독자의 `id`가 반환되며 `event`를 구독 해제할 때 사용할 수 있습니다.
이 API는 후드에서 `NSDistributedNotificationCenter`를 구독하며, `event`에서 사용
가능한 값은 다음과 같습니다:
* `AppleInterfaceThemeChangedNotification`
* `AppleAquaColorVariantChanged`
* `AppleColorPreferencesChangedNotification`
* `AppleShowScrollBarsSettingChanged`
### `systemPreferences.unsubscribeNotification(id)` _OS X_
* `id` Integer
`id`와 함께 구독자를 제거합니다.
### `systemPreferences.getUserDefault(key, type)` _OS X_
* `key` String
* `type` String - `string`, `boolean`, `integer`, `float`, `double`, `url` 값이
될 수 있습니다.
시스템 설정에서 `key`에 해당하는 값을 가져옵니다.
OS X에선 API가 `NSUserDefaults`를 읽어들입니다. 유명한 `key``type`은 다음과
같습니다:
* `AppleInterfaceStyle: string`
* `AppleAquaColorVariant: integer`
* `AppleHighlightColor: string`
* `AppleShowScrollBars: string`
### `systemPreferences.isAeroGlassEnabled()` _Windows_
이 메서드는 [DWM 컴포지션][dwm-composition] (Aero Glass)가 활성화 되어있을 때
`true`를 반환합니다. 아닌 경우 `false`를 반환합니다.
다음은 투명한 윈도우를 만들지, 일반 윈도우를 만들지를 판단하여 윈도우를 생성하는
예시입니다 (투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다):
```javascript
let browserOptions = {width: 1000, height: 800};
// 플랫폼이 지원하는 경우에만 투명 윈도우를 생성.
if (process.platform !== 'win32' || app.isAeroGlassEnabled()) {
browserOptions.transparent = true;
browserOptions.frame = false;
}
// 원도우 생성
let win = new BrowserWindow(browserOptions);
// 페이지 로드.
if (browserOptions.transparent) {
win.loadURL('file://' + __dirname + '/index.html');
} else {
// 투명 윈도우 상태가 아니라면, 기본적인 스타일 사용
win.loadURL('file://' + __dirname + '/fallback.html');
}
```
[dwm-composition]:https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx

View file

@ -1,7 +1,8 @@
# Pepper 플래시 플러그인 사용하기
Electron은 Pepper 플래시 플러그인을 지원합니다.
Pepper 플래시 플러그인을 사용하려면 Pepper 플래시 플러그인의 위치를 지정해야 합니다.
Electron은 Pepper 플래시 플러그인을 지원합니다. Electron에서 Pepper 플래시
플러그인을 사용하려면 Pepper 플래시 플러그인의 위치를 지정한 후 어플리케이션 내에서
활성화 시켜야 합니다.
## 플래시 플러그인 준비하기
@ -13,28 +14,28 @@ Pepper 플래시 플러그인을 사용하려면 Pepper 플래시 플러그인
플러그인을 사용하려면 Electron 커맨드 라인에 `--ppapi-flash-path`
`ppapi-flash-version` 플래그를 `app``ready` 이벤트가 발생하기 전에 추가해야
합니다. 그리고 `browser-window``plugins` 스위치도 추가해야 합니다.
합니다. 그리고 `browser-window``plugins` 옵션을 활성화해야 합니다.
```javascript
// 플래시 플러그인의 위치를 설정합니다.
// Windows의 경우, /path/to/pepflashplayer.dll
// Windows의 경우, /path/to/pepflashplayer.dll 또는 main.js에 존재하는 경우 pepflashplayer.dll
// OS X의 경우, /path/to/PepperFlashPlayer.plugin
// Linux의 경우, /path/to/libpepflashplayer.so
app.commandLine.appendSwitch('ppapi-flash-path', '/path/to/libpepflashplayer.so');
// Specify flash version, for example, v17.0.0.169
// 선택적인으로 플래시 플레이어의 버전을 설정합니다. 예시로는, v17.0.0.169
app.commandLine.appendSwitch('ppapi-flash-version', '17.0.0.169');
app.on('ready', function() {
mainWindow = new BrowserWindow({
'width': 800,
'height': 600,
'web-preferences': {
'plugins': true
width: 800,
height: 600,
webPreferences: {
plugins: true
}
});
mainWindow.loadURL('file://' + __dirname + '/index.html');
// Something else
// 이외의 코드
});
```
@ -45,3 +46,13 @@ app.on('ready', function() {
```html
<webview src="http://www.adobe.com/software/flash/about/" plugins></webview>
```
## 문제 해결
개발자 도구의 콘솔에서 `navigator.plugins`를 탐색하면 Pepper 플래시 플러그인이 잘
로드되었는지를 확인할 수 있습니다. (물론 플러그인의 경로를 잘 설정하지 않으면 확인할
수 없습니다)
Pepper 플래시 플러그인의 구조는 Electron과 일치해야 합니다. Windows에서 자주
발생하는 문제는 32비트 버전의 플래시 플레이어를 64비트 버전의 Electron에서 사용하는
것입니다.