Skip to content

Releases: from104/unim

UNIM 0.4.4

Choose a tag to compare

@github-actions github-actions released this 22 Sep 19:53

[0.4.4] 2026-09-21

수정됨

  • GNOME: 데몬이 다시 시작되면(패키지 업데이트, unim-daemon --replace) 한글 입력이 멈춰 확장을 껐다 켜야 하던 문제 수정
English

Fixed

  • GNOME: fixed Hangul input stopping after the daemon restarts (package update, unim-daemon --replace), which previously required toggling the extension off and on

설치 / Install (Ubuntu 24.04+ / Debian, amd64)

curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

버전 고정 / pin a version:

UNIM_VERSION=v0.4.4 curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

수동 설치 / manual: SHA256SUMS 로 검증 후 sudo apt install ./unim*.deb.

설치 / Install (Windows 10/11, x64)

PowerShell 에서 실행하시고, 설치할 때 UAC 승인이 한 번 필요합니다.

irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

버전 고정 / pin a version:

$env:UNIM_VERSION='v0.4.4'; irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

⏳ MSI 는 별도 워크플로에서 빌드되어 이 릴리스에 첨부됩니다.
태그를 막 올린 직후라면 몇 분 뒤에 나타납니다 — 설치 스크립트가 릴리스에서 MSI 를 내려받습니다.
아직 코드 서명이 없어 SmartScreen 경고가 뜹니다. "추가 정보 → 실행" 으로 넘어가 주세요.

변경 이력 / Changelog: CHANGELOG-ko.md · CHANGELOG.md

전체 변경 이력 / Full Changelog: v0.4.3...v0.4.4

UNIM 0.4.3

Choose a tag to compare

@github-actions github-actions released this 10 Sep 01:19

[0.4.3] 2026-09-10

수정됨

  • Windows: 무인 설치(/qn, winget)에서 설치기가 팝업 렌더러를 띄우지 않도록 변경 (winget 자동 검증 통과 요건, 설치 스크립트는 종전대로 직접 실행)
English

Fixed

  • Windows: the installer no longer launches the popup renderer during silent installs (/qn, winget), as required by winget automated validation; the install script still starts it itself

설치 / Install (Ubuntu 24.04+ / Debian, amd64)

curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

버전 고정 / pin a version:

UNIM_VERSION=v0.4.3 curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

수동 설치 / manual: SHA256SUMS 로 검증 후 sudo apt install ./unim*.deb.

설치 / Install (Windows 10/11, x64)

PowerShell 에서 실행하시고, 설치할 때 UAC 승인이 한 번 필요합니다.

irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

버전 고정 / pin a version:

$env:UNIM_VERSION='v0.4.3'; irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

⏳ MSI 는 별도 워크플로에서 빌드되어 이 릴리스에 첨부됩니다.
태그를 막 올린 직후라면 몇 분 뒤에 나타납니다 — 설치 스크립트가 릴리스에서 MSI 를 내려받습니다.
아직 코드 서명이 없어 SmartScreen 경고가 뜹니다. "추가 정보 → 실행" 으로 넘어가 주세요.

변경 이력 / Changelog: CHANGELOG-ko.md · CHANGELOG.md

전체 변경 이력 / Full Changelog: v0.4.2...v0.4.3

UNIM 0.4.2

Choose a tag to compare

@github-actions github-actions released this 09 Sep 16:38

[0.4.2] 2026-09-09

알려진 문제

  • 조합 도중 누른 수정자 조합이 래치를 유지하지 못하는 현상 — GNOME 50(우분투 26.04)부터 해소, 이전 버전은 잔존
  • Windows: 설치 직후 재로그인 전까지 트레이 메뉴 미표시 가능

