Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Bangla input doesn't work on any apps #80

Open
abirabedinkhan opened this issue Jun 18, 2024 · 44 comments
Open

[BUG] Bangla input doesn't work on any apps #80

abirabedinkhan opened this issue Jun 18, 2024 · 44 comments
Assignees
Labels

Comments

@abirabedinkhan
Copy link

abirabedinkhan commented Jun 18, 2024

Describe the bug
when I try to use unibijoy (bangla) it doesn't work. it still shows English char when I try to type

To Reproduce
Steps to reproduce the behavior:
https://github.com/abdullah-if/ibus-victory-bn
It works perfectly fine on my Ubuntu desktop but not on the other machine.

Screenshots or videos
same as #38

ibus-m17n version?
1.4.3-1

m17n-db versions?
1.8.0

ibus version?
IBus 1.5.23

Distribution and version?
Debian Buster

Desktop and version?
xfce4

Xorg or Wayland?
x11

@mike-fabian
Copy link

bn-bijoyUnicode.mim seems to work fine for me on Fedora 40, ibus-m17n-1.4.29-1.fc40.x86_64,
ibus-1.5.30-5.fc40.x86_64.
bn-bijoyClassic.mim in your repo looks broken to me, I don't know what this is supposed to be, maybe it has been destroyed by some encoding conversion?

@abirabedinkhan
Copy link
Author

bn-bijoyClassic.mim you have to use specific fonts for that
Yeah it works on my Ubuntu 22.04 machine too but not working on Debian Buster Xfce arm x11

@abirabedinkhan
Copy link
Author

bn-bijoyUnicode.mim seems to work fine for me on Fedora 40, ibus-m17n-1.4.29-1.fc40.x86_64, ibus-1.5.30-5.fc40.x86_64. bn-bijoyClassic.mim in your repo looks broken to me, I don't know what this is supposed to be, maybe it has been destroyed by some encoding conversion?

none of them work for me on Debian Buster Xfce arm x11

@mike-fabian
Copy link

And what happens? Can you give more details what doesn't work?

@abirabedinkhan
Copy link
Author

abirabedinkhan commented Jun 19, 2024

And what happens? Can you give more details what doesn't work?

normally normal ibus input works but any of the inputs from m17n don't work. It just spits out the key, which I'm currently typing, rather than giving me the Unicode fonts.

@abirabedinkhan
Copy link
Author

Is there any place where I can find the logs of m17n??

@mike-fabian
Copy link

ibus-m17n doesn't write any logs unfortunately.

Do any ibus input methods work for you at all? Do you only have problems with bn-bijoyUnicode.mim in ibus-m17n or do other ibus input methods not work either?

is ibus running? What does ps aux | grep ibus show?

Can you try to install ibus-typing-booster as well please?

ibus-typing-booster supports all m17n-db input methods supported by ibus-m17n and has a lot more features and it writes a log file where we can look if there are problems.

Here is the user documentation for ibus-typing-booster:

https://mike-fabian.github.io/ibus-typing-booster/docs/user/

Especially look at the Setup chapter https://mike-fabian.github.io/ibus-typing-booster/docs/user/#2 to find out how to setup ibus-typing-booster to use bn-bijoyUnicode.mim

@mike-fabian
Copy link

Here is a screenshot of the ibus-typing-booster setup tool when it is etup to use bn-bijoyUnicode.mim:

Screenshot

@mike-fabian
Copy link

So please try ibus-typing-booster to find out whether ibus works at all for you and there is only a specific problem with ibus-m17n or whether it affects all ibus input methods.

@abirabedinkhan
Copy link
Author

ibus-m17n doesn't write any logs unfortunately.

Do any ibus input methods work for you at all? Do you only have problems with bn-bijoyUnicode.mim in ibus-m17n or do other ibus input methods not work either?

is ibus running? What does ps aux | grep ibus show?

Can you try to install ibus-typing-booster as well please?

