Introduction
Introduction Statistics Contact Development Disclaimer Help
x: move IME variables into XWindow ime embedded struct - st - simple terminal
git clone git://git.suckless.org/st
Log
Files
Refs
README
LICENSE
---
commit 99de33395126fc9708f442d155e737b9182f6ef4
parent 895e5b50a8cc835c19a45e1e328eb4dc78f5fd0c
Author: Quentin Rameau <[email protected]>
Date: Sun, 2 Feb 2020 15:37:29 +0100
x: move IME variables into XWindow ime embedded struct
Diffstat:
M x.c | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/x.c b/x.c
@@ -94,8 +94,10 @@ typedef struct {
Drawable buf;
GlyphFontSpec *specbuf; /* font spec buffer used for rendering */
Atom xembed, wmdeletewin, netwmname, netwmpid;
- XIM xim;
- XIC xic;
+ struct {
+ XIM xim;
+ XIC xic;
+ } ime;
Draw draw;
Visual *vis;
XSetWindowAttributes attrs;
@@ -1026,18 +1028,18 @@ ximopen(Display *dpy)
{
XIMCallback destroy = { .client_data = NULL, .callback = ximdestroy };
- if ((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
+ if ((xw.ime.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
XSetLocaleModifiers("@im=local");
- if ((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
+ if ((xw.ime.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) {
XSetLocaleModifiers("@im=");
- if ((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NU…
+ if ((xw.ime.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) =…
die("XOpenIM failed. Could not open input devi…
}
}
- if (XSetIMValues(xw.xim, XNDestroyCallback, &destroy, NULL) != NULL)
+ if (XSetIMValues(xw.ime.xim, XNDestroyCallback, &destroy, NULL) != NUL…
die("XSetIMValues failed. Could not set input method value.\n"…
- xw.xic = XCreateIC(xw.xim, XNInputStyle, XIMPreeditNothing | XIMStatus…
- XNClientWindow, xw.win, XNFocusWindow, xw.win,…
+ xw.xic = XCreateIC(xw.ime.xim, XNInputStyle, XIMPreeditNothing | XIMSt…
+ XNClientWindow, xw.win, XNFocusWindow, xw.win, NULL…
if (xw.xic == NULL)
die("XCreateIC failed. Could not obtain input method.\n");
}
@@ -1053,7 +1055,7 @@ ximinstantiate(Display *dpy, XPointer client, XPointer ca…
void
ximdestroy(XIM xim, XPointer client, XPointer call)
{
- xw.xim = NULL;
+ xw.ime.xim = NULL;
XRegisterIMInstantiateCallback(xw.dpy, NULL, NULL, NULL,
ximinstantiate, NULL);
}
@@ -1682,13 +1684,13 @@ focus(XEvent *ev)
return;
if (ev->type == FocusIn) {
- XSetICFocus(xw.xic);
+ XSetICFocus(xw.ime.xic);
win.mode |= MODE_FOCUSED;
xseturgency(0);
if (IS_SET(MODE_FOCUS))
ttywrite("\033[I", 3, 0);
} else {
- XUnsetICFocus(xw.xic);
+ XUnsetICFocus(xw.ime.xic);
win.mode &= ~MODE_FOCUSED;
if (IS_SET(MODE_FOCUS))
ttywrite("\033[O", 3, 0);
@@ -1752,7 +1754,7 @@ kpress(XEvent *ev)
if (IS_SET(MODE_KBDLOCK))
return;
- len = XmbLookupString(xw.xic, e, buf, sizeof buf, &ksym, &status);
+ len = XmbLookupString(xw.ime.xic, e, buf, sizeof buf, &ksym, &status);
/* 1. shortcuts */
for (bp = shortcuts; bp < shortcuts + LEN(shortcuts); bp++) {
if (ksym == bp->keysym && match(bp->mod, e->state)) {
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.