추가됨

  • 여섯 배포판(우분투 24.04·26.04, Debian 13, 페도라 43·44, RHEL 10 계열)별 릴리스 빌드 제공, 설치 스크립트 자동 감지·설치 지원 (RHEL 10 계열 신규 지원, EPEL 저장소 필요)
  • 빌드 시 GNOME 확장이 새 셸 버전에서도 정상 동작하는지 정적·동적 검증 추가 (make check-compat)
  • 배포판별 빌드에 설치 후 IM 모듈 실제 로드·키 입력 동작 검증 추가 (GTK3/4·Qt5/6·XIM·Windows MSI)
  • Windows 배포 산출물의 백신 오탐(트로이목마 오인) 방지 — 파일 버전 정보 삽입, CI Defender 사전 검사, 코드 서명 파이프라인 도입
  • 다음 우분투 LTS 컨테이너에서 CI 사전 빌드·테스트 지원

달라진 점

  • unim-cli config user-dict·config blacklist 를 최상위 unim-cli dict user-dict·dict blacklist 로 이동 (옛 경로는 안내 메시지와 함께 당분간 동작)
  • unim-cli dict 의 단어 추가·제거에 여러 단어를 한 번에 지정 가능, 여러 개 제거 시 확인 질문 (-y 로 생략)

수정됨

  • GNOME Shell 50(우분투 26.04)에서 한글 입력이 안 되던 문제 수정
  • 샌드박스 앱(Flatpak·Snap)에서 조합 중인 한글이 보이지 않던 문제 수정
  • GTK im-xim 폴백 환경에서 조합이 멈추던 문제 수정, 조합 중 글자를 커서 옆 별도 창에 표시
  • 설정 저장 순간 조합 중이던 글자가 사라지거나 조합이 끊기던 문제 수정
  • XIM 서버가 앱 종료 시 함께 죽어 이후 앱의 XIM 입력이 막히던 문제 수정
  • Windows: 자동 영문 전환 중 Ctrl+B 같은 합성키가 동작하지 않던 문제 수정
  • Windows: 갱신 후 트레이 메뉴가 안 보일 때 탐색기 재시작으로 즉시 복구하는 버튼 추가
  • Windows: 크롬 등에서 편집 칸에 포커스가 없을 때 문자키가 브라우저 단축키로 전달되지 않던 문제 수정
English

Known issues

  • The modifier combination that would not hold its latch mid-composition — resolved from GNOME 50 (Ubuntu 26.04) on, still present on earlier versions
  • Windows: the tray menu may not appear until you log in again right after a fresh install

Added

  • Per-distribution release builds for six distributions (Ubuntu 24.04/26.04, Debian 13, Fedora 43/44, RHEL 10 family) with automatic detection and install in the install script (RHEL 10 family newly supported, requires the EPEL repository)
  • Static and dynamic build-time checks that the GNOME extension still works on a new Shell version (make check-compat)
  • Post-install verification that IM modules actually load and accept keystrokes on every per-distribution build (GTK3/4, Qt5/6, XIM, Windows MSI)
  • Removed the causes of antivirus false positives on the Windows build — embedded file version info, a CI pre-scan with Defender, and a code-signing pipeline
  • CI pre-builds and tests on the next Ubuntu LTS container ahead of its release

Changed

  • Moved unim-cli config user-dict and config blacklist to the top-level unim-cli dict user-dict and dict blacklist (old paths still work for now, with a notice)
  • unim-cli dict add/remove now accept several words at once, with a confirmation prompt when removing more than one (-y to skip)

Fixed

  • Fixed Hangul input not working on GNOME Shell 50 (Ubuntu 26.04)
  • Fixed in-progress Hangul being invisible in sandboxed apps (Flatpak, Snap)
  • Fixed composition stalling in environments that fall back to GTK's im-xim, in-progress text now shown in a small window next to the caret instead
  • Fixed the composed syllable being lost or the composition breaking the instant settings are saved
  • Fixed the XIM server dying when an app closes, which used to block XIM input in every app afterward
  • Windows: fixed composite keys such as Ctrl+B not working while auto-English switching is active
  • Windows: added a one-click Explorer-restart fix for a missing tray menu after an update
  • Windows: fixed character keys not reaching browser shortcuts in Chrome and others when no editable field has focus

