Compare commits
2 Commits
795353609b
...
f686edd198
| Author | SHA1 | Date | |
|---|---|---|---|
| f686edd198 | |||
| 7e69827c13 |
20
gtk/main.c
20
gtk/main.c
@@ -158,15 +158,19 @@ getpreedit(GtkIMContext *ctx, gchar **str, PangoAttrList **attrs,
|
||||
PangoAttribute *u;
|
||||
|
||||
im = (Im*)ctx;
|
||||
*str = g_strdup(im->pre);
|
||||
*attrs = pango_attr_list_new();
|
||||
if(im->prelen > 0){
|
||||
u = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
||||
u->start_index = 0;
|
||||
u->end_index = im->prelen;
|
||||
pango_attr_list_insert(*attrs, u);
|
||||
if(str)
|
||||
*str = g_strdup(im->pre);
|
||||
if(attrs){
|
||||
*attrs = pango_attr_list_new();
|
||||
if(im->prelen > 0){
|
||||
u = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
||||
u->start_index = 0;
|
||||
u->end_index = im->prelen;
|
||||
pango_attr_list_insert(*attrs, u);
|
||||
}
|
||||
}
|
||||
*cursor_pos = g_utf8_strlen(im->pre, -1);
|
||||
if(cursor_pos)
|
||||
*cursor_pos = g_utf8_strlen(im->pre, -1);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
1
ko.c
1
ko.c
@@ -203,7 +203,6 @@ transko(Im *im, Rune c)
|
||||
e.s = im->pre;
|
||||
sclear(&im->pre);
|
||||
}
|
||||
sputr(&e.s, c);
|
||||
return e;
|
||||
}
|
||||
|
||||
|
||||
3
run.sh
3
run.sh
@@ -1,8 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
pkill strans
|
||||
pkill strans-xim
|
||||
|
||||
sleep 1
|
||||
./strans map font &
|
||||
sleep 1
|
||||
|
||||
10
strans.c
10
strans.c
@@ -185,10 +185,8 @@ transmap(Im *im, Rune c)
|
||||
e.s = im->pre;
|
||||
sclear(&key);
|
||||
sputr(&key, c);
|
||||
if(!maplookup(t, &key, &e.dict)){
|
||||
sputr(&e.s, c);
|
||||
if(!maplookup(t, &key, &e.dict))
|
||||
return e;
|
||||
}
|
||||
e.eat = 1;
|
||||
sputr(&e.next, c);
|
||||
return e;
|
||||
@@ -273,14 +271,16 @@ keystroke(u32int ks, u32int mod, Str *com)
|
||||
return 1;
|
||||
}
|
||||
if(ks > 0x7f || ks == ' '){
|
||||
if(im.pre.n == 0)
|
||||
return 0;
|
||||
commit(com);
|
||||
sputr(com, ks);
|
||||
reset();
|
||||
return 1;
|
||||
}
|
||||
dotrans(ks, com);
|
||||
n = dotrans(ks, com);
|
||||
show();
|
||||
return 1;
|
||||
return n;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user