Sublime Text 2 es un editor de código si desea introducir la necesidad de China para usar las palabras de entrada fcitx, los usuarios han encontrado recientemente dos casos no se pueden utilizar de entrada fcitx de Sublime Text, Xiao Bian le dio en el próximo Ubuntu Sublime Text 2 no puede cambiar la solución al método de entrada fcitx.
Guardar para guardar esta siguiente código ~ /sublime-imfix.c
/*
sublime-imfix.c
Uso LD_PRELOAD interponer alguna función para fijar el soporte de métodos de entrada sublime para Linux.
por Cjacker Huang "jianzhong.huang en i-soft.com.cn"
gcc -o -shared libsublime-imfix. por lo sublime_imfix.c `pkg-config --libs --cflags GTK + -2.0` -fPIC
= LD_PRELOAD. /libsublime-imfix.so sublime_text
* /
# include "GTK /gtk.h"
# include "GDK /gdkx.h"
typedef GdkSegment GdkRegionBox;
struct _GdkRegion
{
tamaño de largo;
largos numRects;
* GdkRegionBox rectas;
extensiones GdkRegionBox;
};
* GtkIMContext local_context;
vacío
gdk_region_get_clipbox (const * GdkRegion región,
GdkRectangle * rectángulo)
{
g_return_if_fail (región = NULL); !!
g_return_if_fail (rectángulo = NULL);
rectangle- "x = "extents.x1;
rectangle-" de región y = de región "extents.y1;
rectangle-" width = de región "extents.x2 - de región" extents.x1;
rectangle- "height = de región" extents.y2 - de región "extents.y1;
GdkRectangle rect;
rect.x = rectangle-" x;
rect.y = Rectangle- "y;
rect.width = 0;
rect.height = rectangle-" altura;
//La anchura de intercalación es 2;
//Tal vez a veces se comete un error, pero para la mayoría de las veces, debe ser el símbolo de intercalación
Si (rectangle- "== ancho de 2 &>K_IS_IM_CONTEXT (local_context)). {
gtk_im_context_set_cursor_location (local_context, rectángulo);
}
}
//esto es necesario, por ejemplo, si introduce algo en diálogo de archivo y volver al área de edición
//se perdió contexto, por lo que aquí nos fijamos de nuevo.
event_filter GdkFilterReturn estática (GdkXEvent * XEvent, GdkEvent * evento, im_context gpointer)
{
* XEvent xev = (XEvent *) XEvent;
Si (tipo xev-" == KeyRelease &>K_IS_IM_CONTEXT (im_context)) {
GdkWindow * victoria = g_object_get_data (G_OBJECT (im_context), y " ventana y ");
Si (GDK_IS_WINDOW (ganar))
gtk_im_context_set_client_window (im_context, ganar);
}
GDK_FILTER_CONTINUE retorno;
}
vacío gtk_im_context_set_client_window (* GtkIMContext contexto, España
* GdkWindow ventana)
{
GtkIMContextClass * Klass;
g_return_if_fail (GTK_IS_IM_CONTEXT (contexto ));
klass = GTK_IM_CONTEXT_GET_CLASS (contexto);
si (klass- "set_client_window)
klass-" set_client_window (contexto, ventana);
si (! GDK_IS_WINDOW (ventana))
retorno;
g_object_set_data (G_OBJECT (contexto), y " ventana y ", ventana);
int width = gdk_window_get_width (ventana);
int height = gdk_window_get_height (ventana);
Si (ancho = 0 &! &height = 0) {
gtk_im_context_focus_in (contexto);
= local_context contexto;
}
gdk_window_add_filter (ventana, event_filter, contexto);
instalación de C /C ++ medio ambiente y GTK libgtk2.0-dev
sudo instalar build-essential
sudo apt-get apt-get install
Terminal-dev libgtk2.0 para entrar en el directorio donde lo sublime-imfix.c, ejecute el siguiente comando
gcc -o -shared libsublime-imfix.so sublime-imfix.c `pkg-config --libs --cflags GTK + -2.0` -fPIC
modificar /usr /share /editor de texto Aplicaciones /archivo sublime.desktop (esto es lo que construyó cuando instaló el texto sublime 2), que se encuentra al principio de " Exec = " filas (dos filas), para modificar el subl
fiesta -c y lsquo; LD_PRELOAD = ~ /libsublime-imfix.so subl y rsquo;
Aceptar, a partir Haga clic en el texto sublime 2 para entrar en chino! (Nota: el terminal no cambia el método de entrada de entrada de China subl abrir)
Ubuntu Sublime Text 2 anterior no se resuelve utilizando el método descrito en la entrada fcitx, modificado de acuerdo con los métodos descritos en el presente documento subl, desde El lanzador lanza Sublime Text 2.
IPv4 es el primer protocolo que se usa ampliamente para formar la piedra angular de las tecnologías
El uso de Ruby on Rails en Linux puede ser más conveniente para el mantenimiento y
Este artículo se centra en los conceptos básicos de cómo configurar el entorno multi-idioma para los
Si el rendimiento del hardware del sistema es insuficiente, cuando juegue o ejecute
Cómo utilizar la herramienta de comandos CRT para ver la información de recursos del sistema Linux
¿Cómo usar la herramienta rz /sz para la transferencia de archivos en Linux
Linux usando el método de comando telnet
Pasos detallados para montar archivos compartidos de Windows en Linux
¿Cómo resolver Linux chino confuso?
Pasos de Ubuntu para instalar el gestor de paquetes de Pacman
Cómo ver el disco de montaje de Linux
Cómo compartir archivos entre Ubuntu y Windows
Cómo abrir y usar Win8 Game Manager
Método de modificación de la longitud de la ruta de acceso del terminal de Linux
El controlador de instalación de Win7 le pide al archivo .HLP faltante cómo hacerlo
WINDOWS XP Cómo abrir el servicio de telnet
Política básica y principios para configurar permisos NTFS en XP
¿Qué debo hacer si el sistema Win8.1 se cae?
Win10 Xiaona no suena cómo hacerlo? Win10 Xiaona no habla solución
Aparece un minipuerto WAN (monitor de red) solución de exclamación amarilla
¿Cómo lograr la programación multihilo shell en Linux
Win8 cómo ver el espacio ocupado por el punto de restauración y establecer el espacio libre máximo