[uim-commit] r292 - in trunk: scm test uim

yamaken@freedesktop.org yamaken@freedesktop.org
Fri Jan 14 15:15:19 PST 2005


Author: yamaken
Date: 2005-01-14 15:15:16 -0800 (Fri, 14 Jan 2005)
New Revision: 292

Removed:
   trunk/scm/custom-vars.scm
   trunk/scm/generic-key.scm
Modified:
   trunk/scm/Makefile.am
   trunk/scm/anthy-custom.scm
   trunk/scm/anthy.scm
   trunk/scm/canna-custom.scm
   trunk/scm/canna.scm
   trunk/scm/generic-custom.scm
   trunk/scm/generic-key-custom.scm
   trunk/scm/generic.scm
   trunk/scm/im-custom.scm
   trunk/scm/im.scm
   trunk/scm/prime-custom.scm
   trunk/scm/prime.scm
   trunk/scm/skk-custom.scm
   trunk/scm/skk.scm
   trunk/scm/spellcheck-custom.scm
   trunk/scm/spellcheck.scm
   trunk/test/test-im.scm
   trunk/uim/uim.c
Log:
* This commit divides custom-vars.scm into appropriate files with
  per-IM basis

* uim/uim.c
  - (uim_init_scm):
    * Load direct.scm by require-module instead of
      uim_scm_require_file()
    * Remove (require-custom "custom-vars.scm")

* scm/custom-vars.scm
  - Remove obsolete file
* scm/Makefile.am
  - (SCM_FILES):
    * Remove custom-vars.scm and generic-key.scm
    * Add skk-custom.scm, generic-key-custom.scm, prime-custom.scm,
      generic-custom.scm, anthy-custom.scm, im-custom.scm,
      spellcheck-custom.scm, and canna-custom.scm
    * Reordered as appropriately

* scm/generic-key.scm
  - Remove obsolete file
* scm/generic-key-custom.scm
  - Moved generic-key custom variables from custom-vars.scm

* scm/im.scm
  - Load im-custom.scm by require-custom
* scm/im-custom.scm
  - Moved 'global' custom variables from custom-vars.scm
  - (custom custom-preserved-default-im-name): Support null im-list at
    startup of libuim

* scm/generic.scm
  - Load generic-custom.scm by require-custom
  - (generic-use-candidate-window?, generic-candidate-op-count,
    generic-nr-candidate-max,
    generic-commit-candidate-by-numeral-key?): Remove to replace with
    corresponding custom variables
* scm/generic-custom.scm
  - Moved generic custom variables from custom-vars.scm

* scm/anthy.scm
  - Load anthy-custom.scm by require-custom
  - (anthy-use-candidate-window?, anthy-candidate-op-count,
    anthy-nr-candidate-max, anthy-show-segment-separator?,
    anthy-select-candidate-by-numeral-key?, anthy-segment-separator):
    Remove to replace with corresponding custom variables
  - Replace label-name and short-desc of register-im with the
    equivalent variables defined in anthy-custom.scm
* scm/anthy-custom.scm
  - Moved anthy custom variables from custom-vars.scm

* scm/canna.scm
  - Load canna-custom.scm by require-custom
  - (canna-use-candidate-window?, canna-candidate-op-count,
    canna-nr-candidate-max, canna-show-segment-separator?,
    canna-segment-separator): Remove to replace with corresponding
    custom variables
  - (canna-server-name): Move to canna-custom.scm
  - Replace label-name and short-desc of register-im with the
    equivalent variables defined in canna-custom.scm
* scm/canna-custom.scm
  - Moved canna custom variables from custom-vars.scm
  - (canna-server-name): Raw variable moved from canna.scm

* scm/skk.scm
  - Load skk-custom.scm by require-custom
  - (skk-dic-file-name, skk-personal-dic-filename,
    skk-uim-personal-dic-filename, skk-use-candidate-window?,
    skk-candidate-op-count, skk-nr-candidate-max,
    skk-use-recursive-learning?, skk-egg-like-newline?,
    skk-commit-newline-explicitly?, skk-style, skk-use-with-vi?,
    skk-use-numeric-conversion?, skk-commit-candidate-by-label-key?):
    Remove to replace with corresponding custom variables
  - Replace label-name and short-desc of register-im with the
    equivalent variables defined in skk-custom.scm
