AkiraTagoh/IMChooser/UIImprovements

= Abstract =

This page discusses some improvements to the UI of im-chooser, to makes it simpler and less confusing for people who want to use input methods. Let's think about it case-by-case.

= Mockups =

Case 1: multiple IMs available on the system

 * Initial state
 * the initial state will be on (otherwise it's case 2)
 * the preference button is available if the selected IM has any GUI tool to configure it. otherwise the button is disabled.
 * Focus on the list
 * the default focus on the list will be the recommended IM (means the system default).
 * .xinputrc state
 * makes a symlink to /etc/X11/xinit/xinput.d/.conf under $HOME.
 * Once one turns off a checkbox, a symlink to none.conf for .xinputrc will be created under $HOME.
 * Order of the list
 * recommended IM
 * other available IMs
 * legacy IM

http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-multiple-off2.png http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-multiple-on2.png

Case 2: multiple IMs available on the system but default IM is off

 * Initial state
 * the initial state will be off to use IM.
 * (the preference button is available if the selected IM has any GUI tool to configure it. otherwise the button is disabled.)
 * Focus on the list
 * the default focus on the list will be a first entry at the list.
 * .xinputrc state
 * If one chooses any IMs from the list, a symlink to /etc/X11/xinit/xinput.d/.conf for .xinputrc will be created under $HOME.
 * Once one turns off a checkbox, a symlink to none.conf for .xinputrc will be created under $HOME.
 * Order of the list
 * available IMs
 * legacy IM
 * NOTE
 * This case may be obsolete if the restricted language list in xinput.sh is gone.

http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-multiple-none-off2.png http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-multiple-none-on2.png

Case 3: Single IM available

 * Initial state
 * UI to choose IM will be hidden.
 * the default state will be affected from where the recommended IM points to.
 * the preference button is available if the selected IM has any GUI tool to configure it. otherwise the button is disabled.
 * .xinputrc state
 * if the checkbox is turned on, a symlink for .xinputrc to only IM available will be created under $HOME, otherwise a symlink to none.conf for .xinputrc will be created.
 * FIXME: should label the IM name instead of "input method"?

http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-single-off2.png http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-single-on2.png

Case 4: Single legacy (XIM) IM available

 * Initial state
 * UI to choose IM will be hidden.
 * the default state will be affected from where the default IM points to.
 * xinputrc state
 * if the checkbox is turned on, a symlink for .xinputrc to the only IM available will be created under $HOME, otherwise a symlink to none.conf will be created.
 * FIXME: should makes any difference at UI? like say "Enable legacy IM" instead of "Enable IM"?

Case 5: No IMs available

 * Initial state
 * All selectable widgets are disabled.
 * Open a dialog to inform that any IMs needs to be installed. and exit im-chooser after closing it.

http://tagoh.fedorapeople.org/im-chooser/Screenshot-im-chooser-noim2.png

Comments
MatthiasClasen: Some comments (mostly based on the mockups for the first case):
 * --(I don't think the "Support" section title adds anything. We could just do without (compare the "enable" checkbox in the keyboard a11y capplet, eg.)--
 * Sure. updated. (AkiraTagoh)
 * --(The note should be at the bottom of the dialog, above the buttons (unless it only applies to the checkbox).)--
 * Okay, that makes sense. updated. (AkiraTagoh)
 * The list of input methods needs some bevel around it
 * I'm not sure if I understand this comment correctly though, just close round the list of input methods with an italic tag. (AkiraTagoh)
 * I don't particularly like the square brackets, it seems a bit inconsistent to have the name of the input method sometimes in the string itself ("Use UIM") and sometimes in brackets ("[SCIM] ").
 * Updated. However should we have any way of letting people know which IM you are supposed to use if only one IM is available (Case 3 and Case 4). (AkiraTagoh)
 * --(The section title should not be insensitive, just the list.)--
 * Updated. (AkiraTagoh)
 * --(Maybe there should be some hint in the dialog that e.g SCIM has its own configuration. )--
 * That would be really nice idea. added it to the mockups. (AkiraTagoh)

JensPetersen:
 * The only way I can see to address the fixme's in Cases 3 and 4 would be to include the IM list for those singleton cases too - otherwise probably the "Input Method" heading should be away in those cases too.