1User customization file 2 3You can customize uim settings by two alternative ways. 4 5 - by uim-pref GUI 6 - create the file ~/.uim and write configuration forms by hand 7 8This file describes the latter way. 9 10 11* Precedence of settings 12 13 - The ~/.uim overrides the settings configured by uim-pref. Remove 14 conflicting setting from ~/.uim if you prefer setting by GUI 15 16 - If ~/.uim does not exist, ${datadir}/uim/default.scm will be 17 loaded as default. Since the default.scm is never modified by 18 uim, system integrator can modify it as they want. 19 20 21* Special settings that cannot be configured in ~/.uim 22 23 Overriding following variables in ~/.uim does not take 24 effect. Configure them in uim-pref or edit installed-modules.scm 25 directly. 26 27 enable-lazy-loading? 28 enabled-im-list 29 installed-im-module-list 30 31 32* Overriding lazy-loaded settings 33 34 The lazy-loading feature introduced in uim 0.4.6 has caused the 35 problem that the entity to be overridden is not loaded at loading 36 ~/.uim. 37 38 For example, following configuration causes the error because 39 japanese.scm is not loaded at loading ~/.uim. 40 41 (set! ja-rk-rule-basic (cons '(((" ") . ()) (" " " " " ")) 42 ja-rk-rule-basic)) 43 (ja-rk-rule-update) 44 45 To resolve it, require the file explicitly. 46 47 (require "japanese.scm") 48 49 (set! ja-rk-rule-basic (cons '(((" ") . ()) (" " " " " ")) 50 ja-rk-rule-basic)) 51 (ja-rk-rule-update) 52 53 54 If you need whole part of an input method, use 'require-module' 55 instead of ordinary 'require'. This is required for internal IM 56 management. 57 58 wrong: 59 60 (require "pyload.scm") 61 (require "viqr.scm") 62 (require "anthy.scm") 63 (require-dynlib "anthy") 64 65 correct: 66 67 (require-module "pyload") 68 (require-module "viqr") 69 (require-module "anthy") 70 71 72* Configuring key bindings 73 74 To configure key bindings in ~/.uim, write 'define-key' forms. See 75 also doc/KEY for further information 76 77 Be careful about following two issues. 78 79 - Corresponding input method must be loaded by 'require-module' 80 before define-key. This implies that define-key described in 81 ~/.uim disables lazy-loading for the input method. 82 83 (require-module "skk") 84 (define-key skk-cancel-key? "<Control>[") 85 86 - Meaning of the key expression such as "<Control>a" differs 87 between define-key and uim-pref. 88 89 "<Control>a" is interpreted as case sensitive and shift 90 insensitive by define-key. But uim-pref recognizes it as case 91 insensitive and shift sensitive. The different rule of uim-pref 92 is introduced to unify "<Control>a" and "<Control>A" regardless 93 of caps lock status. 94