설치 / Install (Ubuntu 24.04+ / Debian, amd64)

curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

버전 고정 / pin a version:

UNIM_VERSION=v0.4.2 curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

수동 설치 / manual: SHA256SUMS 로 검증 후 sudo apt install ./unim*.deb.

설치 / Install (Windows 10/11, x64)

PowerShell 에서 실행하시고, 설치할 때 UAC 승인이 한 번 필요합니다.

irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

버전 고정 / pin a version:

$env:UNIM_VERSION='v0.4.2'; irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

⏳ MSI 는 별도 워크플로에서 빌드되어 이 릴리스에 첨부됩니다.
태그를 막 올린 직후라면 몇 분 뒤에 나타납니다 — 설치 스크립트가 릴리스에서 MSI 를 내려받습니다.
아직 코드 서명이 없어 SmartScreen 경고가 뜹니다. "추가 정보 → 실행" 으로 넘어가 주세요.

변경 이력 / Changelog: CHANGELOG-ko.md · CHANGELOG.md

전체 변경 이력 / Full Changelog: v0.4.1...v0.4.2

UNIM 0.4.1

Choose a tag to compare

@github-actions github-actions released this 15 Aug 16:15

[0.4.1] 2026-08-16

알려진 문제

  • 조합 도중에 누른 수정자 조합은 래치를 붙들지 못합니다. 한글을 조합하는 중에 Shift→Home 을 누르는 경우가 여기 해당합니다. 이때는 조합 중이던 글자가 앱에 먼저 들어갑니다 — 글자 순서가 어긋나는 쪽이 더 나쁜 실패이기 때문입니다. 글자를 끝내고 누르면 정상 동작합니다.
  • 샌드박스 앱(Flatpak·Snap)에서는 조합 중인 한글이 화면에 보이지 않습니다. 커밋과 연속 입력은 0.4.0 에서 IBus 경로로 살아났지만, 조합 중인 글자는 여전히 나오지 않습니다.
  • GTK 의 im-xim 을 거치는 환경에서 조합이 멈춥니다.
  • Windows: 자동 영문 전환이 동작하는 동안 Ctrl+B 같은 합성키가 먹지 않고, 새로 설치하거나 갱신한 뒤 트레이 우클릭 메뉴가 나오지 않습니다.

수정됨

  • rpm 패키지가 다시 올라갑니다. 0.4.0 에는 deb 와 Windows MSI 만 있고 rpm 이 없어, 페도라·RHEL 계열에서는 한 줄 설치가 아예 막혀 있었습니다. 빌드가 두 곳에서 깨져 있었습니다 — rpmbuild 가 MAKEFLAGS 에 넣는 -- 구분자를 jemalloc 빌드 스크립트가 삼키다 실패했고, Qt 6.8 이상에서는 Qt6::GuiPrivate 를 명시적으로 요청해야 하는데 그러지 않았습니다. deb 쪽은 Qt 6.4 라 자동으로 딸려와서 이 결함이 드러나지 않았습니다. 페도라 43 에서 실제 빌드까지 확인했습니다.
  • 고정키(Sticky Keys)로 만든 조합이 더 이상 간헐적으로 실패하지 않습니다 (GNOME Wayland). 텍스트 입력란 안에서 Ctrl→A, Alt→F 같은 조합이 이따금 수정자 없이 전달돼 그냥 글자가 입력됐습니다. 입력기가 키를 가로챈 뒤 되돌려 보내면 GNOME 이 고정키 래치를 다시 입히는 지점을 건너뛰고, 되돌아온 키가 한 박자 늦게 도착하는 사이 래치가 먼저 풀리는 것이 원인이었습니다. 이제 입력기가 소비하지 않을 키는 가로채지 않고 그대로 넘겨 래치가 살아남습니다. Shift+Home·Shift+방향키 같은 선택 조작도 같은 결함이었고 함께 고쳐졌습니다. 한 번에 한 키만 누를 수 있는 분들에게 이것은 조합키를 쓸 수 있느냐 없느냐의 문제입니다.
    • 이 수정은 GNOME Shell 확장에 들어 있고, GNOME 은 세션 도중에 확장 코드를 다시 읽지 않습니다. 갱신한 뒤 로그아웃했다가 다시 로그인해 주세요.