* scm/skk-custom.scm
  - Moved skk custom variables from custom-vars.scm
  - (custom 'skk-commit-newline-explicitly?): Add a comment

* scm/prime.scm
  - Load prime-custom.scm by require-custom
  - (prime-nr-candidate-max, prime-always-show-window?,
    prime-auto-register-mode?, prime-pseudo-mode-cursor?,
    prime-char-annotation?, prime-custom-display-usage?,
    prime-mask-pending-preedit?): Remove to replace with corresponding
    custom variables
  - (prime-dont-use-numeral-key-to-select-cand): Add a comment
  - Replace label-name and short-desc of register-im with the
    equivalent variables defined in prime-custom.scm
* scm/prime-custom.scm
  - Moved prime custom variables from custom-vars.scm
  - (custom 'prime-custom-display-usage?): New custom variable

* scm/spellcheck.scm
  - Load spellcheck-custom.scm by require-custom
  - (spell-use-candidate-window?, spell-candidate-op-count,
    spell-preedit-immididate-commit?, spell-always-show-window?,
    spell-on-key?): Remove to replace with corresponding custom
    variables
  - Replace label-name and short-desc of register-im with the
    equivalent variables defined in spellcheck-custom.scm
* scm/spellcheck-custom.scm
  - Moved spellcheck custom variables from custom-vars.scm
  - Uncomment all disabled custom variables
  - (spell-on-key): New custom variable

* test/test-im.scm
  - (testcase im im-management, test register-im): Follow the addition
    of im-label-name in r282 of new repository


Modified: trunk/scm/Makefile.am
===================================================================
--- trunk/scm/Makefile.am	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/Makefile.am	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,29 +1,27 @@
 EXTRA_DIST = $(SCM_FILES)
 scmdir = $(datadir)/uim
 scm_DATA = $(SCM_FILES)
-SCM_FILES = im.scm util.scm loader.scm\
- default.scm generic.scm key.scm generic-key.scm\
- japanese.scm japanese-azik.scm japanese-kana.scm\
- ustr.scm action.scm load-action.scm i18n.scm \
- rk.scm\
+SCM_FILES = plugin.scm im.scm im-custom.scm loader.scm default.scm \
+ util.scm key.scm ustr.scm action.scm load-action.scm i18n.scm \
+ uim-sh.scm custom.scm custom-rt.scm custom-vars.scm \
+ rk.scm \
  direct.scm \
- skk.scm skk-editor.scm\
- anthy.scm\
- prime.scm\
- canna.scm\
- PY.scm\
- tcode.scm\
- hangul.scm hangul2.scm hangul3.scm\
- ipa.scm\
- viqr.scm\
- tutcode.scm\
- spellcheck.scm\
+ generic.scm generic-custom.scm generic-key-custom.scm \
+ pyload.scm PY.scm pyunihan.scm pinyin-big5.scm \
+ japanese.scm japanese-azik.scm japanese-kana.scm \
+ anthy.scm anthy-custom.scm \
+ canna.scm canna-custom.scm \
+ prime.scm prime-custom.scm \
+ skk.scm skk-editor.scm skk-custom.scm \
+ tcode.scm \
+ tutcode.scm \
+ hangul.scm hangul2.scm hangul3.scm romaja.scm \
+ viqr.scm \
+ ipa.scm \
  latin.scm \
- zaurus.scm \
- romaja.scm pyunihan.scm pyload.scm m17nlib.scm \
- uim-sh.scm custom.scm custom-rt.scm custom-vars.scm \
- pinyin-big5.scm \
- plugin.scm
+ m17nlib.scm \
+ spellcheck.scm spellcheck-custom.scm \
+ zaurus.scm
 
 if COMPAT_TABLE
 SCM_FILES += hk.scm

Modified: trunk/scm/anthy-custom.scm
===================================================================
--- trunk/scm/anthy-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/anthy-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; anthy-custom.scm: Customization variables for anthy.scm
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,292 +29,9 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
 (define anthy-im-label-name (N_ "Anthy"))
 (define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
 
@@ -357,339 +74,3 @@
   '(string ".*")
   (_ "Segment separator")
   (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: trunk/scm/anthy.scm
===================================================================
--- trunk/scm/anthy.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/anthy.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -35,17 +35,11 @@
 (require "japanese.scm")
 (require "japanese-kana.scm")
 (require "japanese-azik.scm")
-(require "generic-key.scm")
+(require-custom "generic-key-custom.scm")
+(require-custom "anthy-custom.scm")
+;;(require-custom "anthy-key-custom.scm")
 
-;;; user configs
 
-(define anthy-use-candidate-window? #t)
-(define anthy-candidate-op-count 1)
-(define anthy-nr-candidate-max 10)
-(define anthy-show-segment-separator? #f)
-(define anthy-select-candidate-by-numeral-key? #f)
-(define anthy-segment-separator "|")
-
 ;; key defs
 (define-key anthy-on-key? '("<Control>j" "<Control>J" generic-on-key?))
 (define-key anthy-latin-key? '("<Control>j" "<Control>J" generic-off-key?))
@@ -985,8 +979,8 @@
  'anthy
  "ja"
  "EUC-JP"
- (N_ "Anthy")
- (N_ "Japanese Kana Kanji Conversion Engine, Anthy")
+ anthy-im-label-name
+ anthy-im-short-desc
  #f
  anthy-init-handler
  anthy-release-handler

Modified: trunk/scm/canna-custom.scm
===================================================================
--- trunk/scm/canna-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/canna-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; canna-custom.scm: Customization variables for canna.scm
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,339 +29,9 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
 (define canna-im-label-name (N_ "Canna"))
 (define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
 
@@ -402,6 +72,12 @@
 ;;
 ;; canna-server-name
 ;;
+
+; TODO: support cannaserver on other host
+(define canna-server-name #f)
+;(define canna-server-name "localhost")
+;(define canna-server-name "127.0.0.1")
+
 (define-custom-group 'cannaserver
 		     (_ "Canna server")
 		     (_ "long description will be here."))
@@ -468,228 +144,3 @@
 (custom-add-hook 'custom-preserved-canna-server-name
 		 'custom-literalize-hooks
 		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: trunk/scm/canna.scm
===================================================================
--- trunk/scm/canna.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/canna.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -32,20 +32,13 @@
 (require "japanese.scm")
 (require "japanese-kana.scm")
 (require "japanese-azik.scm")
-(require "generic-key.scm")
+(require-custom "generic-key-custom.scm")
+(require-custom "canna-custom.scm")
+;;(require-custom "canna-key-custom.scm")
 
 ;;; user configs
 
 (define canna-init-lib-ok? #f)
-(define canna-use-candidate-window? #t)
-(define canna-candidate-op-count 1)
-(define canna-nr-candidate-max 10)
-(define canna-show-segment-separator? #f)
-(define canna-segment-separator "|")
-; TODO: support cannaserver on other host
-(define canna-server-name #f)
-;(define canna-server-name "localhost")
-;(define canna-server-name "127.0.0.1")
 
 ;;; Key definitions
 (define-key canna-on-key? '("<Control>\\" generic-on-key?))
@@ -823,8 +816,8 @@
        'canna
        "ja"
        "EUC-JP"
-       (N_ "Canna")
-       (N_ "Japanese Kana Kanji Conversion Engine, Canna")
+       canna-im-label-name
+       canna-im-short-desc
        #f
        canna-init-handler
        canna-release-handler

Deleted: trunk/scm/custom-vars.scm
===================================================================
--- trunk/scm/custom-vars.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/custom-vars.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,695 +0,0 @@
-;;; custom-vars.scm: Customization variables
-;;;
-;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
-;;;
-;;; All rights reserved.
-;;;
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-;;; 1. Redistributions of source code must retain the above copyright
-;;;    notice, this list of conditions and the following disclaimer.
-;;; 2. Redistributions in binary form must reproduce the above copyright
-;;;    notice, this list of conditions and the following disclaimer in the
-;;;    documentation and/or other materials provided with the distribution.
-;;; 3. Neither the name of authors nor the names of its contributors
-;;;    may be used to endorse or promote products derived from this software
-;;;    without specific prior written permission.
-;;;
-;;; THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-;;; SUCH DAMAGE.
-;;;;
-
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
-(require "i18n.scm")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: trunk/scm/generic-custom.scm
===================================================================
--- trunk/scm/generic-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/generic-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; generic-custom.scm: Customization variables for generic.scm
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,610 +29,9 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
 (define-custom-group 'other-ims
 		     (_ "Other input methods")
 		     (_ "long description will be here."))
@@ -655,41 +54,8 @@
   (_ "Number of candidates in candidate window at a time")
   (_ "long description will be here."))
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(define-custom 'generic-commit-candidate-by-numeral-key? #t
+  '(other-ims)
+  '(boolean)
+  (_ "Select candidate by numeral keys")
+  (_ "long description will be here."))

Modified: trunk/scm/generic-key-custom.scm
===================================================================
--- trunk/scm/generic-key-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/generic-key-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; generic-key-custom.scm: Customization variables for generic key bindings
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,176 +29,9 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
 (define-custom-group 'global-keys
 		     (_ "Global key bindings")
 		     (_ "long description will be here."))
@@ -310,386 +143,3 @@
 	       '(key)
 	       (_ "[Global] return")
 	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Deleted: trunk/scm/generic-key.scm
===================================================================
--- trunk/scm/generic-key.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/generic-key.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,49 +0,0 @@
-;;;
-;;; Copyright (c) 2003,2004 uim Project http://uim.freedesktop.org/
-;;;
-;;; All rights reserved.
-;;;
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-;;; 1. Redistributions of source code must retain the above copyright
-;;;    notice, this list of conditions and the following disclaimer.
-;;; 2. Redistributions in binary form must reproduce the above copyright
-;;;    notice, this list of conditions and the following disclaimer in the
-;;;    documentation and/or other materials provided with the distribution.
-;;; 3. Neither the name of authors nor the names of its contributors
-;;;    may be used to endorse or promote products derived from this software
-;;;    without specific prior written permission.
-;;;
-;;; THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-;;; SUCH DAMAGE.
-;;;;
-
-(define-key generic-begin-conv-key? " ")
-(define-key generic-next-candidate-key? '(" " "down" "<Control>n" "<Control>N"))
-(define-key generic-prev-candidate-key? '("up" "<Control>p" "<Control>P"))
-(define-key generic-next-page-key? "next")
-(define-key generic-prev-page-key? "prior")
-(define-key generic-return-key? '("return" "<Control>m" "<Control>M"))
-(define-key generic-commit-key? '("<Control>j" "<Control>J" generic-return-key?))
-(define-key generic-cancel-key? '("escape" "<Control>g" "<Control>G"))
-(define-key generic-backspace-key? '("backspace" "<Control>h" "<Control>H"))
-(define-key generic-delete-key? '("delete" "<Control>d" "<Control>D"))
-(define-key generic-kill-key? '("<Control>k" "<Control>K"))
-(define-key generic-kill-backward-key? '("<Control>u" "<Control>U"))
-(define-key generic-go-left-key? '(left-key? "<Control>b" "<Control>B"))
-(define-key generic-go-right-key? '(right-key? "<Control>f" "<Control>F"))
-(define-key generic-beginning-of-preedit-key? '("home" "<Control>a" "<Control>A"))
-(define-key generic-end-of-preedit-key? '("end" "<Control>e" "<Control>E"))
-;;
-(define-key generic-on-key? '("zenkaku-hankaku" "<Shift> "))
-(define-key generic-off-key? '("zenkaku-hankaku" "<Shift> "))

Modified: trunk/scm/generic.scm
===================================================================
--- trunk/scm/generic.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/generic.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -30,15 +30,10 @@
 
 (require "util.scm")
 (require "rk.scm")
-(require "generic-key.scm")
+(require-custom "generic-key-custom.scm")
+(require-custom "generic-custom.scm")
 
-;;; user configs
 
-(define generic-use-candidate-window? #t)
-(define generic-candidate-op-count 1)
-(define generic-nr-candidate-max 10)
-(define generic-commit-candidate-by-numeral-key? #t)
-
 ;; widgets and actions
 
 ;; widgets

Modified: trunk/scm/im-custom.scm
===================================================================
--- trunk/scm/im-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/im-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; im-custom.scm: Customization variables for im.scm
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,16 +29,8 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Global
-
 (define custom-im-list-as-choice-rec
   (lambda (lst)
     (reverse (map (lambda (im)
@@ -70,7 +62,9 @@
   (_ "Specify default IM")
   (_ "long description will be here."))
 
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
+(define-custom 'custom-preserved-default-im-name
+  (and (not (null? im-list))
+       (im-name (find-default-im #f)))
   '(global default-im-name)
   (cons
    'choice
@@ -194,502 +188,3 @@
 	      (_ "Right end of preedit area")))
   (_ "Candidate window position")
   (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: trunk/scm/im.scm
===================================================================
--- trunk/scm/im.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/im.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -287,3 +287,4 @@
     (invoke-handler im-set-candidate-index-handler id idx)))
 
 (require "key.scm")
+(require-custom "im-custom.scm")

Modified: trunk/scm/prime-custom.scm
===================================================================
--- trunk/scm/prime-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/prime-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; prime-custom.scm: Customization variables for prime.scm
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,544 +29,9 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
 (define prime-im-label-name (N_ "PRIME"))
 (define prime-im-short-desc (N_ "Japanese predictable input method"))
 
@@ -617,6 +82,13 @@
   (_ "long description will be here."))
 
 
+;; If #t a candidate window displays usage examples of candidate words.
+(define-custom 'prime-custom-display-usage? #t
+  '(prime)
+  '(boolean)
+  (_ "Show usage examples of candidate words")
+  (_ "long description will be here."))
+
 (define-custom 'prime-mask-pending-preedit? #f
   '(prime)
   '(boolean)
@@ -628,68 +100,3 @@
 ;  '(boolean)
 ;  "Use numeral key to select candidate directly"
 ;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: trunk/scm/prime.scm
===================================================================
--- trunk/scm/prime.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/prime.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -43,21 +43,14 @@
 ;;    ÆɤßÆþÎϾõÂÖ,ñ¸ìÆþÎϾõÂÖ
 ;;
 
-(require "japanese.scm")
-(require "generic-key.scm")
 (require "util.scm")
+(require "japanese.scm")
+(require-custom "generic-key-custom.scm")
+(require-custom "prime-custom.scm")
+;;(require-custom "prime-key-custom.scm")
 
 ;; configs
-(define prime-nr-candidate-max 10)
-(define prime-always-show-window? #t)
-(define prime-auto-register-mode? #t)
-(define prime-pseudo-mode-cursor? #f)
-(define prime-char-annotation?    #t)
-;; If #t a candidate window displays usage examples of candidate words.
-(define prime-custom-display-usage? #t)
 
-(define prime-mask-pending-preedit? #f)
-
 (define prime-engine-command-lookup     "lookup_compact")
 ;(define prime-engine-command-lookup-all "lookup_compact")
 (define prime-engine-command-lookup-all "lookup_compact_all")
@@ -65,6 +58,7 @@
 ;(define prime-engine-command-lookup-all "lookup_prefix")
 
 ;; config function
+;; should be replaced with boolean custom variable  -- YamaKen 2005-01-15
 (define prime-dont-use-numeral-key-to-select-cand
   (lambda ()
     (set! prime-cand-select-key?
@@ -1596,8 +1590,8 @@
  'prime
  "ja"
  "EUC-JP"
- (N_ "PRIME")
- (N_ "Japanese predictable input method")
+ prime-im-label-name
+ prime-im-short-desc
  #f
  prime-init-handler
  #f

Modified: trunk/scm/skk-custom.scm
===================================================================
--- trunk/scm/skk-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/skk-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; skk-custom.scm: Customization variables for skk.scm
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,450 +29,9 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
-
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
-
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
-
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
-  '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
-  '(boolean)
-  (_ "Select candidate by numeral keys")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
 (define skk-im-label-name (N_ "SKK"))
 (define skk-im-short-desc (N_ "Uim's SKK like input method"))
 
@@ -518,6 +77,7 @@
   (_ "Use Enter key as just committing (egg-like operation)")
   (_ "long description will be here."))
 
+;; should be removed if there is no usage
 (define-custom 'skk-commit-newline-explicitly? #f
   '(skk advanced)
   '(boolean)
@@ -562,134 +122,3 @@
   '(pathname)
   (_ "Personal dictionary file (dedicated to uim)")
   (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
-  (_ "Always showing candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Modified: trunk/scm/skk.scm
===================================================================
--- trunk/scm/skk.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/skk.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -44,29 +44,11 @@
 ;;
 ;;
 (require "japanese.scm")
-(require "generic-key.scm")
+(require-custom "generic-key-custom.scm")
+(require-custom "skk-custom.scm")
+;;(require-custom "skk-key-custom.scm")
 
-;;; user configs
 
-(define skk-dic-file-name
-  (string-append (sys-datadir) "/skk/SKK-JISYO.L"))
-(define skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo"))
-(define skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo"))
-(define skk-dic-init #f)
-;; configs
-(define skk-use-candidate-window? #t)
-(define skk-candidate-op-count 2)
-(define skk-nr-candidate-max 10)
-(define skk-use-recursive-learning? #t)
-(define skk-egg-like-newline? #f)
-(define skk-commit-newline-explicitly? #f)  ;; turn into #t provided safe behavior
-(define skk-style 'skk-style-ddskk-like)
-(define skk-use-with-vi? #f)
-(define skk-use-numeric-conversion? #t)
-(define skk-commit-candidate-by-label-key? #f)
-
 ;; key defs
 (define-key skk-latin-key? '("l" generic-off-key?))
 (define-key skk-wide-latin-key? "L")
@@ -184,6 +166,8 @@
 (define skk-show-cursor-on-preedit? #f)
 (define skk-show-candidates-with-okuri? #f)
 
+(define skk-dic-init #f)
+
 (define skk-prepare-activation
   (lambda (sc)
     (skk-flush sc)
@@ -1595,8 +1579,8 @@
  'skk
  "ja"
  "EUC-JP"
- (N_ "SKK")
- (N_ "Uim's SKK like input method")
+ skk-im-label-name
+ skk-im-short-desc
  #f
  skk-init-handler
  skk-release-handler

Modified: trunk/scm/spellcheck-custom.scm
===================================================================
--- trunk/scm/spellcheck-custom.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/spellcheck-custom.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -1,4 +1,4 @@
-;;; custom-vars.scm: Customization variables
+;;; spellcheck-custom.scm: Customization variables for spellcheck.scm:
 ;;;
 ;;; Copyright (c) 2003-2005 uim Project http://uim.freedesktop.org/
 ;;;
@@ -29,667 +29,44 @@
 ;;; SUCH DAMAGE.
 ;;;;
 
-;;
-;; All contains of this file may be distributed into appropriate files
-;;
-
 (require "i18n.scm")
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; Global
+;; spellcheck IM is not available yet
 
-(define custom-im-list-as-choice-rec
-  (lambda (lst)
-    (reverse (map (lambda (im)
-		    (let ((sym (im-name im))
-			  (label-name (im-label-name im))
-			  (desc (im-short-desc im)))
-		      (custom-choice-rec-new sym label-name desc)))
-		  lst))))
+(define spell-im-label-name (N_ "Spellcheck"))
+(define spell-im-short-desc (N_ "Spellcheck"))
 
-(define-custom-group 'global
-		     (_ "Global settings")
-		     (_ "long description will be here."))
+(define-custom-group 'spellcheck
+                     (ugettext spell-im-label-name)
+                     (ugettext spell-im-short-desc))
 
-;; subgroup
-(define-custom-group 'advanced
-		     (_ "Advanced settings")
-		     (_ "long description will be here."))
-
-;; 
-;; default-im-name
-;;
-(define-custom-group 'default-im-name
-		     (_ "Default input method")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-default-im-name? #f
-  '(global default-im-name)
+(define-custom 'spell-use-candidate-window? #t
+  '(spellcheck)
   '(boolean)
-  (_ "Specify default IM")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-default-im-name (im-name (find-default-im #f))
-  '(global default-im-name)
-  (cons
-   'choice
-   (custom-im-list-as-choice-rec im-list))
-  (_ "Default input method")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-default-im-name?))
-
-(define custom-hook-get-default-im-name
-  (lambda ()
-    (set! custom-activate-default-im-name? default-im-name)
-    (set! custom-preserved-default-im-name (or default-im-name
-					       custom-preserved-default-im-name
-					       (im-name (find-default-im #f))))))
-
-;; decode #f from default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-get-hooks
-		 custom-hook-get-default-im-name)
-
-(define custom-hook-set-default-im-name
-  (lambda ()
-    (set! default-im-name
-	  (if custom-activate-default-im-name?
-	      custom-preserved-default-im-name
-	      #f))))
-
-;; encode #f into default-im-name
-(custom-add-hook 'custom-activate-default-im-name?
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-set-hooks
-		 custom-hook-set-default-im-name)
-
-(define custom-hook-literalize-preserved-default-im-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-default-im-name "
-     (custom-value-as-literal 'custom-preserved-default-im-name)
-     ")\n"
-     "(define default-im-name "
-     (if default-im-name
-	 (string-append "'" (symbol->string default-im-name))
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-default-im-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-default-im-name)
-
-;;
-;; Enabled IM list
-;;
-
-(define custom-default-enabled-im-list
-  (custom-im-list-as-choice-rec im-list))
-
-(define-custom 'enabled-im-list
-               (map custom-choice-rec-sym custom-default-enabled-im-list)
-  '(global)
-  (cons
-   'ordered-list
-   custom-default-enabled-im-list)
-  (_ "Enabled input methods")
-  (_ "long description will be here."))
-
-;;
-;; im-switching
-;;
-(define-custom-group 'im-switching
-		     (_ "Input method switching")
-		     (_ "long description will be here."))
-
-(define-custom 'enable-im-switch #f
-  '(global im-switching advanced)
-  '(boolean)
-  (_ "Enable IM switching by hotkey")
-  (_ "long description will be here."))
-
-(define-custom 'switch-im-key '("<Control>Shift_key" "<Shift>Control_key")
-  '(global im-switching advanced)
-  '(key)
-  (_ "IM switching key")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'switch-im-key?
-		 'custom-activity-hooks
-		 (lambda ()
-		   enable-im-switch))
-
-(define-custom 'uim-color 'uim-color-uim
-  '(global)
-  (list 'choice
-	(list 'uim-color-uim (_ "uim") (_ "uim native"))
-	(list 'uim-color-atok (_ "ATOK like") (_ "Similar to ATOK")))
-  (_ "Preedit color")
-  (_ "long description will be here."))
-
-;; referred by some bridges
-(define-custom 'candidate-window-position 'caret
-  '(global)
-  (list 'choice
-	(list 'caret
-	      (_ "Adjacent to caret")
-	      (_ "Adjacent to caret"))
-	(list 'left
-	      (_ "Left end of preedit area")
-	      (_ "Left end of preedit area"))
-	(list 'right
-	      (_ "Right end of preedit area")
-	      (_ "Right end of preedit area")))
-  (_ "Candidate window position")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; global-keys
-
-(define-custom-group 'global-keys
-		     (_ "Global key bindings")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] on")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] off")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-begin-conv-key '(" ")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] begin conversion")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-commit-key '("<Control>j" "<Control>J" generic-return-key)
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] commit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-cancel-key '("escape" "<Control>g" "<Control>G")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] cancel")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-candidate-key '(" " "down" "<Control>n" "<Control>N")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-candidate-key '("up" "<Control>p" "<Control>P")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous candidate")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-next-page-key '("next")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] next page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-prev-page-key '("prior")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] previous page of candidate window")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-beginning-of-preedit-key '("home" "<Control>a" "<Control>A")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] beginning of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-end-of-preedit-key '("end" "<Control>e" "<Control>E")
-               '(global-keys)
-	       '(key)
-	       (_ "[Global] end of preedit")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-key '("<Control>k" "<Control>K")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase after cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-kill-backward-key '("<Control>u" "<Control>U")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] erase before cursor")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-backspace-key '("backspace" "<Control>h" "<Control>H")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] backspace")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-delete-key '("delete" "<Control>d" "<Control>D")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] delete")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-left-key '("left" "<Control>b" "<Control>B")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] left")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-go-right-key '("right" "<Control>f" "<Control>F")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] right")
-	       (_ "long description will be here"))
-
-(define-custom 'generic-return-key '("return" "<Control>m" "<Control>M")
-               '(global-keys advanced)
-	       '(key)
-	       (_ "[Global] return")
-	       (_ "long description will be here"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; anthy
-
-(define anthy-im-label-name (N_ "Anthy"))
-(define anthy-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Anthy"))
-
-(define-custom-group 'anthy
-                     (ugettext anthy-im-label-name)
-                     (ugettext anthy-im-short-desc))
-
-(define-custom 'anthy-use-candidate-window? #t
-  '(anthy)
-  '(boolean)
   (_ "Use candidate window")
   (_ "long description will be here."))
 
-(define-custom 'anthy-candidate-op-count 1
-  '(anthy)
+(define-custom 'spell-candidate-op-count 1
+  '(spellcheck)
   '(integer 0 99)
   (_ "Conversion key press count to show candidate window")
   (_ "long description will be here."))
 
-(define-custom 'anthy-nr-candidate-max 10
-  '(anthy)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-select-candidate-by-numeral-key? #f
-  '(anthy)
+(define-custom 'spell-preedit-immediate-commit? #f
+  '(spellcheck)
   '(boolean)
-  (_ "Select candidate by numeral keys")
+  (_ "spell-preedit-immediate-commit?")
   (_ "long description will be here."))
 
-(define-custom 'anthy-show-segment-separator? #f
-  '(anthy advanced)
+(define-custom 'spell-always-show-window? #t
+  '(spellcheck)
   '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'anthy-segment-separator "|"
-  '(anthy advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; canna
-
-(define canna-im-label-name (N_ "Canna"))
-(define canna-im-short-desc (N_ "Japanese Kana Kanji Conversion Engine, Canna"))
-
-(define-custom-group 'canna
-                     (ugettext canna-im-label-name)
-                     (ugettext canna-im-short-desc))
-
-(define-custom 'canna-use-candidate-window? #t
-  '(canna)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-candidate-op-count 1
-  '(canna)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'canna-nr-candidate-max 10
-  '(canna)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'canna-show-segment-separator? #f
-  '(canna advanced)
-  '(boolean)
-  (_ "Show segment separator")
-  (_ "long description will be here."))
-
-(define-custom 'canna-segment-separator "|"
-  '(canna advanced)
-  '(string ".*")
-  (_ "Segment separator")
-  (_ "long description will be here."))
-
-;;
-;; canna-server-name
-;;
-(define-custom-group 'cannaserver
-		     (_ "Canna server")
-		     (_ "long description will be here."))
-
-(define-custom 'custom-activate-canna-server-name? #f
-  '(canna cannaserver)
-  '(boolean)
-  (_ "Use Canna server")
-  (_ "long description will be here."))
-
-(define-custom 'custom-preserved-canna-server-name ""
-  '(canna cannaserver)
-  '(string ".*")
-  (_ "Canna server name")
-  (_ "long description will be here."))
-
-;; activity dependency
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-activity-hooks
-		 (lambda ()
-		   custom-activate-canna-server-name?))
-
-(define custom-hook-get-canna-server-name
-  (lambda ()
-    (set! custom-activate-canna-server-name? canna-server-name)
-    (set! custom-preserved-canna-server-name (or canna-server-name
-						 custom-preserved-canna-server-name
-						 ""))))
-
-;; decode #f from canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-(custom-add-hook 'canna-server-name
-		 'custom-get-hooks
-		 custom-hook-get-canna-server-name)
-
-(define custom-hook-set-canna-server-name
-  (lambda ()
-    (set! canna-server-name
-	  (and custom-activate-canna-server-name?
-	       custom-preserved-canna-server-name))))
-
-;; encode #f into canna-server-name
-(custom-add-hook 'custom-activate-canna-server-name?
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-set-hooks
-		 custom-hook-set-canna-server-name)
-
-(define custom-hook-literalize-preserved-canna-server-name
-  (lambda ()
-    (string-append
-     "(define custom-preserved-canna-server-name "
-     (custom-value-as-literal 'custom-preserved-canna-server-name)
-     ")\n"
-     "(define canna-server-name "
-     (if canna-server-name
-	 (string-append "\"" canna-server-name "\"")
-	 "#f")
-     ")")))
-
-(custom-add-hook 'custom-preserved-canna-server-name
-		 'custom-literalize-hooks
-		 custom-hook-literalize-preserved-canna-server-name)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; skk
-
-(define skk-im-label-name (N_ "SKK"))
-(define skk-im-short-desc (N_ "Uim's SKK like input method"))
-
-(define-custom-group 'skk
-                     (ugettext skk-im-label-name)
-                     (ugettext skk-im-short-desc))
-
-(define-custom 'skk-use-candidate-window? #t
-  '(skk)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-candidate-op-count 2
-  '(skk)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'skk-nr-candidate-max 10
-  '(skk)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'skk-style 'skk-style-ddskk-like
-  '(skk advanced)
-  (list 'choice
-	(list 'skk-style-ddskk-like (_ "ddskk") (_ "Similar to ddskk"))
-	(list 'skk-style-uim (_ "uim") (_ "uim native")))
-  (_ "Visual style")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-recursive-learning? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use recursive learning")
-  (_ "long description will be here."))
-
-(define-custom 'skk-egg-like-newline? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Use Enter key as just committing (egg-like operation)")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-newline-explicitly? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit newline as ASCII string instead of native key-event")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-numeric-conversion? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Use numeric conversion")
-  (_ "long description will be here."))
-
-(define-custom 'skk-use-with-vi? #f
-  '(skk advanced)
-  '(boolean)
-  (_ "Friendly for vi user")
-  (_ "long description will be here."))
-
-(define-custom 'skk-commit-candidate-by-label-key? #t
-  '(skk advanced)
-  '(boolean)
-  (_ "Commit candidate by heading label keys")
-  (_ "long description will be here."))
-
-(define-custom 'skk-dic-file-name (string-append (sys-datadir)
-						 "/skk/SKK-JISYO.L")
-  '(skk)
-  '(pathname)
-  (_ "Dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file")
-  (_ "long description will be here."))
-
-(define-custom 'skk-uim-personal-dic-filename
-  (string-append (getenv "HOME") "/.skk-uim-jisyo")
-  '(skk)
-  '(pathname)
-  (_ "Personal dictionary file (dedicated to uim)")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; prime
-
-(define prime-im-label-name (N_ "PRIME"))
-(define prime-im-short-desc (N_ "Japanese predictable input method"))
-
-(define-custom-group 'prime
-                     (ugettext prime-im-label-name)
-                     (ugettext prime-im-short-desc))
-
-;(define-custom 'prime-use-candidate-window? #t
-;  '(prime)
-;  '(boolean)
-;  "Use candidate window"
-;  "long description will be here.")
-
-;(define-custom 'prime-candidate-op-count 1
-;  '(prime)
-;  '(integer 0 99)
-;  "Conversion key press count to show candidate window"
-;  "long description will be here.")
-
-(define-custom 'prime-nr-candidate-max 10
-  '(prime)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-(define-custom 'prime-always-show-window? #t
-  '(prime)
-  '(boolean)
   (_ "Always showing candidate window")
   (_ "long description will be here."))
 
-(define-custom 'prime-auto-register-mode? #t
-  '(prime)
-  '(boolean)
-  (_ "Enable auto register mode")
-  (_ "long description will be here."))
-
-(define-custom 'prime-pseudo-mode-cursor? #f
-  '(prime)
-  '(boolean)
-  (_ "Enable pseudo mode cursor")
-  (_ "long description will be here."))
-
-(define-custom 'prime-char-annotation? #t
-  '(prime)
-  '(boolean)
-  (_ "Show candidate annotations")
-  (_ "long description will be here."))
-
-
-(define-custom 'prime-mask-pending-preedit? #f
-  '(prime)
-  '(boolean)
-  (_ "Mask preedit strings (For T-Code users)")
-  (_ "long description will be here."))
-
-;(define-custom 'prime-use-numeral-key-to-select-cand? #t
-;  '(prime)
-;  '(boolean)
-;  "Use numeral key to select candidate directly"
-;  "long description will be here.")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Other IMs
-
-(define-custom-group 'other-ims
-		     (_ "Other input methods")
-		     (_ "long description will be here."))
-
-(define-custom 'generic-use-candidate-window? #t
-  '(other-ims)
-  '(boolean)
-  (_ "Use candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-candidate-op-count 1
-  '(other-ims)
-  '(integer 0 99)
-  (_ "Conversion key press count to show candidate window")
-  (_ "long description will be here."))
-
-(define-custom 'generic-nr-candidate-max 10
-  '(other-ims)
-  '(integer 1 20)
-  (_ "Number of candidates in candidate window at a time")
-  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Spellcheck
-
-;; spellcheck IM is not available yet
-
-;;(define spell-im-label-name (N_ "Spellcheck"))
-;;(define spell-im-short-desc (N_ "Spellcheck"))
-;;
-;;(define-custom-group 'spellcheck
-;;                     (ugettext spell-im-label-name)
-;;                     (ugettext spell-im-short-desc))
-;;
-;;(define-custom 'spell-use-candidate-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Use candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-candidate-op-count 1
-;;  '(spellcheck)
-;;  '(integer 0 99)
-;;  (_ "Conversion key press count to show candidate window")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-preedit-immediate-commit? #f
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "spell-preedit-immediate-commit?")
-;;  (_ "long description will be here."))
-;;
-;;(define-custom 'spell-always-show-window? #t
-;;  '(spellcheck)
-;;  '(boolean)
-;;  (_ "Always showing candidate window")
-;;  (_ "long description will be here."))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(define-custom 'spell-on-key '("<Control>j" "<Control>J" generic-on-key)
+               '(spellcheck)
+	       '(key)
+	       (_ "[Spellcheck] on")
+	       (_ "long description will be here"))

Modified: trunk/scm/spellcheck.scm
===================================================================
--- trunk/scm/spellcheck.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/scm/spellcheck.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -30,18 +30,10 @@
 
 ;;uim-spellcheck is dynamic spell checker.
 
-(require "generic-key.scm")
+(require-custom "generic-key-custom.scm")
+(require-custom "spellcheck-custom.scm")
 
 
-;; configs
-(define spell-use-candidate-window? #t)
-(define spell-candidate-op-count 1) ;;¸õÊ䥦¥£¥ó¥É¥¦¤òɽ¼¨¤¹¤ë¤Þ¤Ç¤Ë²¿²ó¥¹¥Ú¡¼¥¹¥­¡¼¤ò²¡¤¹É¬Íפ¬¤¢¤ë¤«¡©
-(define spell-preedit-immididate-commit? #f)
-(define spell-always-show-window? #t)
-
-;; key
-(define-key spell-on-key? '("<Control>j" "<Control>J" generic-on-key?))
-
 (define spell-context-rec-spec
   (append
    context-rec-spec
@@ -555,8 +547,8 @@
  'spell
  "ja"
  "EUC-JP"
- (N_ "Spellcheck")
- (N_ "Spellcheck")
+ spell-im-label-name
+ spell-im-short-desc
  #f
  spell-init-handler
  #f

Modified: trunk/test/test-im.scm
===================================================================
--- trunk/test/test-im.scm	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/test/test-im.scm	2005-01-14 23:15:16 UTC (rev 292)
@@ -55,6 +55,7 @@
 	     (set! test-im-init-args (list 'test-im
 					   "ja"
 					   "UTF-8"
+					   "a label"
 					   "a short description"
 					   #f
 					   direct-init-handler
@@ -77,7 +78,7 @@
 		 (uim '(length im-list)))
    (assert-equal 'test-im
 		 (uim '(im-name (retrieve-im 'test-im #f))))
-   (assert-equal 14
+   (assert-equal 15
 		 (uim '(length (retrieve-im 'test-im #f))))
 
    ;; duplicate register will be rejected

Modified: trunk/uim/uim.c
===================================================================
--- trunk/uim/uim.c	2005-01-14 21:15:01 UTC (rev 291)
+++ trunk/uim/uim.c	2005-01-14 23:15:16 UTC (rev 292)
@@ -666,15 +666,9 @@
   uim_scm_require_file("custom-rt.scm");
   uim_scm_require_file("im.scm");
   uim_scm_load_file("loader.scm");
-  uim_scm_require_file("direct.scm");  /* must be loaded at last of IMs */
+  /* must be loaded at last of IMs */
+  UIM_EVAL_STRING(NULL, "(require-module \"direct\")");
 
-#ifndef UIM_COMPAT_CUSTOM
-  /*
-    Remove this code once the definition of custom-vars.scm is
-    distributed into IM files  -- YamaKen 2005-01-08
-  */
-  UIM_EVAL_STRING(NULL, "(require-custom \"custom-vars.scm\")");
-#endif    
   if (getenv("LIBUIM_VANILLA") ||
       load_conf() == -1) {
     uim_scm_load_file("default.scm");



More information about the Uim-commit mailing list