Giter VIP home page Giter VIP logo

scim's People

Contributors

ashie avatar bh1scw avatar davispuh avatar derekdai avatar fengshenx avatar heroxbd avatar hughmcmaster avatar ikunya avatar jaalto avatar jserv avatar juhp avatar klemensbaum avatar leggewie avatar liucougar avatar marguerite avatar orbea avatar phuang avatar posophe avatar suzhe avatar tzhuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scim's Issues

What is a t-math-latex input method engine?

I don't seem to be able to find this anywhere in the documentation, and also in the source, but I do have something called t-math-latex, which I don't really understand.

Could this be added to the documentation?

[RPMLINT] Cannot load module /usr/lib64/gtk-3.0/3.0.0/immodules/im-scim.so:

I have this issue with scim 1.4.15
Cannot load module /usr/lib64/gtk-3.0/3.0.0/immodules/im-scim.so: /usr/lib64/gtk-3.0/3.0.0/immodules/im-scim.so: undefined symbol: gdk_x11_drawable_get_xdisplay
/usr/lib64/gtk-3.0/3.0.0/immodules/im-scim.so does not export GTK+ IM module API: /usr/lib64/gtk-3.0/3.0.0/immodules/im-scim.so: undefined symbol: gdk_x11_drawable_get_xdisplay

im module for gtk3 leads to segfault

When I am using GTK_IM_MODULE="scim" with gtk+3-3.14.12 and current scim, I get a segfault.
I can replicate this by:

# your scim setup, I am using:
scim -d # in .xinitrc
GTK_IM_MODULE="scim"
gtk3-demo # open "text-widget/multiple views" for example

Everything works fine with GTK_IM_MODULE="xim".

The (sorry) backtrace:

#0  0xffffffff in g_type_check_instance_is_fundamentally_a ()
    at /usr/lib/libgobject-2.0.so.0
#1  0xffffffff in g_object_ref () at /usr/lib/libgobject-2.0.so.0
#2  0xffffffff in  () at /usr/lib/gtk-3.0/3.0.0/immodules/im-scim.so
#3  0xffffffff in gtk_im_context_focus_in () at /usr/lib/libgtk-3.so.0
#4  0xffffffff in  () at /usr/lib/libgtk-3.so.0
#5  0xffffffff in gtk_im_context_focus_in () at /usr/lib/libgtk-3.so.0
#6  0xffffffff in  () at /usr/lib/libgtk-3.so.0
#7  0xffffffff in  () at /usr/lib/libgtk-3.so.0
#8  0xffffffff in  () at /usr/lib/libgobject-2.0.so.0
#9  0xffffffff in  () at /usr/lib/libgobject-2.0.so.0
#10 0xffffffff in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#11 0xffffffff in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#12 0xffffffff in  () at /usr/lib/libgtk-3.so.0
#13 0xffffffff in gtk_widget_send_focus_change () at /usr/lib/libgtk-3.so.0
#14 0xffffffff in  () at /usr/lib/libgtk-3.so.0
#15 0xffffffff in  () at /usr/lib/libgtk-3.so.0
#16 0xffffffff in  () at /usr/lib/libgtk-3.so.0
#17 0xffffffff in  () at /usr/lib/libgtk-3.so.0
#18 0xffffffff in  () at /usr/lib/libgobject-2.0.so.0
#19 0xffffffff in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#20 0xffffffff in  () at /usr/lib/libgobject-2.0.so.0
#21 0xffffffff in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#22 0xffffffff in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#23 0xffffffff in  () at /usr/lib/libgtk-3.so.0
#24 0xffffffff in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#25 0xffffffff in  () at /usr/lib/libgdk-3.so.0
#26 0xffffffff in  () at /usr/lib/libgdk-3.so.0
#27 0xffffffff in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#28 0xffffffff in  () at /usr/lib/libglib-2.0.so.0
#29 0xffffffff in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#30 0xffffffff in g_application_run () at /usr/lib/libgio-2.0.so.0
#31 0x08056662 in  ()
#32 0x084d2078 in  ()
#33 0xffffffff in __libc_start_main () at /lib/libc.so.6
#34 0x0805668a in  ()

I am not really sure if it's scim but everything else works.

I am using Slackware-current and their configure flags (except paths) are:

./configure --disable-static \
  --with-gtk-version=2