English

Known issues

  • A modifier combination pressed in the middle of composing does not hold the latch. Pressing Shift→Home while a Hangul syllable is still being composed is the case in point. The composed text is committed to the application first, because characters arriving out of order is the worse failure. Finish the syllable and the combination behaves normally.
  • Hangul is invisible while being composed in sandboxed apps (Flatpak, Snap). Committing and continuous typing were restored in 0.4.0 over the IBus path, but the in-progress text still does not appear.
  • Composition stalls in environments that go through GTK's im-xim.
  • Windows: composite keys such as Ctrl+B do not fire while auto-English switching is active, and the tray context menu does not appear after a fresh install or an update.

Fixed

  • The rpm packages are back. 0.4.0 shipped only .deb and the Windows MSI, so one-line installation was simply unavailable on Fedora and RHEL-family systems. The build was broken in two places — the -- separator that rpmbuild puts into MAKEFLAGS was swallowed by the jemalloc build script, and Qt6::GuiPrivate must be requested explicitly on Qt 6.8 and later, which we did not do. The .deb side uses Qt 6.4, where it comes along for free, so this never surfaced there. Verified with a real build on Fedora 43.
  • Sticky Keys combinations no longer fail intermittently (GNOME Wayland). Inside text fields, combinations such as Ctrl→A or Alt→F were sometimes delivered without the modifier, so a plain character was typed instead. When the input method intercepted a key and handed it back, GNOME skipped the point where it re-applies the Sticky Keys latch, and the returned key arrived a beat later — by which time the latch had already been released. Keys the input method will not consume are now passed straight through, so the latch survives. Selection commands like Shift+Home and Shift+arrow had the same defect and are fixed as well. For people who can only press one key at a time, this is the difference between being able to use combination keys and not.
    • The fix lives in the GNOME Shell extension, and GNOME does not reload extension code during a session. Log out and back in after upgrading.

설치 / Install (Ubuntu 24.04+ / Debian, amd64)

curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

버전 고정 / pin a version:

UNIM_VERSION=v0.4.1 curl -fsSL https://raw.githubusercontent.com/from104/unim/main/install.sh | bash

수동 설치 / manual: SHA256SUMS 로 검증 후 sudo apt install ./unim*.deb.

설치 / Install (Windows 10/11, x64)

PowerShell 에서 실행하시고, 설치할 때 UAC 승인이 한 번 필요합니다.

irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

버전 고정 / pin a version:

$env:UNIM_VERSION='v0.4.1'; irm https://raw.githubusercontent.com/from104/unim/main/install.ps1 | iex

⏳ MSI 는 별도 워크플로에서 빌드되어 이 릴리스에 첨부됩니다.
태그를 막 올린 직후라면 몇 분 뒤에 나타납니다 — 설치 스크립트가 릴리스에서 MSI 를 내려받습니다.
아직 코드 서명이 없어 SmartScreen 경고가 뜹니다. "추가 정보 → 실행" 으로 넘어가 주세요.

변경 이력 / Changelog: CHANGELOG-ko.md · CHANGELOG.md

전체 변경 이력 / Full Changelog: v0.4.0...v0.4.1

UNIM 0.4.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 19:08

[0.4.0] 2026-08-10

알려진 문제

  • 이 릴리스에는 rpm 패키지가 없습니다. 빌드가 깨져 있어 deb 11종과 Windows MSI 만 올라갔고, 페도라·RHEL 계열에서는 한 줄 설치를 쓸 수 없습니다. 0.4.1 에서 고쳤습니다.

리눅스에서만 돌던 입력기가 Windows에서도 같은 코어로 동작하고, 설치가 한 줄로 끝나며, 설정 창이 두 플랫폼에서 같아진 릴리스입니다.

