-
Notifications
You must be signed in to change notification settings - Fork 1
사용 방법
설치 시 시작 프로그램 폴더에 Typoon 바로가기가 생깁니다. (이 폴더의 정확한 경로는 윈도우의 경우 %programdata%/Microsoft/Windows/Start Menu/Programs/StartUp
입니다)
프로그램 시작 시 시스템 트레이 아이콘이 생깁니다 (윈도우의 경우 오른쪽 아래에 뜨는 아이콘들). 이 아이콘을 클릭하면 Turn On/Off
, Open Config
, Open Match
, Exit
이 있는 메뉴가 열립니다. 'Open *' 항목들은 각각 컨피그 파일과 매치 파일을 기본 프로그램으로 엽니다.
기본적으로 Ctrl-Alt-Shift-S로 프로그램을 껐다 켤 수 있습니다. 단축키를 바꾸려면 컨피그를 참고하세요.
어떤 텍스트가 어떤 텍스트로 변할지는 매치 파일에서 지정해 줍니다. 매치 파일은 기본적으로 트리거와 대치 텍스트 쌍의 리스트입니다. 이 파일은 JSON5 포맷을 사용합니다. 구체적인 설명을 원하시면 매치 항목을 참고하세요.
뭔가 설정을 바꾸고 싶으시다면 컨피그 파일을 확인하시면 됩니다. 이 또한 JSON5 포맷을 사용합니다. 시스템 알림이 거슬린다거나, 끄고 켜기 단축키가 충돌한다거나 하면 여기에서 바꾸실 수 있습니다. 바꿀 수 있는 모든 설정과 그에 대한 설명을 확인하시려면 컨피그 항목을 참고하세요.
현재 활성화된 프로그램이 무엇인지에 따라 타이푼을 자동으로 끄고 켠다거나 다른 매치 파일을 사용하는 것이 가능합니다. 이에 대해 알아보려면 컨피그의 이 항목를 참고하세요.
매치는 이 프로그램의 핵심입니다. 어떤 텍스트가 어떤 텍스트로 변할지를 지정해 줍니다.
매치는 1개 이상의 트리거, 대치 텍스트, 0개 이상의 옵션으로 구성됩니다.
기본 매치 파일은 윈도우의 경우 %appdata%/Typoon/match
에 위치해 있습니다. 혹은 시스템 트레이 아이콘을 클릭해 Open Match
를 선택하면 기본 프로그램으로 매치 파일을 열 수 있습니다.
매치 파일은 어디에 위치하든 상관없습니다. 컨피그에서 경로를 지정해 주기만 하면 됩니다.
예시를 먼저 보는 타입이시라면 여기로 가세요.
트리거는 감지되어 대체될 텍스트입니다. 매치당 1개 이상 있어야 합니다. 1개만 있는 경우, trigger
필드로 지정해줄 수 있습니다. 1개 이상의 경우는 triggers
필드에 리스트로 넣어주세요.
대치 텍스트는 트리거의 자리에 대신 들어가게 될 텍스트입니다. replace
필드로 지정해 주세요. 모든 매치에는 replace
, replace_image
, replace_command
중 하나가 있어야 합니다.
대치 텍스트에서 커서 위치를 지정해줄 수 있습니다. 기본 커서 위치 마커는 |_|
이지만 컨피그 파일에서 원하는 대로 변경할 수 있습니다.
대치 이미지는 트리거의 자리에 대신 들어가게 될 이미지의 경로입니다. replace_image
필드로 지정해 주세요. '붙여넣기' 단축키를 통해 붙여넣는 방식입니다. 모든 매치에는 replace
, replace_image
, replace_command
중 하나가 있어야 합니다.
지원되는 포맷: BMP
, GIF
, JPEG
, PNG
, TIFF
, Exif
, WMF
, EMF
대치 명령어는 명령어를 실행한 후, 그 아웃풋을 트리거의 자리에 대치하게 합니다. replace_command
필드로 지정해 주세요. 모든 매치에는 replace
, replace_image
, replace_command
중 하나가 있어야 합니다.
모든 토글 옵션의 기본값은 false
입니다.
-
case_sensitive
true
일 경우 트리거가 대소문자를 구별합니다. -
word
true
일 경우 트리거가 단어 단위로 끊겨야 발동됩니다. -
full_composite
한글 전용.
true
일 경우 마지막 글자의 조합이 끝나야 발동됩니다.트리거의 마지막 글자가 한글이고
word
가false
여야만 유효합니다.
-
propagate_case
true
일 경우 매치를 발동시킨 텍스트의 대소문자를 대치 텍스트가 따라갑니다.case_sensitive
가false
이고 트리거 텍스트의 글자 중 최소 한 개가 대소문자 구별을 하는 글자여야 유효합니다. -
uppercase_style
capitalize_words
나first_letter
중 하나여야 합니다.capitalize_words
인 경우, 대치 텍스트가 대문자화될 때 각 단어의 첫 글자가 대문자가 됩니다.first_letter
인 경우, 대치 텍스트가 여러 단어로 구성돼 있어도 가장 첫 글자만 대문자화됩니다.propagate_case
가true
여야만 유효합니다. -
keep_composite
한글 전용.
true
일 경우 대치 텍스트의 마지막 글자를 조합 중인 상태로 남겨둡니다.대치 텍스트의 마지막 글자가 한글이고,
full_composite
가false
이며, 대치 텍스트의 커서 위치가 마지막이어야만(따로 설정되지 않은 경우도 포함) 유효합니다.
매치들을 그룹화하여 옵션을 공유하게 할 수 있습니다. 다음 계층구조에 맞게 데이터를 넣어주세요. (root)
- groups
- (entry 1)
- (옵션 1)
- (옵션 2)
- matches
- (entry 2) ...
- (entry 1)
다른 매치 파일들을 임포트할 수 있습니다. 상대 경로인 경우 현재 매치 파일이 있는 곳을 기준으로 합니다. imports
안에 넣어주세요.
{
// 해당 경로의 매치 파일들을 임포트합니다.
imports: ['C:/some/other/match_file.json5', '../another/match_file.json5'],
groups: [
{
case_sensitive: true,
// 아래의 모든 매치의 트리거는 대소문자를 구분하게 됩니다.
matches: [
{
trigger: 'some',
replace: 'words'
},
{
trigger: 'other',
replace: 'words',
word: true, // case_sensitive + word의 효과를 지니게 됨
}
]
},
{
...
}
],
matches: [
{
trigger: 'aaaa',
replace: 'AAAA',
case_sensitive: true,
// `aaaa` -> `AAAA`.
// `Aaaa`, `AaAa`는 발동되지 *않습니다*.
},
{
triggers: ['alth', 'alh'],
replace: 'although',
word: true
// `AlTh` + 알파벳/한글/숫자가 아닌 문자 -> `although` + 입력된 글자.
// `alh` + 알파벳/한글/숫자가 아닌 문자 -> `although` + 입력된 글자.
},
{
trigger: 'recieve',
replace: 'receive',
propagate_case: true
// `recieve` -> `receive`.
// `Recieve` -> `Receive`.
// `RECIEVE` -> `RECEIVE`.
},
{
trigger: ';tbh',
replace: 'to be honest',
word: true,
propagate_case: true,
uppercase_style: 'capitalize_words'
// `;tbh` + 알파벳/한글/숫자가 아닌 문자 -> `to be honest` + 입력된 글자.
// `;Tbh` + 알파벳/한글/숫자가 아닌 문자 -> `To Be Honest` + 입력된 글자.
// `;TBH` + 알파벳/한글/숫자가 아닌 문자 -> `TO BE HONEST` + 입력된 글자.
},
{
trigger: ';sti',
replace: 'static_cast<int>(|_|)'
// `;sti` -> `static_cast<int>()`, 커서는 괄호 사이에 위치할 것입니다.
},
{
trigger: '스빈다',
replace: '습니다',
keep_composite: true
// `스빈다` -> `습니다`, `다`는 조합 중인 상태가 됩니다.
// 따라서 `스빈답`를 입력하면 `습니답`이 됩니다. `keep_composite`이 없으면 `습니다ㅂ`가 될 것입니다.
},
{
trigger: '가나',
replace: 'Ghana',
full_compisite: true
// `가나` + 조합 완료 -> `Ghana` + 글자로 인해 조합이 완료됐다면 입력된 글자.
// - `가나` + 한/영 전환 -> `Ghana`
// - `가나다` -> `Ghana다`. (이를 원치 않으시면 `word: true` 옵션을 추가하세요)
// 마지막 `ㅏ`를 입력해서 `나`의 조합이 끝날 때까지 변환되지 않습니다.
// - `가나 ` -> `Ghana ` (뒤에 스페이스가 있습니다)
// `가난`은 발동되지 *않습니다*.
},
{
trigger: '혼합mixed',
replace: 'mixed혼합',
keep_composite: true
// `혼합mixed` -> `mixed혼합`. 또한 한/영이 전환돼 한글 입력 상태가 됩니다.
},
{
trigger: ';pepe',
replace_image: 'C:/path/to/pepe.jpg'
// ;pepe 입력 시 해당 경로의 사진을 붙여넣습니다.
},
{
trigger: ';datetime',
replace_command: 'echo %date%%time%'
// ;datetime 입력 시 `echo %date%%time%`를 실행해 나온 출력으로 트리거가 대치됩니다.
},
]
}
컨피그 파일은 윈도우에서는 %appdata%/Typoon
에 있습니다. 시스템 트레이 아이콘에서 Open Config
를 선택해 기본 프로그램으로 열 수도 있습니다.
매치 파일 경로. 절대 경로와 상대 경로 모두 가능합니다. 상대 경로인 경우, 컨피그 파일이 있는 곳에서부터 찾습니다. (윈도우에서는 %appdata%/Typoon
)
기본값: match/matches.json5
.
백스페이스 허용치.
예를 들어, abc
라는 트리거가 있고 이 값이 5라면, abddddd
를 입력하고 d
를 모두 지운 후 c
를 입력해도 트리거가 감지됩니다. 하지만 d
를 하나라도 더 입력했다면, 트리거가 감지되지 않습니다.
기본값: 5
.
대치 텍스트에서 커서의 위치를 나타내는 데 쓰일 텍스트.
기본값: |_|
.
컨피그 파일이 (리)로드됐을 때 시스템 알림을 띄울지 여부.
기본값: true
.
매치 파일이 (리)로드됐을 때 시스템 알림을 띄울지 여부.
기본값: true
.
Typoon이 꺼졌을 때/켜졌을 때 시스템 알림을 띄울지 여부.
기본값: false
.
Typoon을 껐다 켜는 단축키. 아예 없애고 싶으시다면, 이 필드 자체를 제거하세요 (사실 key
필드를 제거하는 것만으로 충분하긴 합니다).
기본값: ctrl-alt-shift-s
.
-
ctrl
- 컨트롤 키가 눌려야 하는지 여부. -
alt
- 알트 키가 눌려야 하는지 여부. -
shift
- 시프트 키가 눌려야 하는지 여부. -
win
- 윈도우 전용. 윈도우 키가 눌려야 하는지 여부. 참고로 윈도우 키를 누르는 모든 단축키는 예약돼 있기 때문에 권장되지 않습니다. -
cmd
- 맥 전용. 커맨드 키가 눌려야 하는지 여부. *현재 맥은 지원되지 않습니다.* -
key
- 키. 대소문자는 구별하지 않습니다. 키 목록을 참고하세요.
현재 포커스된 창의 이름을 클립보드에 복사하는 단축키. 아래의 프로그램별 설정에 사용할 수 있습니다. 나머지 설명은 위와 동일.
기본값: ctrl-alt-shift-d
.
현재 활성화된 프로그램별로 오버라이드할 설정들. 리스트이며, 각 compound를 구성하는 요소는 다음과 같습니다:
-
programs
: 설정을 적용할 프로그램 목록. 해당 이름은 위의 단축키를 사용해 얻을 수 있습니다. -
disable
:true
인 경우 해당 프로그램들 사용 중 Typoon이 비활성화됩니다. -
match_file_path
: 존재하는 경우 기본 매치 파일 대신 이 경로의 매치 파일을 사용합니다. -
includes
: 사용되는 매치 파일에 추가로 합쳐서 사용할 매치 파일 경로 목록. -
excludes
: 사용되는 매치 파일들이 이 목록에 있는 매치 파일들을 import하지 못하게 합니다.
{
match_file_path: "c:/some/path/to/custom/match/file.json5",
max_backspace_count: 2,
cursor_placeholder: "$|$", // espanso 스타일
notify_config_load: false,
notify_match_load: true,
notify_on_off: true,
hotkey_toggle_on_off: {
ctrl: true,
alt: true,
shift: true,
key: "O"
}, // 껐다 켜는 단축키는 이제 ctrl-alt-shift-o가 됩니다.
hotkey_get_program_name: {
ctrl: true,
alt: true,
key: "p"
}, // 현재 프로그램 이름을 복사하는 단축키는 이제 ctrl-alt-p가 됩니다.
program_overrides: [
{
programs: [
"Discord",
"Microsoft Visual Studio 2022"
],
includes: [
'match/discord.json5',
]
}, // 디스코드와 비주얼 스튜디오 사용 중에는 기존 매치 파일에 추가로 match/discord.json5를 합쳐서 사용합니다.
{
programs: [
"KakaoTalk",
],
disable: true
}, // 카카오톡 사용 중에는 Typoon을 비활성화합니다.
{
programs: [
"Chrome",
],
excludes: [
'match/images.json5',
]
}, // 크롬 사용 중에는 사용 중인 매치 파일에서 match/images.json5를 임포트시키지 않고 사용합니다.
{
programs: [
"메모장",
],
match_file_path: "match/discord.json5",
}, // 메모장 사용 중에는 기본 매치 파일 대신 match/discord.json5를 사용합니다.
]
}