앱 (app) & 윈도우 (window)
dmn.app
자동 업데이트는 메인 창에서만 사용할 수 있습니다. 재시작과 종료는 모든 네이티브 Tauri 창의 편집 저장이 끝난 뒤 프로세스를 닫습니다.
bootstrap()
앱 초기화 시 필요한 모든 데이터를 한 번에 가져옵니다.
interface BootstrapPayload {
settings: SettingsState;
keys: KeyMappings; // KeySlot union(string | MultiKeySlot) 항목
positions: KeyPositions;
customTabs: CustomTab[];
tabOrder: string[];
barCount: number;
selectedKeyType: string;
currentMode: string;
overlay: {
visible: boolean;
locked: boolean;
anchor: string;
};
keyCounters: KeyCounters;
keyCountersSessionId: string;
keyCountersRevision: number;
}keys는 dmn.keys.get()과 같은 KeySlot union(string | MultiKeySlot)을
전달합니다. 슬롯을 순수 문자열로 가정하는 소비자는 두 형태를 모두 처리해야
합니다. Keys API를 참고하세요.
keyCountersRevision은 반환된 keyCounters 스냅샷의 순서를 나타내는 읽기
전용 단조 증가 watermark입니다. 같은 keyCountersSessionId 안에서 bootstrap
스냅샷과 실시간 카운터 변경의 선후 관계를 판별할 때 사용하며, 세션 ID가
바뀌면 새로운 revision 순서가 시작됩니다.
const bootstrap = await dmn.app.bootstrap();
console.log('현재 모드:', bootstrap.selectedKeyType);
console.log('4key 매핑:', bootstrap.keys['4key']);openExternal(url)
외부 URL을 기본 브라우저에서 엽니다.
await dmn.app.openExternal('https://github.com');restart()
애플리케이션을 재시작합니다.
await dmn.app.restart();dmn.window
type
현재 윈도우 타입을 반환합니다.
| 값 | 설명 |
|---|---|
"main" | 메인 윈도우 (설정/키 맵핑 UI) |
"overlay" | 오버레이 윈도우 (키 시각화) |
if (dmn.window.type === 'overlay') {
// 오버레이 전용 코드
}
if (dmn.window.type === 'main') {
// 메인 윈도우 전용 코드
}minimize()
메인 윈도우를 최소화합니다.
await dmn.window.minimize();close()
애플리케이션을 종료합니다.
await dmn.window.close();openDevtoolsAll()
개발자 모드가 활성화된 경우 모든 윈도우의 DevTools를 엽니다.
await dmn.window.openDevtoolsAll();개발자 모드가 비활성화된 경우에도 호출은 가능하지만, 키보드 단축키(Ctrl+Shift+I, F12)를 통한 DevTools 접근은 차단됩니다.