2026-07-19 에 붙었던 v0.4.0 태그는 회수했습니다 — guids.wxi 버전 불일치로 MSI 릴리스 게이트가 깨져 있었습니다(65c66f8 에서 수정). 이 항목이 유효한 v0.4.0 입니다.

추가됨

  • 한 줄 설치: 리눅스는 curl … | bash, Windows는 irm … | iex 한 줄로 설치합니다. 배포판을 감지해 deb 또는 rpm 을 내려받고 SHA256 으로 검증한 뒤 설치하며, 검증에 실패하면 아무것도 설치하지 않고 멈춥니다. UNIM_VERSION 으로 버전을 고정할 수 있습니다.

  • 첫 실행 마법사: 설치 후 처음 로그인하면 자동으로 떠서 기본 입력기 지정까지 안내합니다. 한 번 끝내면 다시 뜨지 않습니다.

  • 설정 앱 재작성 (unim-settings): GTK4 에서 Slint 로 옮겨, 리눅스와 Windows 가 같은 설정 화면을 씁니다.

  • 단어 단위 입력: 조합 확정을 음절 대신 단어 단위로 둘 수 있습니다. 터미널·XIM·모아치기 자판에서는 오작동을 막기 위해 자동으로 음절 단위로 되돌립니다.

  • AutoTypeFix 토글 단축키: 전체 / 순방향 / 역방향을 각각 켜고 끕니다. 전체 토글 기본값은 Shift+F8 이고, 방향별 토글은 필요한 사람만 지정하도록 비워 뒀습니다. Shift+F8·Ctrl+Left 같은 수정자 조합을 쓸 수 있고, 지정하지 않은 조합은 앱으로 그대로 전달됩니다.

  • 비밀번호 필드 자동 보호: 비밀번호 칸에 들어가면 영문 모드로 전환하고, 그동안 눌린 키는 버퍼·실행취소·학습 사전 어디에도 남기지 않습니다. 칸을 벗어나면 원래대로 돌아옵니다. 앱이 "이 칸은 비밀번호"라고 알려 줄 때 동작하므로, 알려 주지 않는 앱에서는 감지되지 않습니다(사용자 매뉴얼 4.4 참고).

  • 자동 영문 전환에 수정자 조합: key:Ctrl+B 같은 조합을 트리거로 쓸 수 있습니다. tmux prefix 처럼 조합키를 쓰는 환경을 위해, 전환하면서 그 키는 앱에 그대로 전달합니다.

  • 전환 소리 알림: 한/영 모드가 바뀔 때 짧은 비프로 알려 줍니다(한글 880Hz, 영문 440Hz). 외부 라이브러리 없이 동작하고 입력을 지연시키지 않습니다. 설정에서 끌 수 있습니다.

  • 키 자동 반복 무시: 키를 오래 눌러 생기는 자동 반복을 무시합니다. 한/영 토글 키와 한글 모드 문자 키만 대상이고 백스페이스·방향키는 그대로 둡니다. 손을 빨리 떼기 어려운 사용자를 위한 기능으로, 기본값은 꺼짐입니다.

  • 자판 스튜디오 · 타자 연습: 자판을 보고 편집하는 도구와, 자판별로 속도·정확도를 재는 타자 연습 도구가 추가됐습니다(리눅스).

  • 앱 고유 아이콘: 인디케이터·설정·자판 스튜디오·타자 연습이 각자 아이콘을 갖고, 앱 ID 가 역DNS 명명으로 통일돼 GNOME 작업표시줄·오버뷰에 제대로 표시됩니다. 설정 앱은 Slint 기반이라 GTK 의 application_id 에 해당하는 것이 없어 창 app_id 가 비어 있었는데, winit 백엔드에 직접 지정해 맞췄습니다. Windows 에서도 실행 파일에 아이콘 리소스를 넣어 작업표시줄·탐색기·시작 메뉴에 제 아이콘이 뜹니다.

