프리셋 (presets)
프리셋 API를 사용하면 현재 설정을 파일로 저장하거나 불러올 수 있습니다.
프리셋 저장
save()
현재 설정을 프리셋 파일로 저장합니다. 파일 저장 다이얼로그가 열립니다.
const result = await dmn.presets.save();
if (result.success) {
console.log("프리셋 저장 완료");
} else {
console.error("저장 실패:", result.error);
}프리셋 불러오기
load()
프리셋 파일을 불러와 설정에 적용합니다. 파일 선택 다이얼로그가 열립니다.
const result = await dmn.presets.load();
if (result.success) {
console.log("프리셋 불러오기 완료");
} else {
console.error("불러오기 실패:", result.error);
}사용 예제
컨텍스트 메뉴에서 프리셋 관리
// @id preset-manager
if (dmn.window.type !== "main") return;
// 프리셋 저장 메뉴
dmn.ui.contextMenu.addGridMenuItem({
id: "save-preset",
label: "프리셋 저장",
onClick: async () => {
const result = await dmn.presets.save();
if (result.success) {
await dmn.ui.dialog.alert("프리셋이 저장되었습니다!");
}
},
});
// 프리셋 불러오기 메뉴
dmn.ui.contextMenu.addGridMenuItem({
id: "load-preset",
label: "프리셋 불러오기",
onClick: async () => {
const confirmed = await dmn.ui.dialog.confirm(
"현재 설정이 덮어씌워집니다. 계속하시겠습니까?"
);
if (confirmed) {
const result = await dmn.presets.load();
if (result.success) {
await dmn.ui.dialog.alert("프리셋을 불러왔습니다!");
}
}
},
});
dmn.plugin.registerCleanup(() => {
dmn.ui.contextMenu.clearMyMenuItems();
});프리셋에 포함되는 항목
프리셋은 “전체 설정 덤프”가 아니라, 아래 항목들을 파일로 저장/복원합니다.
| 필드 | 설명 |
|---|---|
keys | 키 매핑 |
positions | 키 위치/크기/개별 옵션(클래스, 이미지, 카운터 설정 포함) |
customTabs | 커스텀 탭 목록 |
selectedKeyType | 선택된 탭/모드 |
backgroundColor | 오버레이 배경색 |
noteSettings / noteEffect | 노트 이펙트 관련 설정 |
laboratoryEnabled | 실험실(랩) 기능 사용 여부 |
useCustomCSS / customCSS | 커스텀 CSS 사용 여부/내용 |
useCustomJS / customJS | 커스텀 JS 사용 여부/내용(플러그인 목록 포함) |
플러그인 설정(dmn.plugin.storage)은 프리셋에 포함되지 않습니다. 플러그인 데이터를 포함하려면 별도로 관리하세요.
키 카운터 “값”(누적 카운트)은 프리셋에 포함되지 않습니다.