ibus-typing-booster supports all m17n-db input methods supported by ibus-m17n and has a lot more features and it writes a log file where we can look if there are problems.

Here is the user documentation for ibus-typing-booster:

https://mike-fabian.github.io/ibus-typing-booster/docs/user/

Especially look at the Setup chapter https://mike-fabian.github.io/ibus-typing-booster/docs/user/#2 to find out how to setup ibus-typing-booster to use bn-bijoyUnicode.mim

Yeah IBUS works normally with other options but not working with m17n.

$ ps aux | grep ibus
saplaos     2469  0.6  0.4 309544  8500 ?        Sl   10:56   0:00 /bin/ibus-daemon
saplaos     2612  0.0  0.3 234432  6580 ?        Sl   10:56   0:00 /usr/libexec/ibus-dconf
saplaos     2613  1.6  1.9 314884 40464 ?        Sl   10:56   0:00 /usr/libexec/ibus-ui-gtk3
saplaos     2616 20.0  1.2 268976 26320 ?        Sl   10:56   0:07 /usr/libexec/ibus-extension-gtk3
saplaos     2622  0.1  0.2 234344  6072 ?        Sl   10:56   0:00 /usr/libexec/ibus-portal
saplaos     2711  1.9  0.8 277892 17060 ?        Sl   10:56   0:00 /usr/libexec/ibus-engine-m17n --ibus
saplaos     3408  0.0  0.0   5908   752 pts/0    S+   10:57   0:00 grep ibus

@abirabedinkhan
Copy link
Author

abirabedinkhan commented Jun 26, 2024

So please try ibus-typing-booster to find out whether ibus works at all for you and there is only a specific problem with ibus-m17n or whether it affects all ibus input methods.

Screenshot from 2024-06-26 11-13-56

When I try to open the setup for the ibus-typing-booster it doesn't show an interface like yours that is given in the screenshot.
Screencast from 26-6-24 11:07:24 পূর্বাহ্ণ +06.webm

@mike-fabian
Copy link

The setup tool shown in your screencast is the setup tool of ibus-m17n, not the setup tool of ibus-typing-booster.

There is no ibus-typing-booster seen in this menu:

Screenshot

So you probably need to add ibus-typing-booster with ibus-setup as described here for Xfce:

https://mike-fabian.github.io/ibus-typing-booster/docs/user/#1_3 (Chapter "When using other desktops than Gnome3")

@mike-fabian
Copy link

Yeah it works on my Ubuntu 22.04 machine too but not working on Debian Buster Xfce arm x11

Is your Ubuntu 22.04 machine also using the arm architecture? Could the problem have something to do with the arm architecture? I have no arm machine available and have never tried ibus-m17n on arm.

@abirabedinkhan
Copy link
Author

Yeah it works on my Ubuntu 22.04 machine too but not working on Debian Buster Xfce arm x11

Is your Ubuntu 22.04 machine also using the arm architecture? Could the problem have something to do with the arm architecture? I have no arm machine available and have never tried ibus-m17n on arm.

Nope, it's not on an arm machine; it's X86_64. I think the problem's probably on XFCE, as it's also shown on #38

@abirabedinkhan
Copy link
Author

The setup tool shown in your screencast is the setup tool of ibus-m17n, not the setup tool of ibus-typing-booster.

There is no ibus-typing-booster seen in this menu:

Screenshot

So you probably need to add ibus-typing-booster with ibus-setup as described here for Xfce:

https://mike-fabian.github.io/ibus-typing-booster/docs/user/#1_3 (Chapter "When using other desktops than Gnome3")

Screenshot from 2024-06-28 10-59-51
Nope, not working also!

@mike-fabian
Copy link

Nope, it's not on an arm machine; it's X86_64. I think the problem's probably on XFCE, as it's also shown on #38.

#38 was about KDE Wayland.

ibus-m17n works just fine for me on XFCE.