달라진 점

  • 설정 앱이 둘로 나뉩니다: 새 Slint 앱이 unim-settings 이름을 넘겨받고, 기존 GTK4 앱은 unim-settings-gtk 로 개명돼 당분간 함께 배포됩니다(추후 퇴역). 데스크톱 메뉴에는 Slint 앱만 나오고, 모든 컴포넌트의 "설정 열기"가 새 앱을 가리킵니다.

  • deb 패키지 11종으로 개편: Slint 설정 앱이 unim-settings 패키지로 독립하고, 자판 스튜디오·타자 연습이 새 패키지로 추가됐습니다. 인디케이터·팝업 서비스·레거시 GTK 다이얼로그는 unim-desktop 에 묶였습니다.

  • 자판 스튜디오 재설계: 좌측 사이드바 + 2탭 구성이 헤더 3단 드롭다운(언어 › 출처 › 자판) + 4탭으로 바뀌었습니다. 빌트인 자판은 "다른 이름으로 저장"만 가능하고, 사용자 자판은 제자리에 저장됩니다.

  • 자판 목록을 실제 등록된 프로필에서 열거: 고정된 4종 목록 대신 등록된 프로필을 열거해, 안마태와 사용자 자판이 이름으로 표시되고 모아치기 관련 UI 도 함께 켜집니다.

  • GNOME 확장 아이콘 정비: 트레이·패널 아이콘을 단색 SVG 세트로 교체하고, 입력기 비활성 상태를 별도 아이콘으로 표시합니다.

  • 잘못된 단축키 표기 경고를 모든 키 설정 칸으로 확대: AutoTypeFix 토글에만 있던 저장 시 검증이 한/영 전환키·한자 키·자동 영문 트리거까지 넓어졌습니다. 엔진이 해석하지 못하는 표기를 넣으면 설정 앱·CLI·데몬 로그 세 곳에서 알려 줍니다. 일부만 무효면 저장은 하되 경고하고, 목록 전체가 무효면 저장을 반려합니다 — 전부 걸러지면 한/영 전환 수단이 통째로 사라지기 때문입니다. 판정이 엔진 한 곳에서 이뤄져 리눅스와 Windows 의 기준이 같습니다.

