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;
|
PangoAttribute *u;
|
||||||
|
|
||||||
im = (Im*)ctx;
|
im = (Im*)ctx;
|
||||||
*str = g_strdup(im->pre);
|
if(str)
|
||||||
*attrs = pango_attr_list_new();
|
*str = g_strdup(im->pre);
|
||||||
if(im->prelen > 0){
|
if(attrs){
|
||||||
u = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
*attrs = pango_attr_list_new();
|
||||||
u->start_index = 0;
|
if(im->prelen > 0){
|
||||||
u->end_index = im->prelen;
|
u = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
||||||
pango_attr_list_insert(*attrs, u);
|
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
|
static void
|
||||||
|
|||||||
1
ko.c
1
ko.c
@@ -203,7 +203,6 @@ transko(Im *im, Rune c)
|
|||||||
e.s = im->pre;
|
e.s = im->pre;
|
||||||
sclear(&im->pre);
|
sclear(&im->pre);
|
||||||
}
|
}
|
||||||
sputr(&e.s, c);
|
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
3
run.sh
3
run.sh
@@ -1,8 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
pkill strans
|
pkill strans
|
||||||
pkill strans-xim
|
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
./strans map font &
|
./strans map font &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|||||||
10
strans.c
10
strans.c
@@ -185,10 +185,8 @@ transmap(Im *im, Rune c)
|
|||||||
e.s = im->pre;
|
e.s = im->pre;
|
||||||
sclear(&key);
|
sclear(&key);
|
||||||
sputr(&key, c);
|
sputr(&key, c);
|
||||||
if(!maplookup(t, &key, &e.dict)){
|
if(!maplookup(t, &key, &e.dict))
|
||||||
sputr(&e.s, c);
|
|
||||||
return e;
|
return e;
|
||||||
}
|
|
||||||
e.eat = 1;
|
e.eat = 1;
|
||||||
sputr(&e.next, c);
|
sputr(&e.next, c);
|
||||||
return e;
|
return e;
|
||||||
@@ -273,14 +271,16 @@ keystroke(u32int ks, u32int mod, Str *com)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if(ks > 0x7f || ks == ' '){
|
if(ks > 0x7f || ks == ' '){
|
||||||
|
if(im.pre.n == 0)
|
||||||
|
return 0;
|
||||||
commit(com);
|
commit(com);
|
||||||
sputr(com, ks);
|
sputr(com, ks);
|
||||||
reset();
|
reset();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
dotrans(ks, com);
|
n = dotrans(ks, com);
|
||||||
show();
|
show();
|
||||||
return 1;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
4
vi.c
4
vi.c
@@ -101,10 +101,8 @@ transvi(Im *im, Rune c)
|
|||||||
return transmap(im, c);
|
return transmap(im, c);
|
||||||
|
|
||||||
memset(&e, 0, sizeof e);
|
memset(&e, 0, sizeof e);
|
||||||
if(im->pre.n == 0){
|
if(im->pre.n == 0)
|
||||||
sputr(&e.s, c);
|
|
||||||
return e;
|
return e;
|
||||||
}
|
|
||||||
if(im->pre.r[im->pre.n - 1] == '\\'){
|
if(im->pre.r[im->pre.n - 1] == '\\'){
|
||||||
pre = im->pre;
|
pre = im->pre;
|
||||||
pre.n--;
|
pre.n--;
|
||||||
|
|||||||
Reference in New Issue
Block a user