id = "rime" name = "RIME" homepage = "https://rime.im" description = "Rime Input Method Engine, rimes with your keystrokes." icon = "SimpleIcons:rime" # Rime is an input method, not a command a user types. `detect` therefore # carries the bundle identifier of its macOS frontend, Squirrel, read off this # machine: ~/Library/Preferences holds # com.googlecode.rimeime.inputmethod.Squirrel.plist next to a populated # ~/Library/Rime. The Linux (ibus, fcitx) and Windows (Weasel) frontends have no # user-typed binary either. executables = [] [installation] macos_bundle_ids = ["com.googlecode.rimeime.inputmethod.Squirrel"] [dotfiles] # The Rime wiki's customization guide gives the user folder per platform, in a # header it repeats above every recipe # (https://github.com/rime/home/wiki/CustomizationGuide): # # # 保存到: # # ~/.config/ibus/rime (linux) # # ~/Library/Rime (macos) # # %APPDATA%\Rime (windows) # # Read back on this machine, ~/Library/Rime holds exactly that shape: # default.yaml, squirrel.yaml and the *.schema.yaml files a user edits or drops # in, alongside installation.yaml, a luna_pinyin.userdb/ directory and the # compiled *.bin tables. # # Three literal roots rather than one placeholder: the macOS folder is under # ~/Library and not ~/.config, the Linux one is nested under the ibus frontend's # own directory, and the Windows one is %APPDATA%. They are three places, not # three spellings of one. paths = [ "~/Library/Rime/", "~/.config/ibus/rime/", "%APPDATA%/Rime/", ] # Four kinds of thing in the user folder are not the user's configuration: # # build/ the deployment output — librime recompiles every schema # into this directory on each redeploy. # *.bin where older releases put those same compiled prism, table # and reverse-lookup files, directly in the user folder (this # machine's 2018-era folder still has them). # *.userdb/ the learned-phrase database, a binary LevelDB store that # Rime merges through its own sync rather than by copying. # installation.yaml # the per-installation record: the wiki describes editing it # to set installation_id ("因爲 Rime 要以這個 ID 爲名創建文件夾", # the folder name this machine syncs under) and sync_dir (an # absolute path on this machine, e.g. sync_dir: # '/Users/fred/Dropbox/RimeSync'). Every key in it belongs to # one installation, so the file is dropped rather than # filtered. # # Each carve-out is repeated under every spelling of the folder, or the copy one # tree drops comes back from another. exclude = [ "~/Library/Rime/build/", "~/.config/ibus/rime/build/", "%APPDATA%/Rime/build/", "~/Library/Rime/sync/", "~/.config/ibus/rime/sync/", "%APPDATA%/Rime/sync/", "~/Library/Rime/installation.yaml", "~/.config/ibus/rime/installation.yaml", "%APPDATA%/Rime/installation.yaml", "~/Library/Rime/*.userdb/", "~/.config/ibus/rime/*.userdb/", "%APPDATA%/Rime/*.userdb/", "~/Library/Rime/*.bin", "~/.config/ibus/rime/*.bin", "%APPDATA%/Rime/*.bin", ] # No credential: a Rime user folder is input schemas, dictionaries and key # bindings. sync_dir names a folder the user syncs through Dropbox or a USB # stick, but it is a path, not a secret, and it is excluded above anyway. secret = [] # No machine_lines: the *.custom.yaml patches are the whole reason to carry the # folder — candidate counts, switch defaults, fuzzy-pinyin rules, fonts and # colour schemes. The one per-machine file is installation.yaml, which is # excluded rather than filtered.