@mike-fabian
Copy link

Did you restart ibus (ibus restart) after installing ibus-typing-booster or restart your session (which will also restart ibus)?

To "see" newly installed input methods, ibus needs to be restarted.

In your screenshot of ibus-setup, you correctly search for booster and get no results. I think that means that on the command line you would not get this result either:

mfabian@hathi:~
$ ibus list-engine | grep booster
  typing-booster - Typing Booster
mfabian@hathi:~
$ 

Did you sudo apt-get install ibus-typing-booster finish without problems?

Then (after an ibus restart!) ibus list-engine | grep booster should show you that ibus now knows ibus-typing-booster and then you should be able to add it in ibus-setup.

@mike-fabian
Copy link

Did you try this? What was the result? Did you succeed?

@abirabedinkhan
Copy link
Author

Did you restart ibus (ibus restart) after installing ibus-typing-booster or restart your session (which will also restart ibus)?

To "see" newly installed input methods, ibus needs to be restarted.

In your screenshot of ibus-setup, you correctly search for booster and get no results. I think that means that on the command line you would not get this result either:

mfabian@hathi:~
$ ibus list-engine | grep booster
  typing-booster - Typing Booster
mfabian@hathi:~
$ 

Did you sudo apt-get install ibus-typing-booster finish without problems?

Yeah it finished without any problems.

Then (after an ibus restart!) ibus list-engine | grep booster should show you that ibus now knows ibus-typing-booster and then you should be able to add it in ibus-setup.

Screenshot from 2024-07-01 21-03-01

Did you try this? What was the result? Did you succeed?

Sorry for the late replay. I was on vacation.

@mike-fabian
Copy link

OK, so ibus list-engine lists it correctly. The search in ibus-setup in old versions of ibus didn‘t work so well, my guess is that your search for booster does not work because this old version of ibus-setup does not do a substring search.

You can try searching for the complete string, typing-booster or Typing Booster.

Or, after clicking on the three vertical dots ⋮ don't search but just scroll down until you find the Other section (ibus-typing-booster is in the Other section because it can work for many languages, therefore it is not in the section for any particular language). If you then open this Other section and scroll through it, you should find Typing Booster somewhere.

@mike-fabian
Copy link

Screenshot

@mike-fabian
Copy link

Screenshot

@mike-fabian
Copy link

@abirabedinkhan Did you make any progress? Could you add ibus-typing-booster now? Do you have any more details why ibus-m17n doesn’t work for you with bn-bijoyUnicode.mim? Does ibus-m17n work with other m17n input methods? For example, does it work with any of the other Bengali m17n input methods?:

$ ls /usr/share/m17n/bn*.mim -1
/usr/share/m17n/bn-disha.mim
/usr/share/m17n/bn-inscript.mim
/usr/share/m17n/bn-inscript2.mim
/usr/share/m17n/bn-itrans.mim
/usr/share/m17n/bn-national-jatiya.mim
/usr/share/m17n/bn-probhat.mim
/usr/share/m17n/bn-unijoy.mim

or you could try a very simple m17n input method like t-latn-post, using that with ibus-m17n you should be able to type u" and get ü.

Does any of this work?

Maybe you can make more screenshots or videos to show what your setup is and what goes wrong?

@mike-fabian
Copy link

Does it still not work for you? Do you h ave any more information?

@abirabedinkhan
Copy link
Author

nope still not able to make it work

@abirabedinkhan
Copy link
Author

@abirabedinkhan Did you make any progress? Could you add ibus-typing-booster now? Do you have any more details why ibus-m17n doesn’t work for you with bn-bijoyUnicode.mim? Does ibus-m17n work with other m17n input methods? For example, does it work with any of the other Bengali m17n input methods?:

$ ls /usr/share/m17n/bn*.mim -1
/usr/share/m17n/bn-disha.mim
/usr/share/m17n/bn-inscript.mim
/usr/share/m17n/bn-inscript2.mim
/usr/share/m17n/bn-itrans.mim
/usr/share/m17n/bn-national-jatiya.mim
/usr/share/m17n/bn-probhat.mim
/usr/share/m17n/bn-unijoy.mim

or you could try a very simple m17n input method like t-latn-post, using that with ibus-m17n you should be able to type u" and get ü.

Does any of this work?

Maybe you can make more screenshots or videos to show what your setup is and what goes wrong?

yeah I'm gonna try that and let you konw

@abirabedinkhan
Copy link
Author

I did this

saplaos@BongoPC:~$ ls /usr/share/m17n/bn*.mim -1
/usr/share/m17n/bn-bijoyClassic.mim
/usr/share/m17n/bn-bijoyUnicode.mim
/usr/share/m17n/bn-disha.mim
/usr/share/m17n/bn-inscript.mim
/usr/share/m17n/bn-itrans.mim
/usr/share/m17n/bn-probhat.mim
/usr/share/m17n/bn-unijoy.mim
saplaos@BongoPC:~$ 

how can I do the t-latn-post thing?

@mike-fabian
Copy link

You should have this file:

mfabian@hathi:~
$ ls /usr/share/m17n/latn-post.mim 
/usr/share/m17n/latn-post.mim
mfabian@hathi:~

And ibus should be able to list latn-post:

mfabian@hathi:~
$ ibus list-engine | grep latn-post
  m17n:t:latn-post - t-latn-post (m17n)
mfabian@hathi:~
$ 

Then you can add the t-latn-post input method using ibus-setup.

Like in this video:

Peek.2024-09-05.18-00.mp4

In this video I use ibus-setup to add the t-latn-post input method, then select it in the panel.
After that, I type u" into the terminal and the result is ü.

@mike-fabian
Copy link

Very similar you should be able to add ibus-typing-booster using ibus-setup, just scroll down to the Other section after Add and look for Typing Booster there.

@abirabedinkhan
Copy link
Author

@mike-fabian
Copy link

I see that you could successfully add the t-latn-post input method and select it in the panel, but it doesn't work in the terminal.

How are the environment variables related to ibus set?

What do you get when you type env | grep ibus into the terminal?

mfabian@hathi:~
$ env | grep ibus
GLFW_IM_MODULE=ibus
GTK_IM_MODULE=ibus
XMODIFIERS=@im=ibus
QT_IM_MODULE=ibus
mfabian@hathi:~
$ 

@abirabedinkhan
Copy link
Author

env | grep ibus doesn't return any output but in my .bashrc file it is configured.

saplaos@BongoPC:~$ cat .bashrc 
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
	# We have color support; assume it's compliant with Ecma-48
	# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
	# a case would tend to support setf rather than setaf.)
	color_prompt=yes
    else
	color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    #alias grep='grep --color=auto'
    #alias fgrep='fgrep --color=auto'
    #alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
saplaos@BongoPC:~$ env | grep ibus
saplaos@BongoPC:~$ 

@abirabedinkhan
Copy link
Author

I fixed it somehow now it's returning the values

saplaos@BongoPC:~$ env | grep ibus
GTK_IM_MODULE=ibus
XMODIFIERS=@im=ibus
QT_IM_MODULE=ibus
saplaos@BongoPC:~$ 

@abirabedinkhan
Copy link
Author

after fixing that issues still no luck with those input methods. they are still not working.

@abirabedinkhan
Copy link
Author

abirabedinkhan commented Sep 6, 2024

I fixed it somehow now it's returning the values

saplaos@BongoPC:~$ env | grep ibus
GTK_IM_MODULE=ibus
XMODIFIERS=@im=ibus
QT_IM_MODULE=ibus
saplaos@BongoPC:~$ 

i apparently didn't add export before those env variables.
before

saplaos@BongoPC:~$ cat .bashrc | grep ibus
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
saplaos@BongoPC:~$ 