GIMP segfault when trying to edit font size field, traceback indicates SCIM

Hi,

This may be related to #5, I'm not sure and I just observe the following crash when running GIMP (2.10.4)

#6  0x00007f508ad66de5 in IA__gdk_x11_drawable_get_xdisplay (drawable=0x54fc630) at /var/tmp/paludis/x11-libs-gtk+-2.24.31-r1/work/gtk+-2.24.31/gdk/x11/gdkdrawable-x11.c:908
        drawable = 0x54fc630
#7  0x00007f50770d27ce in scim_bridge_key_event_gdk_to_bridge () from /usr/lib64/gtk-2.0/2.10.0/immodules/im-scim.so
No symbol table info available.
#8  0x00007f50770d21db in key_snooper () from /usr/lib64/gtk-2.0/2.10.0/immodules/im-scim.so
No symbol table info available.
#9  0x00007f50770d2454 in scim_bridge_client_imcontext_filter_key_event () from /usr/lib64/gtk-2.0/2.10.0/immodules/im-scim.so
No symbol table info available.
#10 0x00007f508b0bce62 in gtk_im_multicontext_filter_keypress (context=0x5609030, event=0x4c4fc40) at /var/tmp/paludis/x11-libs-gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkimmulticontext.c:333
        multicontext = 0x5609030
        slave = <optimized out>
#11 0x00007f508b077623 in gtk_entry_key_press (widget=0x3134670, event=0x4c4fc40) at /var/tmp/paludis/x11-libs-gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkentry.c:4073
        entry = 0x3134670

SCIM is v1.4.18, built with --with-gtk-version={3,2} (standard Gentoo build with gtk3 USE).

Problem with GNOME 3.20

scim-pinyin got trouble with GNOME 3.20, so some work needed before GNOME 3.20. I think it's scim problem, is it right?

Here's my trouble suffering:

  1. scim-pinyin can not work with gtk 3.20 programs, even gnome-terminal, but it works with gtk 2 programs, but,
  2. while scim-pinyin working with gtk 2 programs, the input buffer area is blank, but it should be chars typed and related I18N words. See the bug image I attached.

Here's photo: https://bugs.gentoo.org/attachment.cgi?id=434336&action=edit

怎么启用scim的全部打印?

ubuntu 2004系统
操作步骤:

  1. 终端执行 scim ,查看日志打印信息
  2. 发现在scim_module_init里面的stderr信息都有输出到终端上
  3. 发现scim的engine里面日志信息没有被输出在终端上
  4. 当前存在的进程:scim-launcher、scim-helper-manager、scim-panel-gtk和scim-im-agent这几个进程
  5. 查看进程的fd文件发现也没有任何的日志输出:sudo tail -f /proc/pid/fd/2 或者sudo tail -f /proc/pid/fd/1或者sudo tail -f /proc/pid/fd/0 都是没有任何输出的。代码里面使用的打印方式是: SCIM_DEBUG_IMENGINE(2) << "engine debug info \n"

请问我应该怎么设置debug输出等级,将打印信息输出呢?
@tzhuan

te-inscript table

The official inscript table for telugu is binding the key " _ " to the telugu sign "VISARGA" which code is 0C03, and sign is " ః ". This table in scim is binding " _ " to itself, i.e. " _ ", and there is no alternative binding to "VISARGA" sign. So it is not possible to input this sign with scim.

Scim GTK4 immodule crashing on Wayland (incorrect code)

Forwarding comments from https://bugs.debian.org/1042759#37 :

On Mon, 31 Jul 2023 at 20:57:25 +0200, Michał Byrecki wrote:
> > (org.gnome.Nautilus:51577): GLib-GObject-WARNING **: 20:53:04.844:
> > invalid cast from 'GdkWaylandToplevel' to 'GdkX11Surface'
> > 
> > (org.gnome.Nautilus:51577): GLib-GObject-WARNING **: 20:53:04.844:
> > invalid cast from 'GdkWaylandDisplay' to 'GdkX11Display'

These warnings indicate that a component is assuming that all windows
are X11 windows, and all displays are X11 displays; and that's also the
cause of the segfault, while calling XGetWindowAttributes on something
that is not a valid X11 window (probably a null pointer dereference).

