Nimf 2025.12.10 출시
안녕하세요. Nimf 2025.12.10 버전이 출시되었습니다.
변경 사항
코어 및 API (Core & API):
nimf_ic_set_callbacks함수를 가변 인자(variable arguments) 대신CimCallbacks구조체를 사용하도록 리팩토링하여 타입 안전성과 코드의 명확성을 높였습니다.CIM_NOTIFICATION_COMPOSE_CANCELLED와 같은 일반적인 알림을 처리할 수 있도록NIM_BEEP를NIM_NOTIFY로 이름을 변경하였습니다.- 데몬 (Daemon): 시작 시 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr)를
/dev/null로 리다이렉트하도록 수정하였습니다. 이는 표준 파일 디스크립터가 닫혀 있을 수 있는 환경(예: Weston 9.0)에서 발생하는 크래시를 방지합니다.
모듈 및 언어 엔진 (Modules & Linguas):
- 언어 엔진 (전체): 후보 창(Candidate) 테이블의 메모리 할당 방식을 리팩토링하였습니다. 메모리 관리를 단순화하고 누수를 방지하기 위해 기존의 포인터 배열(jagged arrays) 방식에서 단일 연속 메모리 블록(single contiguous memory block) 방식으로 변경하였습니다.
- Qt5:
QByteArray데이터를 컨텍스트 내에 보존(persist)하도록 하여cb_get_surround에서 발생하는 댕글링 포인터(dangling pointer) 문제를 수정하였습니다. 또한 테스트를 위한 간단한 에디터를 추가하였습니다. - Gtk4:
graphene라이브러리를 사용하여set_cursor_pos를 구현, 클라이언트 위젯의 좌표를 화면 좌표로 올바르게 변환하도록 수정하였습니다.
알려진 버그
- X 윈도우에서 가상 콘솔로 화면을 전환할 때 입력이 멈추거나
nimf-forward가 멈추는(freezes) 버그가 있습니다. - 콘솔 환경에서
nimf-forward또는nimf-cons를 실행할 때 입력이 멈추는 버그가 있습니다.
위 버그들은 수정하는 데 상당히 오랜 시간이 걸릴 것으로 보입니다.
최신 버전은 Nimf 페이지에서 다운로드하실 수 있습니다.
감사합니다.