after

saplaos@BongoPC:~$ cat .bashrc | grep ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
saplaos@BongoPC:~$ 

@mike-fabian
Copy link

And is it working after adding the export?

These variables might still not be set in the terminal you are trying to use because when the terminal was started, .bashrc was not yet read. .bashrc is for interactive shells. Starting up your desktop was not interactive.

From the terminal, where see these variables correct now when checking with env | grep ibus, please start another terminal by typing xfce4-terminal & and then try whether you can type into that new terminal. The new terminal had these variables correctly set in the environment when it was started.

If that helps and if you can use ibus in the new terminal, then add the setting of these environment variables to ~/.profile (or maybe ~/.bash_profile or ~/.bash_login if you are already using one of these.

See the man page of bash:

       When bash is invoked as an interactive login shell, or as a  non-interactive  shell
       with  the  --login  option,  it  first  reads  and  executes commands from the file
       /etc/profile, if  that  file  exists.   After  reading  that  file,  it  looks  for
       ~/.bash_profile,  ~/.bash_login,  and ~/.profile, in that order, and reads and exe‐
       cutes commands from the first one that exists and is readable.  The --noprofile op‐
       tion may be used when the shell is started to inhibit this behavior.

       When an interactive login shell exits, or a non-interactive  login  shell  executes
       the  exit  builtin  command,  bash  reads  and  executes  commands  from  the files
       ~/.bash_logout and /etc/bash.bash_logout, if the files exists.

       When an interactive shell that is not a login shell is started, bash reads and exe‐
       cutes commands from ~/.bashrc, if that file exists.  This may be inhibited by using
       the --norc option.  The --rcfile file option will force bash to  read  and  execute
       commands from file instead of ~/.bashrc.

@abirabedinkhan
Copy link
Author

nope, it's still not working!

@mike-fabian
Copy link

Even starting gedit like env GTK_IM_MODULE=ibus gedit does not make it work in gedit?

You wrote above:

Yeah IBUS works normally with other options but not working with m17n.

So which ibus input methods are actually working for you?

@abirabedinkhan
Copy link
Author

So which ibus input methods are actually working for you?

All of the IBus input methods are working perfectly fine but m17n methods are not working.

Even starting gedit like env GTK_IM_MODULE=ibus gedit does not make it work in gedit?

Nope

@mike-fabian
Copy link

So which ibus input methods are actually working for you?

All of the IBus input methods are working perfectly fine but m17n methods are not working.

Which ones especially have you tried? Did you try ibus-typing-booster already? Because that would give you the same input methods as ibus-m17n does.

Even starting gedit like env GTK_IM_MODULE=ibus gedit does not make it work in gedit?

Nope

@mike-fabian
Copy link

So which ibus input methods are actually working for you?

All of the IBus input methods are working perfectly fine but m17n methods are not working.

Which ones especially have you tried? Did you try ibus-typing-booster already? Because that would give you the same input methods as ibus-m17n does.

In this screenshot from your video, I see only m17n input methods from ibus and keyboard layouts.

Those which have the little keyboard icon in ibus-setup in your screenshot are keyboard layouts.

Screenshot

@abirabedinkhan
Copy link
Author

Those which have the little keyboard icon in ibus-setup in your screenshot are keyboard layouts.

only with those icons works

@mike-fabian
Copy link

Those which have the little keyboard icon in ibus-setup in your screenshot are keyboard layouts.

only with those icons works

So only the keyboard layouts work for you, no ibus input methods.

You should be able to add ibus-typing-booster in ibus-setup the same way you added the t-latn-post input method, look in the "Other" section for typing booster. My guess is that it won't work either, because no ibus input methods at all seem to work for you.

@mike-fabian
Copy link

mike-fabian commented Sep 8, 2024

But ibus-typing-booster at least writes a log file which ibus-m17n does not, so maybe there is something interesting in the log file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants