On Fri, Sep 14, 2007 at 10:25:37PM -0500, Ming Hua wrote:
> On Sat, Sep 15, 2007 at 12:09:53PM +0900, Osamu Aoki wrote:
> > 
> > As I see for SCIM:
> > 
> > XIM_PROGRAM=/usr/bin/scim
> > XIM_ARGS="-d"
> > 
> > With these, the following is actually executed
> > # execute XIM_PROGRAM
> > [ -n "$XIM_PROGRAM" -a -x "$XIM_PROGRAM" ] && eval "$XIM_PROGRAM $XIM_ARGS 
> > &" ||
> >  true

This -x check was prudent one but breaks one liner command as given
below:

> > Changing SCIM setting to something like
> > XIM_PROGRAM="if [ -z \"$(pidof scim-launcher|xargs -n1 ps --no-headers -o 
> > user,pid --pid 2>/dev/null|sed -n \"s/^${USER}  *\([1-9][0-9]*\)$/\1/p\")\" 
> > ] ; then /usr/bin/scim -d >& /dev/null ; fi"

after sed, "..." does not need to be lead by \ as \"...\" since they are in 
$(...)
This kind of ugly code is prone for such bug.

> Eww, that's one ugly line.  But I suppose it's worthwhile if bugs are
> fixed.

I just wanted to fit it there but it turned out it was not worth it in
the second thought.

> > XIM=ARGS=""
> 
> (I suppose that's XIM_ARGS with a typo.)  Why "-d" is not needed here?
> I am not sure "scim -d" and "scim -d &" are functionally equivalent.
> 
> > Maybe, I need to reassign this to SCIM.  I will test it :-)
> 
> Osamu, I'm rather ignorant in the im-switch business, is this related to
> the scim bug #431294?

I thought so initially.

This is my current thought:

im-switch was designed to be a common infrastructure for many ime.

It meant to configure just by setting parameters in the configuratuib
file.  Then the common script should take care the rest.

I thought this defunct process was caused by appending & to the command
which itself was able to daemonize itself.  As I checked it was there
anyway.  (& was always added with normal use of im-switch)

So this VINE linux trick of checking scim-launcher is for other case
when scim is started before this section.

Since these im-switch configuration are sourced as shell code, I have
changed as below:

XIM=SCIM
if [ -z "$(/bin/pidof scim-launcher|xargs -n1 ps --no-headers -o user,pid --pid 
2>/dev/null|sed -n "s/^${USER}  *\([1-9][0-9]*\)$/\1/p")" ] ; then 
  /usr/bin/scim -d >/dev/null 2>/dev/null 
fi
XIM_PROGRAM=""
XIM_ARGS=""
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
DEPENDS="scim,scim-anthy|scim-canna|scim-chewing|scim-pinyin|scim-hangle|scim-prime|scim-skk|scim-tables-additional|scim-m17n|scim-uim|scim-tables-ja|scim-tables-ko|scim-tables-zh"

This did not change situation for scim having [scim] <defunct>.

I realy do not know under what condition this checking of scim-launcher
is needed.



> Ming
> 2007.09.14
> 



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to