Skip to Content

앱 (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; }

keysdmn.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 접근은 차단됩니다.