网站运营
位置:首页>> 网站运营>> Ubuntu下sublime中文无法输入的处理方案

Ubuntu下sublime中文无法输入的处理方案

作者:hebedich  发布时间:2023-05-23 16:54:40 

标签:Ubuntu,sublime,中文,无法输入

注:

只测试了了fcitx,没有测试ibus
因为不是新手教程,所以安装sublime,fcitx,gcc等等的就不说了
若看不懂请留言
下面为实现过程:

copy下列代码,保存为sublime_fix.c


#include <gtk/gtk.h>
#include <gdk/gdkx.h>
typedef GdkSegment GdkRegionBox;
struct _GdkRegion
{
    long size;
    long numRects;
    GdkRegionBox *rects;
    GdkRegionBox extents;
};
GtkIMContext *local_context;
voidgdk_region_get_clipbox (const GdkRegion *region , GdkRectangle  *rectangle)
{
    g_return_if_fail (region != NULL);
    g_return_if_fail (rectangle != NULL);
    rectangle->x = region->extents.x1;
    rectangle->y = region->extents.y1;
    rectangle->width = region->extents.x2 - region->extents.x1;
    rectangle->height = region->extents.y2 - region->extents.y1;
    GdkRectangle rect;
    rect.x = rectangle->x;
    rect.y = rectangle->y;
    rect.width = 0;
    rect.height = rectangle->height;
    if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {
        gtk_im_context_set_cursor_location(local_context, rectangle);
    }
}

static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)
{
    XEvent *xev = (XEvent *)xevent;
    if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {
        GdkWindow * win = g_object_get_data(G_OBJECT(im_context),"window");
        if(GDK_IS_WINDOW(win))
        gtk_im_context_set_client_window(im_context, win);
    }
    return GDK_FILTER_CONTINUE;
}
void gtk_im_context_set_client_window (GtkIMContext *context , GdkWindow    *window)
{
    GtkIMContextClass *klass;
    g_return_if_fail (GTK_IS_IM_CONTEXT (context));
    klass = GTK_IM_CONTEXT_GET_CLASS (context);
    if (klass->set_client_window)
    klass->set_client_window (context, window);
    if(!GDK_IS_WINDOW (window))
    return;
    g_object_set_data(G_OBJECT(context),"window",window);
    int width = gdk_window_get_width(window);
    int height = gdk_window_get_height(window);
    if(width != 0 && height !=0) {
        gtk_im_context_focus_in(context);
        local_context = context;
    }
    gdk_window_add_filter (window, event_filter, context);
}

使用下列命令编译它


gcc -shared -o libsublime-imfix.so sublime_fix.c `pkg-config --libs --cflags gtk+-2.0/` -fPIC

添加运行权限给libsublime-imfix.so


chmod +x libsublime-imfix.so

将编译后的文件libsublime-imfix.so复制到sublime的文件夹下面
在sublime安装目录下新建文件为sublime_sh.sh,copy内容如下:


#!/bin/bash
SUBLIME_HOME="~/software"  #你的sublime安装目录
LD_LIB="$SUBLIME_HOME/libsublime-imfix.so"
sh  -c "LD_PRELOAD=$LD_LIB  $SUBLIME_HOME/sublime $@"

你已经可以通过teminal启动sublime了,运行./sublime_sh.sh即可
若要通过启动器启动sublime,请将你sublime.desktop里面的exec路径修改为sublime_sh.sh所在路径

0
投稿

猜你喜欢

  • 最近几年来,基于Web的免费Email系统非常流行,当前,几个著名的免费Email网站基本上已经成为大多数人的选择,建立单纯提供免费Emai
  • 人之患在好为人师。陈国华邀请我加入“创业圈”群,并讲讲创业,其实我没什么资格给大家讲创业。我只是觉得现在的年轻人在理解别人说过的话的方面比较
  • 从今年1月份韩国正式开通IPTV服务至今,经过9个月的发展,韩国IPTV用户数量已经突破超过100万。韩国数码传媒产业协会近日公布,韩国IP
  • perl是一种功能非常强大的脚本语言。主要用于文本的处理,程序员还可以通过perl脚本使用系统调用。如果程序编写的不好,就会为攻击者闯入服务
  • 今天我们来讨论一下GoDaddy主机的安全信息问题独立服务器与共享托管账户相比,力量更为强大,也更为多样。你可以在你的服务器上运行及安装几乎
  • 目前,利用网上随处可见的攻击软件,攻击者不需要对网络协议的深厚理解基础,即可完成诸如更换Web网站主页,盗取管理员密码,数据库注入和破坏整个
  • 前言本文主要给大家介绍了SSH登录服务器后显示基础信息的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:方法如下:安装landsca
  • 核心提示:如何让攻击者无缘Webshell那是代码部分的问题,我们做为管理员应该如何加固Web服务器,让攻击者在获得了Webshell之后无
  • 全新推出的Discuz! 7.2版本从用户注册登陆应用、社区论坛前后管理两方面着眼,增加和改进了30多处与社区门户运营密切的功能与细节,实现
  • 许多坛友常常问我,做Google adsense能赚多少钱?以前,我常这样回答,收入的多少与网站类型、内容有关,与访问量有关,还与广告是否经
  • 据国外媒体报道,上周在北京举行的国际万维网大会上,两位Google的工程师展示了下一代的图片搜索。值得注意的是,新的图片搜索不再只是由图片相
  • Windows Server自带的互联网信息服务器(Internet Information Server,IIS)是架设网站服务器的常用工
  • 信息技术和创新基金会(ITIF)近日公布了一份统计图,列举了全球20大国家互联网的接入情况,包括平均网速和网费两个指标。日本、韩国均处于遥遥
  • 内容摘要:本文列出了SQL 注入一些常用语句,站长朋友请注意了,看看您的网站程序是否存在这样的漏洞,一般过滤post或get过滤的
  • 1、锚文字:用于链接的文字;可直接影响SEO效果。锚文字可以不同,但是每个锚文字都应该是跟网站主题相关的,而且最好是我们所希望的目标关键词。
  • 套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。套接字的特性有三个属性确定,它们是:
  • 下面是一个关键字标签"Keywords"的使用样例:<meta name="keywords"
  • 一. jira的简介JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、
  • 一、.htaccess的基本作用       .htaccess是一个纯文本文件
  • 网站空间是我们做站必不可少的一部分,在这次网络整改的风暴中,倒下了一批IDC服务商,很多站长因为受不了国内的政策,更受不了运营商“一刀切”的
手机版 网站运营 asp之家 www.aspxhome.com