Bugzilla – Attachment 121774 Details for
Bug 235044
Can't use ~/.profile to control INPUT_METHOD
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Forgot Password
/etc/X11/xim
xim (text/plain), 5.10 KB, created by
Mike Fabian
on 2007-03-01 11:45:24 UTC
(
hide
)
Description:
/etc/X11/xim
Filename:
MIME Type:
Creator:
Mike Fabian
Created:
2007-03-01 11:45:24 UTC
Size:
5.10 KB
patch
obsolete
>#!/bin/bash ># ># $Id: xim,v 1.28 2004/12/07 11:04:59 mfabian Exp $ ># ># Copyright © 2001 SUSE LINUX GmbH Nuernberg, Germany ># ># Mike Fabian <mfabian@suse.de>, 2000, 2001, 2002, 2004, 2005, 2006, 2007 ># Werner Fink <werner@suse.de>, 2007 ># ># This program comes with ABSOLUTELY NO WARRANTY; it may be copied or modified ># under the terms of the GNU General Public License version 2 as published by ># the Free Software Foundation. > > ># usually, /etc/X11/xim is used to start a default input method. > ># If want to change the default, you have the following options: ># ># 1) Set the variable INPUT_METHOD in /etc/sysconfig/language. ># For example: ># INPUT_METHOD="scim" ># This changes the default for all users ># 2) set and export the variable "INPUT_METHOD" in ~/.profile in the ># home directory of a user (or ~/.login for csh users) For example: ># export INPUT_METHOD="scim" ># This changes the default only for one user. ># ># The possible values for the variable INPUT_METHOD are the names ># of the scripts which exist in the directory /etc/X11/xim.d/ ># for example if a script /etc/X11/xim.d/scim exists, ># and INPUT_METHOD is set to "scim", this script will be tried first ># to start an input method and only if this fails other input methods ># will be tried. ># ># 3) If you don't like the behaviour of any of the available ># scripts in /etc/X11/xim.d, you can write your own script ># containing the necessary lines to start your preferred input ># method and save it as ~/.xim. If a file ~/.xim exists, only ># this file is sourced to start an input method and nothing ># else. ># Usually you need only a few lines, the systemwide ># file to start an input method, /etc/X11/xim, is only so ># complicated because it tries to find a nice default depending ># on the language and the installed input methods. ># ># For example, if you want to use "scim" as your input method, ># it is enough to have the following 5 lines (and nothing else) ># in your ~/.xim file: > ># export XMODIFIERS="@im=SCIM" ># export GTK_IM_MODULE=scim ># export QT_IM_SWITCHER=imsw-multi ># export QT_IM_MODULE=scim ># scim -d > >echo "/etc/X11/xim: Checking wether an input method should be started." > ># ># Get variables from the user environment which might influence the start ># of an input method (see bug #235044, written by Werner Fink <werner@suse.de>): ># >if shopt -q extglob ; then > extglob=1 >else > extglob=0 > shopt -s extglob >fi > >adduserenv () { > local cur var=${1+"$@"} > > var=${var// /|} > while read cur; do > case "$cur" in > @($var)=*) > echo "/etc/X11/xim: user environment variable $cur" > eval $cur > esac > done < <(exec -l -a ${SHELL##*/} $SHELL -c printenv) >} > >adduserenv LANG LC_CTYPE LC_ALL INPUT_METHOD > >test $extglob -eq 0 && shopt -u extglob > ># if INPUT_METHOD is already set to something non-empty here, ># the user must have set it in ~/.profile or ~/.login or on the ># command line before using startx. In that case, don't ># read the system wide default from /etc/sysconfig/language, ># use the user supplied value instead: >if [ "$INPUT_METHOD" == "" ] ; then > echo "sourcing /etc/sysconfig/language to get the value of INPUT_METHOD" > source /etc/sysconfig/language >fi > >if [ "$INPUT_METHOD" != "" ]; then > echo "INPUT_METHOD is set to $INPUT_METHOD." > echo "Trying to start this user selected input method first ..." > if [ -r "/etc/X11/xim.d/$INPUT_METHOD" ] ; then > echo "sourcing /etc/X11/xim.d/$INPUT_METHOD" > source /etc/X11/xim.d/$INPUT_METHOD > if [ "$?" == "0" ]; then > echo "Start of $INPUT_METHOD succeeded." > return 0; > else > echo "Start of $INPUT_METHOD failed." > fi > else > echo "/etc/X11/xim.d/$INPUT_METHOD does not exist." > fi >else > echo "INPUT_METHOD is not set or empty (no user selected input method)." >fi > ># Determine the LC_CTYPE locale category setting >tmplang=${LC_ALL-${LC_CTYPE-${LANG-en_US}}} > >echo "Trying to start a default input method for the locale $tmplang ..." > >subdirlist=$tmplang >while [ "$tmplang" != ${tmplang%[_.@]*} ] >do > tmplang=${tmplang%[_.@]*} > subdirlist="$subdirlist $tmplang" >done > >im_failed=0 > >for subdir in $subdirlist ; do > if [ -d /etc/X11/xim.d/$subdir ] ; then > echo "Checking for a default input method in /etc/X11/xim.d/$subdir/" > for im in /etc/X11/xim.d/$subdir/* ; do > if [ -r $im ] ; then > echo "sourcing $im ..." > source $im > if [ "$?" == "0" ]; then > echo "$im started sucessfully" > return 0 > else > echo "$im failed" > im_failed=1 > fi > fi > done > fi >done > >if [ "$im_failed" == 0 ] ; then > echo "There is no default input method for the current locale." >else > echo "All default input methods tried for the current locale failed." >fi > ># If there is no default input method for the current locale, set ># XMODIFIERS="@im=local". "@im=local" means "use compose and dead-keys" and ># some programs will use compose and dead-keys only if XMODIFIERS ># is set to either "@im=local" or "@im=none". > >export XMODIFIERS="@im=local" >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 235044
: 121774