고쳐짐

  • 도움말이 브라우저 대신 IDE 로 열리던 문제: 트레이·설정 앱·GNOME 확장의 「도움말」이 text/html 기본 핸들러를 따라가는 바람에, VS Code 계열이 text/html 을 잡아 둔 시스템에서는 매뉴얼이 IDE 로 열렸습니다. 이제 기본 웹 브라우저를 먼저 씁니다.

  • 오른쪽 Alt 한/영 토글이 동작하지 않던 문제: 엔진에서는 수정자 판정이 토글 검사보다 먼저 돌았고, GTK·Qt·GNOME 확장은 오른쪽 Alt 를 자체적으로 걸러 데몬까지 오지도 않았습니다. 토글 판정을 데몬으로 일원화해 어디서나 같게 동작합니다. AltGr 레이아웃에는 영향이 없습니다. 다만 토글 순간 앱도 Alt 눌림을 함께 받을 수 있어, 원치 않으면 toggle_keys 에서 빼면 됩니다.

  • GTK/Qt 입력 모듈에서 Super/Meta 조합이 인식되지 않던 문제: 수정자 마스크 비트가 어긋나 key:Super+X 같은 트리거가 이 경로에서 죽어 있었습니다.

  • 순수 Wayland 에서 모든 키가 오독되던 문제: Sway·단독 Hyprland 등에서 프런트엔드가 X11 방식 키코드(raw evdev + 8)를 보내고 데몬은 raw evdev 를 기대해, 사실상 모든 키 조회가 8 만큼 어긋나 있었습니다. GNOME 세션은 확장 경로를 쓰므로 영향이 없었습니다.

  • GNOME Wayland 에서 비밀번호 필드 억제가 동작하지 않던 문제: GNOME 확장의 content-purpose 처리가 빈 껍데기여서, GTK3/4·Chrome 이 전부 이 경로로 수렴하는 GNOME Wayland 에서는 억제가 조용히 무효였습니다. 이제 배선됐고, 포커스를 유지한 채 필드 성격이 바뀌는 경우("비밀번호 표시" 토글 등)까지 추적합니다.

  • XIM 앱에서 확정 직후 다음 글자가 늦게 보이던 문제: Obsidian 등 XIM 경로 앱에서 한 음절이 확정되면, 이어서 누른 자모가 화면에 바로 안 나타나고 자모를 하나 더 눌러야 보였습니다. 0.3.0부터 남아 있던 문제이고, 이제 누르는 즉시 나타납니다. (터미널 등 OVER-THE-SPOT 환경은 원래 정상이었고 그대로입니다.)

  • 조합 중 다른 곳을 클릭하면 글자가 클릭한 자리에 확정되던 문제: Chrome·Obsidian 등에서 한글을 조합하다 같은 입력란의 다른 곳을 클릭하면, 조합 중이던 글자가 원래 자리가 아니라 클릭한 자리에 들어갔습니다. GNOME Wayland·XIM·Qt 경로를 모두 고쳤습니다.

  • XIM 앱에서 조합 중 Enter 를 누르면 줄바꿈이 글자보다 앞에 가던 문제: Obsidian 등 XIM 경로 앱에서 한 글자를 조합하다 Enter 를 누르면 한 뒤에 줄이 바뀌는 대신 줄이 먼저 바뀌고 글자가 그 아래에 놓였습니다. GTK·Qt 경로는 원래 정상이었습니다. 다만 이때 다시 전달되는 Enter 는 수정자를 재현하지 않으므로 Shift+Enter 는 그냥 Enter 로 들어갑니다.

  • 단축키 칸이 존재하지 않는 키를 예시로 안내하던 문제: 안내대로 ScrollLock·Hangul 을 적으면 그 단축키가 조용히 죽었습니다. 실제로 유효한 표기(F10, Korean, Hanja)로 바로잡고, "수정자 조합은 지원하지 않습니다" 라는 옛 설명도 정정했습니다.

  • 단어 모드 음절 강등 안내: 단어 단위 입력이 터미널 등에서 음절 단위로 되돌 때 설정이 고장 난 것으로 오인하지 않도록, 로그([WordGate])와 설정 설명에 예외를 명시했습니다.

Windows

  • TSF 단일 DLL: 언어바, 조합·후보 팝업(한자·특수문자·이모지), AutoTypeFix UI 가 unim_tsf.dll 하나에 통합돼 종전의 별도 도우미 실행 파일을 대체합니다. 리눅스 프런트엔드와 공유 코어는 건드리지 않았습니다.

  • 콘솔·IMM32 앱 한글 조합: WezTerm·텔레그램 등 인라인 조합을 쓰는 앱에서 한글 조합이 복구됐습니다(CUAS 계약 준수).

  • 32비트 앱: 32비트 TSF TIP(unim_tsf32.dll)를 함께 등록해 카카오톡·한컴 등에서 동작합니다. Win11 에서 무의미한 IMM32 .ime 등록은 폐기했습니다.

  • 접근성: 조합·후보 창을 TSF UIA/UILess 로 노출하고, 자동 반복 억제 옵션과 한/영 전환 화면 낭독기 통지를 추가했습니다.

  • MSI 배포: WiX 3.x 기반 빌드 체인을 정비했습니다. MSI 는 별도 CI 에서 빌드되어 deb·rpm 보다 몇 분 늦게 릴리스에 첨부될 수 있습니다 — 설치 스크립트가 체크섬을 못 찾는다고 하면 잠시 후 다시 시도하세요.

내부

  • 공개 C 헤더(unim.h)를 Rust 표면과 동기화하고, 어긋나면 빌드 시 경고하는 가드를 추가했습니다.
  • 자판 스튜디오와 타자 연습이 키보드 위젯 하나를 공유하도록 정리했습니다(중복 3벌 → 1벌).
  • GTK/Qt IM 모듈에서 쓰이지 않던 임베디드 팝업 위젯을 제거했습니다. 팝업은 전부 popup-service 가 맡습니다.
  • .gitattributes(eol=lf)와 .editorconfig 로 줄바꿈을 정규화했습니다.