> > #1  0x00007ffff070d467 in  () at /usr/lib/x86_64-linux-gnu/gtk-4.0/4.0.0/immodules/libim-scim.so

This component seems to be the one that is making that assumption.
The bug affects multiple GTK 4 apps because it's a module that has been
loaded into GTK 4.

Looking at scim-gtk-immodule's GTK 4 code in
<https://github.com/scim-im/scim/commit/d35bf5d331d885e94914fea6eab9c56f20666c8d>,
it does things like this:

> #ifdef GDK_WINDOWING_X11
>     GdkX11Display *display = NULL;
> 
>     if (widget != NULL) {
>         display = GDK_X11_DISPLAY (gtk_widget_get_display(widget));
>     } else {
>         display = GDK_X11_DISPLAY (gdk_display_get_default ());
>     }

That's not correct code: just because the X11 windowing system is
compiled into GTK, that doesn't mean it is the one currently in use. The
GdkDisplay object might be a GdkX11Display, but equally it might be a
GdkWaylandDisplay. (That's why GDK_BACKEND=x11 is a workaround for this,
because when that environment variable is set, the X11 windowing system
*is* the one in use.)

I haven't checked what scim-gtk-immodule does for GTK 3, but if it has the
same pattern there, it would be equally problematic for GTK 3.

The correct pattern is more like this:

    GdkDisplay *display;

    if (widget != NULL) {
        display = gtk_widget_get_display (widget));
    } else {
        display = gdk_display_get_default ();
    }

