Web Analytics

tbkeys

⭐ 264 stars Korean by wshanks

Contributor Covenant

tbkeys

tbkeysMousetrap을 사용하여 키 시퀀스를 사용자 명령에 바인딩하는 Thunderbird용 애드온입니다.

설치

addons.thunderbird.net에서 "tbkeys-lite"를 검색하여 Thunderbird 애드온 관리자에서 설치하거나 위 페이지에서 xpi 파일을 다운로드하고 위 단계를 따라 설치할 수도 있습니다.

기본 키 바인딩

기본 키 바인딩은 메인 창에서 GMail의 키 바인딩을 모델로 합니다.

| 키 | 기능 | | --- | ------------------------------------------------- | | c | 새 메시지 작성 | | r | 답장 | | a | 모두에게 답장 | | f | 전달 | | # | 삭제 | | u | 메일 새로 고침. 메시지 탭이 열려 있으면 닫음. | | j | 다음 메시지 | | k | 이전 메시지 | | o | 메시지 열기 | | x | 메시지 보관 |

키 바인딩 사용자 지정

키 바인딩을 사용자 지정하려면 애드온 관리자에서 애드온 항목의 환경설정 창에 있는 "키 바인딩" 항목을 수정하세요 ("Thunderbird 메뉴 -> 애드온"). 키 바인딩 설정 시 고려할 사항은 다음과 같습니다:

키 바인딩은 다른 창에서는 작동하지 않습니다. 수정자가 포함된 단일 키는 내장 단축키를 덮어쓸 수 있으나 시퀀스는 불가능합니다.

명령어 문법

키 바인딩에 대해 몇 가지 다른 스타일의 명령어를 지정할 수 있습니다. 다음과 같습니다:

대부분의 명령어 이름은 Thunderbird 소스 코드의 주요 명령어 세트 파일에서 찾을 수 있습니다. 해당 함수는 인자 없이 호출됩니다. 현재 사용 가능한 사용자 정의 함수는 closeMessageAndRefresh뿐이며, 이는 첫 번째 탭이 아닌 경우 열린 탭을 닫고 모든 계정을 새로 고칩니다. 이 동작은 GMail 키 바인딩의 u와 유사합니다. unset 키 바인딩이 트리거되면 아무 동작도 하지 않습니다. 이는 실수로 실행하고 싶지 않은 내장 Thunderbird 키 바인딩을 해제할 때 유용할 수 있습니다. 현재는 tbkeys가 명령어를 문자열로 저장하기 때문에 문자열 메시지만 지원하며, 이 제한은 향후 완화될 수 있습니다. 다른 명령어 유형의 접두사와 일치하지 않는 모든 항목은 eval 명령어로 처리됩니다. 참고: eval 명령어는 tbkeys-lite에서는 사용할 수 없으며, 대신 unset 명령어와 동일하게 동작합니다.

일반적인 키 바인딩

다음은 일반적으로 원하는 키 바인딩에 대한 eval 명령어 예시입니다:

기본 키 바인딩 해제

환경설정 창의 "Unset singles" 버튼은 메인 창에서 Thunderbird의 기본 단일 키 바인딩을 해제하는 데 사용할 수 있습니다. 이 기능은 tbkey 환경설정에 현재 설정되어 있지 않은 경우를 제외하고 Thunderbird의 기본 단일 키 단축키를 모두 unset으로 설정합니다(즉, tbkeys의 기존 단일 키 단축키 설정을 덮어쓰지 않습니다).

tbkeys와 tbkeys-lite

tbkeys-lite는 임의의 자바스크립트 실행 기능이 제거된 tbkeys 버전입니다.

보안, 개인정보 보호 및 구현

설치 전, Thunderbird는 확장 기능이 "Thunderbird 및 컴퓨터에 대한 완전하고 무제한적인 접근 권한"을 요구한다고 알립니다. 이 권한 요청의 이유는 tbkeys가 키 바인딩을 감지하기 위해 Thunderbird 사용자 인터페이스에 키 리스너를 주입해야 하기 때문입니다. 이를 위해 tbkeys는 MailExtensions 이전의 구형 Thunderbird 확장 인터페이스를 사용합니다. 이 인터페이스는 Thunderbird 68 이전 모든 확장 기능이 사용하던 방식입니다. 확장 기능이 할 수 있는 일을 더 엄격히 제한하는 새로운 MailExtensions API에는 키보드 단축키 API가 포함되어 있지 않습니다. Thunderbird에 키보드 단축키 API 추가에 관심이 있으시면 프로젝트에 코드 기여를 고려해 주세요. 아마도 이 티켓이 Thunderbird 이슈 트래커에서 출발점이 될 수 있습니다.

tbkeys와 관련된 보안 문제를 더 논의하려면 구현 방식을 검토할 필요가 있습니다. 소개에서 언급했듯이, tbkeys는 키 바인딩 관리를 위해 Mousetrap 라이브러리를 사용합니다. tbkeys의 주요 로직은 implementation.js에 있으며, 이는 MailExtension 실험입니다. implementation.js는 tbkey의 표준(범위가 제한된) MailExtension에서 호출할 수 있는 실험 API를 설정하여 키보드 단축키를 함수에 바인딩(바인딩 해제를 위한 null 함수 포함)하고 다른 확장에 보낼 메시지로 바인딩할 수 있게 합니다. implementation.js는 또한 각 Thunderbird 창에 Mousetrap을 로드하고, Thunderbird 특정 UI 요소를 고려하여 Mousetrap이 키 이벤트를 캡처하는 조건을 조정하며, 사용자가 각 키 바인딩에 지정한 동작을 실행하는 함수를 정의합니다. implementation.js가 하는 일은 여기까지입니다. 로컬 파일 시스템이나 메시지 데이터에 접근하지 않으며 네트워크에도 접근하지 않습니다.

tbkeys가 지원하는 명령 모드 중 하나는 eval입니다. 이 모드는 implementation.js에서 eval()을 사용하여 사용자가 제공한 임의 코드를 Thunderbird 내부에 완전 접근 권한으로 실행합니다. 임의 코드 바인딩이 필요하지 않다면 eval 명령을 지원하지 않는 tbkeys-lite를 사용하는 것이 보안상 이점이 있을 수 있습니다. tbkeys-lite는 Thunderbird 부가기능 페이지에 게시된 버전입니다. 그곳에 게시된 부가기능은 독립적인 수동 검토를 거칩니다. 개발자와 사용자 사이에 그러한 검토 장벽이 존재하는 것은 추가적인 보안 계층을 제공합니다.

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-02 ---