English

Known issues

  • This release carries no rpm packages. The build was broken, so only the 11 .deb packages and the Windows MSI were published, and one-line installation is unavailable on Fedora and RHEL-family systems. Fixed in 0.4.1.

The release where an input method that only ran on Linux started running on Windows off the same core, installation became a single line, and both platforms got the same settings window.

The v0.4.0 tag published on 2026-07-19 was withdrawn — the MSI release gate was broken by a guids.wxi version mismatch (fixed in 65c66f8). This entry is the valid v0.4.0.

Added

  • One-line install: curl … | bash on Linux, irm … | iex on Windows. The script detects your distribution, downloads the deb or rpm packages, verifies them against SHA256, and installs — and if verification fails it installs nothing and stops. UNIM_VERSION pins a specific version.

  • First-run wizard: Runs automatically the first time you log in after installing and walks you through setting UNIM as the default input method. It does not come back once finished.

  • Settings app rewritten (unim-settings): Moved from GTK4 to Slint, so Linux and Windows share one settings window.

  • Word-unit input: The commit unit can be a word instead of a syllable. Terminals, XIM, and chord layouts fall back to syllable units automatically to avoid misbehavior.

  • AutoTypeFix toggle shortcuts: Toggle all / forward / reverse independently. The all-toggle defaults to Shift+F8; the per-direction toggles are left empty for those who want them. Modifier combinations such as Shift+F8 and Ctrl+Left work, and combinations you did not configure pass straight through to the application.

  • Automatic password-field protection: Entering a password field switches to English mode and keeps the keys you type out of buffers, undo, and the learning dictionary. Leaving the field restores the previous state. It relies on the app reporting "this field is a password", so apps that do not report it are not detected (see user manual 4.4).

  • Modifier combinations for auto-English switching: Triggers like key:Ctrl+B are now accepted. For environments that need a combo key, such as the tmux prefix, the key is passed through to the application as the mode switches.

  • Mode-switch beep: A short beep when the Korean/English mode changes (880 Hz Korean, 440 Hz English). No external library, no added input latency. Can be turned off in settings.

  • Key auto-repeat suppression: Ignores the auto-repeat from holding a key down. It covers the Korean/English toggle key and character keys in Korean mode, leaving Backspace and arrow keys alone. Meant for users who cannot release keys quickly; off by default.

  • Keymap Studio and Typing Practice: A tool for viewing and editing layouts, and one for measuring speed and accuracy per layout (Linux).

  • Distinct app icons: The indicator, settings, Keymap Studio, and Typing Practice each have their own icon, and app IDs follow reverse-DNS naming so they display correctly in the GNOME taskbar and Overview. The settings app is Slint-based and has no equivalent of GTK's application_id, so its window carried no app_id; it is now set explicitly on the winit backend. On Windows the executable embeds an icon resource, so the taskbar, Explorer, and Start menu show the real icon too.

Changed

  • The settings app is now two apps: The new Slint app takes over the unim-settings name and the previous GTK4 app is renamed unim-settings-gtk, shipped alongside for now (to be retired later). Only the Slint app appears in the desktop menu, and every component's "Open settings" points at it.

  • Reorganized into 11 deb packages: The Slint settings app becomes its own unim-settings package, and Keymap Studio and Typing Practice are added as new packages. The indicator, popup service, and legacy GTK dialog are bundled into unim-desktop.

  • Keymap Studio redesigned: The left sidebar + two tabs became a three-step header dropdown (Language › Source › Layout) plus four tabs. Built-in layouts allow only "Save As"; your own layouts save in place.

  • Layout list enumerated from registered profiles: Instead of a fixed set of four, the actually registered profiles are enumerated — so Ahnmatae and user layouts appear by name and the chord-related UI turns on with them.

  • GNOME extension icons refreshed: Tray...

Read more