#ifdef GDK_WINDOWING_X11
    if (GDK_IS_X11_DISPLAY (display) {
        GdkX11Display *x11_display = GDK_X11_DISPLAY (display);

        /* ... do X11 things with x11_display ... */
    }
#endif
#ifdef GDK_WINDOWING_WAYLAND
    if (GDK_IS_WAYLAND_DISPLAY (display) {
        GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (display);

        /* ... do Wayland things with wayland_display ... */
    }
#endif

Until scim-gtk-immodule is fixed, the workaround would be to either set
GDK_BACKEND=x11, or use an X11 desktop environment or a desktop environment
in X11 mode (like the "GNOME (Xorg)" option for GNOME), or remove
scim-gtk-immodule and use a different input method framework such as ibus.

scim and Qt5

What is the plan for scim with regards to Qt5?

unpredictable behaviour loading scim from xinitrc

was first reported on https://bugs.archlinux.org/task/52973
a little hard for me to summarize even several days later. i guess the way i'm currently looking at it is:
when launched as a daemon without the taskbar (lxpanel, tint2) scim works 100%.
when launched with lxpanel scim is not responsive by default. you get the icon, but the triggers don't work, mouse selection doesn't have any effect. but you can still make it work by launching from the terminal something like GTK_IM_MODULE="scim" leafpad.
But as i note on that archlinux bugs page it did seem to work with the lxpanel on the very fresh install with pretty much nothing but xorg scim and mousepad installed. Few commands later it got messed up. Will be more then happy to provide further details! Not really sure where to look for further info at the moment.

  • package version(s): scim 1.4.17-1, scim-tables 0.5.14.1-2, scim-pinyin 0.5.92-3.
    I'm switching betwwen RussianComputer, SmartPinyin and default.
    can't seem to trace the problem in journalctl (there is an example output on the archlinux bugs page).
    My current .xinitrc: http://pastebin.com/QGb19fMJ
    Thanks a lot for your hardwork!

scim-hangul Dubeolsik(2-set) has a problem in Slackware64 14.2

Before understanding this bug, you should know about compose of Korean character. As many other language, Korean character is consist of consonant and vowel. Each of Korean character can be composed of maximum 2 consonant. In this case the first consonant is called 'onset' and the last consonant is called 'coda'. In addition, vowel is called 'nucleus.' For example, the character '윤''s the onset is 'ㅇ', the nucleus(vowel) is 'ㅠ' and the coda is 'ㄴ'.

The most used Korean layout is Dubeolsik(2-set). When typing 가나다 with Dubeulsik, the order is 'ㄱ, ㅏ, ㄴ, ㅏ, ㄷ, ㅏ' and its process is 'ㄱ, 가, 간, 가나, 가낟, 가나다'. As you can see, '간' to '가나', the coda is switched to next character's onset. It is called '도깨비불 현상(wisp phenomenon)' and is compulsory phenomenon of Dubeulsik.

With scim-1.4.17 and scim-hangul-0.4.0, Hangul Dubeolsik does not occur wisp phenomenon. For example, when typing '가나다', the result is '간ㅏ다' instead of '가나다'.

Doesn't compile with c++11

GCC 6.0 defaults to c++11, -std=c++11 can be passed to 5.x and it fails to compile with error

In file included from /usr/include/c++/6.0/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/6.0/bits/char_traits.h:39,
                 from /usr/include/c++/6.0/ios:40,
                 from /usr/include/c++/6.0/ostream:38,
                 from /usr/include/c++/6.0/iostream:39,
                 from .././../../../src/scim.h:193,
                 from .././../../../src/scim_backend.cpp:33:
/usr/include/c++/6.0/bits/stl_pair.h: In instantiation of ‘struct std::pair<const std::__cxx11::basic_string<char>, scim::Pointer<scim::IMEngineFactoryBase> >’:
.././../../../src/scim_backend.cpp:117:82:   required from here
/usr/include/c++/6.0/bits/stl_pair.h:191:17: error: ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = scim::Pointer<scim::IMEngineFactoryBase>]’ declared to take const reference, but implicit declaration would take non-const
       constexpr pair(const pair&) = default;
                 ^

Unable to input anything until switching windows

I am opening this issue because scim appeals to me very much. While other input method platforms grow larger and slower, scim remains simple and lean.

Is it being maintained? I see some commits. I know somebody is working.

Anyway, there is one major issue that prevents me from being able to use scim. It has been described elsewhere as a loss of focus, but in my experience window focus is never lost. Rather, scim suddenly stops sending input to the focused window. This has a tendency to happen when using Ctrl keyboard shortcuts, e.g. Ctrl + u in a terminal window running a shell.

Switching focus to another window, pressing a key or two, and switching back to the original window usually solves the issue. When it does not, switching again and pressing even more keys almost always does. Wash, rinse, repeat.

Other than this, scim is pretty much perfect (to me, at least). You can configure it with text files for crying out loud--a convenience that scim's alternatives seem to have completely forgotten.

Thank you and take care.

■ uname -srvmo
Linux 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux
■ scim -h
Smart Common Input Method 1.4.18

P.S. I have also experienced this issue on a Debian system back in 2014. And I can almost always reproduce the issue after running the following command:

xdotool key --delay 150 --clearmodifiers "Shift_L+u"

Backspace and delete keys dysfunctional in some GTK+ applications

The issue, as seen in some GTK+ applications is that when SCIM IM is turned on,

  • pressing the backspace key enters text equivalent to typing: <Ctrl+Shift+U> 0008 <Enter>
  • pressing the delete key enters n text equivalent to typing: <Ctrl+Shift+U> 007F <Enter>

This issue has shown up for version 1.4.14 users or various platforms:

想要写一个基于scim的输入法插件

有个问题想要咨询一下:

  1. 基于scim的输入法是否需要一个配置文件安装到scim的某个目录下?其他输入法框架都有一个其规定的输入法配置文件写法,需要安装到对应的目录下,这样输入法才会被输入法框架加载。
  2. scim只能通过命令行重新启动scim来查看debug日志是吗?

期待回复!~

Can't compile out of srcdir

When trying to compile out of source dir like mkdir build && cd build && ./../configure && make it errors with

In file included from ../../.././../extras/immodules/agent/scim-bridge-agent.cpp:44:0:
../../.././../src/scim.h:278:28: fatal error: scim_types.h: No such file or directory

typo "initialized"

This is from the output of lintian:

extras/immodules/client-common/scim-bridge-client.c
1233: scim_bridge_perrorln ("The client library is not intialized at scim_bridge_client_read_and_dispatch ()");

"intialized" should be "initialized"

Can not input non-Chinese characters in GNOME 3.20

I'm using latest master of SCIM (scim-pinyin) and GNOME 3.20, Chinese input is fine, but with SCIM switched on, and pressed SHIFT,

  1. I can not input English chars, halfwidth chars, half width punctuation mark. numbers.
  2. In Chinese input mode, I can't input upper case letters, it worked before GNOME 3.20.

I think they are the same issue, non-unicode chars ignored by SCIM, is that true?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.