What's new in 0.1.5
Maintenance release. No intentional user-facing behavior change.
@Prefproperty wrapper — PreferencesStore's repeatedobjectWillChange+UserDefaultsset ritual lives in one place. Callers still see the same typed properties;hotKeystays atomic and hand-written.
Install
- Download
halfFull.zipbelow, unzip, and draghalfFull.appinto/Applications. - Launch the app. Grant Accessibility in System Settings → Privacy & Security → Accessibility.
- Press ⌥F in any text field — half-width becomes full-width.
First launch — macOS Gatekeeper
This release is ad-hoc signed (no paid Apple Developer ID). On first launch macOS will block it as "from an unidentified developer." This is expected. Two ways to allow it:
Option A — one Terminal command (fastest)
xattr -d com.apple.quarantine /Applications/halfFull.appThen launch normally.
Option B — click through the dialogs
- Open
halfFull.app. macOS shows "halfFull.app cannot be opened" ⇒ click Done (NOT "Move to Trash"). - Open System Settings → Privacy & Security, scroll down to Security. You'll see "halfFull.app was blocked..." with an Open Anyway button on the right ⇒ click it.
- A second dialog asks for confirmation ⇒ click Open Anyway again.
The app launches. Subsequent launches are unblocked.
Updating from an earlier 0.1.x
When you replace halfFull.app with this build, macOS may silently drop your previous Accessibility grant (a side effect of ad-hoc signing — every build has a different code-signature hash, and TCC keys the grant by that hash).
halfFull detects this automatically. Reopen the updated app and you'll see an amber banner saying "Permission was reset by an update" with a single Recover Permission button — click it, then toggle halfFull back on in the System Settings sheet that opens. Done. No Terminal commands needed.
What it does
- Global hotkey ⌥F works in any text field, system-wide.
- Focus guard — refuses to fire outside a real text-editing element (no destructive ⌘A in Finder).
- AX direct edit when possible — your clipboard isn't touched.
- Smart mode auto-detects the conversion direction; or force half→full / full→half from the menu.
Built for filling Japanese forms that demand 全角 (full-width) input — see halffull.taresky.me for the demo.
macOS 13+, universal (arm64 + x86_64). Free for personal use under PolyForm Noncommercial 1.0.0.
中文
0.1.5 更新内容
维护性发布,无刻意的用户侧行为变化。
@Prefproperty wrapper — PreferencesStore 里重复的objectWillChange+UserDefaults写入仪式收进一处。调用方仍是同样的 typed properties;hotKey保持原子写入、手写实现。
安装
- 下载下方的
halfFull.zip,解压,把halfFull.app拖到/Applications。 - 启动 app。在「系统设置 → 隐私与安全 → 辅助功能」里授权。
- 在任意文本框按 ⌥F——半角立刻变全角。
首次启动 — macOS Gatekeeper
本版本是 ad-hoc 签名(未使用付费 Apple Developer ID)。首次启动会被 macOS 以「来自未验证开发者」为由拦截。这是正常的。两种放行方式:
方式 A —— Terminal 一行命令(最快)
xattr -d com.apple.quarantine /Applications/halfFull.app之后正常启动。
方式 B —— 点击对话框流程
- 打开
halfFull.app。macOS 弹出**「无法打开"halfFull.app"」**对话框 ⇒ 点 「完成」(不是「移到废纸篓」)。 - 打开**「系统设置 → 隐私与安全」**,往下滚到「安全性」一节。你会看到 「已阻止"halfFull.app"以保护 Mac」,右侧有 「仍要打开」 按钮 ⇒ 点它。
- 第二个确认对话框 ⇒ 再点 「仍要打开」。
App 启动。之后启动不再被拦。
从早期 0.1.x 升级
当你用此版本替换 halfFull.app 时,macOS 可能会静默清除你之前的「辅助功能」授权(这是 ad-hoc 签名的副作用——每次构建二进制哈希都会变,而 TCC 用该哈希作为授权键)。
halfFull 会自动检测这种情况。 重新打开更新后的 app,你会看到一条琥珀色提示 「Permission was reset by an update(授权被更新清除了)」 和一个 「Recover Permission」 按钮——点一下,然后在弹出的系统设置里把 halfFull 重新打开即可。完成。无需任何 Terminal 命令。
功能
- 全局快捷键 ⌥F 在任何 app 的任何文本框里都生效。
- 焦点守卫——只在真实文本编辑元素里触发,Finder 里不会乱按 ⌘A。
- 优先用 Accessibility 直写——不污染你的剪贴板。
- 智能模式自动判断转换方向;也可在菜单里强制半→全 / 全→半。
为日本网站强制 全角 输入的表单设计——示例见 halffull.taresky.me。
macOS 13+,通用二进制(arm64 + x86_64)。个人用途免费,使用 PolyForm Noncommercial 1.0.0 协议。
日本語
0.1.5 の新機能
メンテナンスリリース。意図したユーザー向けの挙動変更はありません。
@Prefプロパティラッパ — PreferencesStore の繰り返しobjectWillChange+UserDefaults書き込みを一箇所に集約。呼び出し側の型付きプロパティは同じまま。hotKeyは原子的・手書きのまま。
インストール
- 下の
halfFull.zipをダウンロード、解凍してhalfFull.appを/Applicationsにドラッグ。 - アプリを起動。「システム設定 → プライバシーとセキュリティ → アクセシビリティ」で許可。
- テキストフィールドで ⌥F を押す——半角が全角に変わります。
初回起動 — macOS Gatekeeper
このリリースは ad-hoc 署名(有料 Apple Developer ID なし)です。初回起動時 macOS は「開発元未確認」としてブロックします。想定内です。回避方法は 2 つ:
方法 A — ターミナル 1 行(最速)
xattr -d com.apple.quarantine /Applications/halfFull.appその後通常通り起動。
方法 B — ダイアログを順にクリック
halfFull.appを開く。macOS に 「"halfFull.app" は開けません」 と表示 ⇒ 「完了」 をクリック(「ゴミ箱に入れる」ではない)。- 「システム設定 → プライバシーとセキュリティ」 を開き、「セキュリティ」セクションまでスクロール。「"halfFull.app" はブロックされました」 と表示され右側に 「このまま開く」 ボタン ⇒ クリック。
- 確認ダイアログが表示 ⇒ もう一度 「このまま開く」 をクリック。
アプリが起動します。以降の起動はブロックされません。
以前の 0.1.x からのアップデート
halfFull.app を新しいバージョンに置き換えると、macOS が「アクセシビリティ」の許可を静かに失効させることがあります(ad-hoc 署名の副作用——ビルドごとにコード署名ハッシュが変わり、TCC はそのハッシュをキーに許可を管理しているため)。
halfFull はこれを自動検知します。 更新版を再起動すると、「Permission was reset by an update(アップデートで許可がリセットされました)」 という琥珀色のバナーと 「Recover Permission」 ボタンが表示されます——クリックして、開かれるシステム設定で halfFull を再度オンにするだけ。Terminal 不要。
機能
- グローバルホットキー ⌥F はどのアプリのテキストフィールドでも動作。
- フォーカスガード——本物のテキスト編集要素以外では発火しません(Finder で ⌘A 暴発なし)。
- 可能な限り Accessibility 直接編集——クリップボードに触れません。
- Smart モードが変換方向を自動判定;メニューから半→全 / 全→半 を強制も可。
全角入力を要求する日本のフォーム向けに設計——halffull.taresky.me でデモを参照。
macOS 13+、ユニバーサルバイナリ(arm64 + x86_64)。個人用は無料、PolyForm Noncommercial 1.0.0 ライセンスです。