int dfltCornerRadius;
} ShapeInfo;
-#define shText(d, s) \
+#define shText(s) \
((s) ? XkbcAtomText((s)->name) : "default shape")
#define _GD_Priority (1<<0)
KeyInfo dfltKey;
struct _SectionInfo *section;
} RowInfo;
-#define rowText(d, r) \
+#define rowText(r) \
((r) ? XkbcAtomText((r)->section->name) : "default")
#define _GOK_UnknownRow -1
unsigned short nKeys;
OverlayKeyInfo *keys;
} OverlayInfo;
-#define oiText(d, o) \
+#define oiText(o) \
((o) ? XkbcAtomText((o)->name) : "default")
OverlayInfo *overlays;
struct _GeometryInfo *geometry;
} SectionInfo;
-#define scText(d, s) \
+#define scText(s) \
((s) ? XkbcAtomText((s)->name) : "default")
typedef struct _GeometryInfo
{
char *name;
- Display *dpy;
unsigned fileID;
unsigned merge;
int errorCount;
} GeometryInfo;
static char *
-ddText(Display * dpy, DoodadInfo * di)
+ddText(DoodadInfo * di)
{
static char buf[64];
if (di->section)
{
sprintf(buf, "%s in section %s",
- XkbcAtomText(di->name), scText(dpy, di->section));
+ XkbcAtomText(di->name), scText(di->section));
return buf;
}
return XkbcAtomText(di->name);
XkbcAtomText(name), type, which);
if (old)
{
- ACTION1("Using default shape %s instead\n",
- shText(info->dpy, old));
+ ACTION1("Using default shape %s instead\n", shText(old));
return old;
}
ACTION("No default shape; definition ignored\n");
if (((old->defs.fileID == new->defs.fileID)
&& (warningLevel > 0)) || (warningLevel > 9))
{
- WARN1("Duplicate shape name \"%s\"\n",
- shText(info->dpy, old));
+ WARN1("Duplicate shape name \"%s\"\n", shText(old));
ACTION("Using last definition\n");
}
*old = *new;
if (((old->defs.fileID == new->defs.fileID) && (warningLevel > 0))
|| (warningLevel > 9))
{
- WARN1("Multiple shapes named \"%s\"\n", shText(info->dpy, old));
+ WARN1("Multiple shapes named \"%s\"\n", shText(old));
ACTION("Using first definition\n");
}
return True;
if (((old->defs.fileID == new->defs.fileID)
&& (warningLevel > 0)) || (warningLevel > 9))
{
- WARN1("Duplicate shape name \"%s\"\n",
- shText(info->dpy, old));
+ WARN1("Duplicate shape name \"%s\"\n", shText(old));
ACTION("Using last definition\n");
}
*old = *new;
if (((old->defs.fileID == new->defs.fileID) && (warningLevel > 0))
|| (warningLevel > 9))
{
- WARN1("Multiple shapes named \"%s\"\n", shText(info->dpy, old));
+ WARN1("Multiple shapes named \"%s\"\n", shText(old));
ACTION("Using first definition\n");
}
return True;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("key shape", field, shText(info->dpy, si));
+ return ReportNotArray("key shape", field, shText(si));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("key shape", field,
- shText(info->dpy, si), "number");
+ return ReportBadType("key shape", field, shText(si), "number");
}
if (si)
si->dfltCornerRadius = tmp.ival;
return True;
}
info->errorCount++;
- return ReportBadField("key shape", field, shText(info->dpy, si));
+ return ReportBadField("key shape", field, shText(si));
}
static int
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "number");
+ return ReportBadType(typeName, field, ddText(di), "number");
}
di->defs.defined |= _GD_Corner;
di->corner = tmp.ival;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "number");
+ return ReportBadType(typeName, field, ddText(di), "number");
}
di->defs.defined |= _GD_Angle;
di->angle = tmp.ival;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveString(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "string");
+ return ReportBadType(typeName, field, ddText(di), "string");
}
di->shape = XkbcInternAtom(tmp.str, False);
di->defs.defined |= _GD_Shape;
return True;
}
- return ReportBadField(typeName, field, ddText(info->dpy, di));
+ return ReportBadField(typeName, field, ddText(di));
}
#define FIELD_STRING 0
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "number");
+ return ReportBadType(typeName, field, ddText(di), "number");
}
di->defs.defined |= _GD_Angle;
di->angle = tmp.ival;
}
else
{
- return ReportBadField(typeName, field, ddText(info->dpy, di));
+ return ReportBadField(typeName, field, ddText(di));
}
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (type == FIELD_STRING)
{
if (!ExprResolveString(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "string");
+ return ReportBadType(typeName, field, ddText(di), "string");
}
di->defs.defined |= def;
*pField.str = XkbcInternAtom(tmp.str, False);
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "number");
+ return ReportBadType(typeName, field, ddText(di), "number");
}
if ((type == FIELD_USHORT) && (tmp.ival < 0))
{
info->errorCount++;
return
- ReportBadType(typeName, field, ddText(info->dpy, di),
- "unsigned");
+ ReportBadType(typeName, field, ddText(di), "unsigned");
}
di->defs.defined |= def;
if (type == FIELD_USHORT)
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("indicator doodad", field,
- ddText(info->dpy, di));
+ return ReportNotArray("indicator doodad", field, ddText(di));
}
if (!ExprResolveString(value, &tmp, NULL, NULL))
{
info->errorCount++;
return ReportBadType("indicator doodad", field,
- ddText(info->dpy, di), "string");
+ ddText(di), "string");
}
if (uStrCaseCmp(field, "oncolor") == 0)
{
}
return True;
}
- return ReportBadField("indicator doodad", field, ddText(info->dpy, di));
+ return ReportBadField("indicator doodad", field, ddText(di));
}
static int
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "number");
+ return ReportBadType(typeName, field, ddText(di), "number");
}
di->defs.defined |= _GD_Corner;
di->corner = tmp.ival;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "number");
+ return ReportBadType(typeName, field, ddText(di), "number");
}
di->defs.defined |= _GD_Angle;
di->angle = tmp.ival;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveString(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
- "string");
+ return ReportBadType(typeName, field, ddText(di), "string");
}
di->shape = XkbcInternAtom(tmp.str, False);
di->defs.defined |= _GD_Shape;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray(typeName, field, ddText(info->dpy, di));
+ return ReportNotArray(typeName, field, ddText(di));
}
if (!ExprResolveString(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType(typeName, field, ddText(info->dpy, di),
+ return ReportBadType(typeName, field, ddText(di),
"string");
}
di->logoName = uStringDup(tmp.str);
return True;
}
- return ReportBadField(typeName, field, ddText(info->dpy, di));
+ return ReportBadField(typeName, field, ddText(di));
}
static int
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("doodad", field, ddText(info->dpy, di));
+ return ReportNotArray("doodad", field, ddText(di));
}
if (!ExprResolveInteger(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("doodad", field, ddText(info->dpy, di),
- "integer");
+ return ReportBadType("doodad", field, ddText(di), "integer");
}
if ((tmp.ival < 0) || (tmp.ival > XkbGeomMaxPriority))
{
info->errorCount++;
ERROR2("Doodad priority %d out of range (must be 0..%d)\n",
tmp.ival, XkbGeomMaxPriority);
- ACTION1("Priority for doodad %s not changed",
- ddText(info->dpy, di));
+ ACTION1("Priority for doodad %s not changed", ddText(di));
return False;
}
di->defs.defined |= _GD_Priority;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("doodad", field, ddText(info->dpy, di));
+ return ReportNotArray("doodad", field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("doodad", field, ddText(info->dpy, di),
- "number");
+ return ReportBadType("doodad", field, ddText(di), "number");
}
di->defs.defined |= _GD_Left;
di->left = tmp.ival;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("doodad", field, ddText(info->dpy, di));
+ return ReportNotArray("doodad", field, ddText(di));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("doodad", field, ddText(info->dpy, di),
- "number");
+ return ReportBadType("doodad", field, ddText(di), "number");
}
di->defs.defined |= _GD_Top;
di->top = tmp.ival;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("doodad", field, ddText(info->dpy, di));
+ return ReportNotArray("doodad", field, ddText(di));
}
if (!ExprResolveString(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("doodad", field, ddText(info->dpy, di),
- "string");
+ return ReportBadType("doodad", field, ddText(di), "string");
}
di->defs.defined |= _GD_Color;
di->color = XkbcInternAtom(tmp.str, False);
}
WSGO1("Unknown doodad type %d in SetDoodadField\n",
(unsigned int) di->type);
- ACTION2("Definition of %s in %s ignored\n", field, ddText(info->dpy, di));
+ ACTION2("Definition of %s in %s ignored\n", field, ddText(di));
return False;
}
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("keyboard section", field,
- scText(info->dpy, si));
+ return ReportNotArray("keyboard section", field, scText(si));
}
if (!ExprResolveInteger(value, &tmp, NULL, NULL))
{
info->errorCount++;
- ReportBadType("keyboard section", field,
- scText(info->dpy, si), "integer");
+ ReportBadType("keyboard section", field, scText(si), "integer");
return False;
}
if ((tmp.ival < 0) || (tmp.ival > XkbGeomMaxPriority))
info->errorCount++;
ERROR2("Section priority %d out of range (must be 0..%d)\n",
tmp.ival, XkbGeomMaxPriority);
- ACTION1("Priority for section %s not changed",
- scText(info->dpy, si));
+ ACTION1("Priority for section %s not changed", scText(si));
return False;
}
si->priority = tmp.ival;
else
{
info->errorCount++;
- return ReportBadField("keyboard section", field,
- scText(info->dpy, si));
+ return ReportBadField("keyboard section", field, scText(si));
}
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("keyboard section", field,
- scText(info->dpy, si));
+ return ReportNotArray("keyboard section", field, scText(si));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- ReportBadType("keyboard section", field, scText(info->dpy, si),
- "number");
+ ReportBadType("keyboard section", field, scText(si), "number");
return False;
}
si->defs.defined |= def;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("keyboard row", field,
- rowText(info->dpy, row));
+ return ReportNotArray("keyboard row", field, rowText(row));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("keyboard row", field,
- rowText(info->dpy, row), "number");
+ return ReportBadType("keyboard row", field, rowText(row),
+ "number");
}
row->defs.defined |= _GR_Top;
row->top = tmp.uval;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("keyboard row", field,
- rowText(info->dpy, row));
+ return ReportNotArray("keyboard row", field, rowText(row));
}
if (!ExprResolveFloat(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("keyboard row", field,
- rowText(info->dpy, row), "number");
+ return ReportBadType("keyboard row", field, rowText(row),
+ "number");
}
row->defs.defined |= _GR_Left;
row->left = tmp.uval;
if (arrayNdx != NULL)
{
info->errorCount++;
- return ReportNotArray("keyboard row", field,
- rowText(info->dpy, row));
+ return ReportNotArray("keyboard row", field, rowText(row));
}
if (!ExprResolveBoolean(value, &tmp, NULL, NULL))
{
info->errorCount++;
- return ReportBadType("keyboard row", field,
- rowText(info->dpy, row), "boolean");
+ return ReportBadType("keyboard row", field, rowText(row),
+ "boolean");
}
row->defs.defined |= _GR_Vertical;
row->vertical = tmp.uval;
else
{
info->errorCount++;
- return ReportBadField("keyboard row", field, rowText(info->dpy, row));
+ return ReportBadField("keyboard row", field, rowText(row));
}
return True;
}
if (def->nOutlines < 1)
{
- WARN1("Shape \"%s\" has no outlines\n", shText(info->dpy, si));
+ WARN1("Shape \"%s\" has no outlines\n", shText(si));
ACTION("Definition ignored\n");
return True;
}
si->outlines = uTypedCalloc(def->nOutlines, XkbOutlineRec);
if (!si->outlines)
{
- ERROR1("Couldn't allocate outlines for \"%s\"\n",
- shText(info->dpy, si));
+ ERROR1("Couldn't allocate outlines for \"%s\"\n", shText(si));
ACTION("Definition ignored\n");
info->errorCount++;
return False;
outline->points = uTypedCalloc(ol->nPoints, XkbPointRec);
if (!outline->points)
{
- ERROR1("Can't allocate points for \"%s\"\n",
- shText(info->dpy, si));
+ ERROR1("Can't allocate points for \"%s\"\n", shText(si));
ACTION("Definition ignored\n");
info->errorCount++;
return False;
else
{
WARN1("Multiple approximations for \"%s\"\n",
- shText(info->dpy, si));
+ shText(si));
ACTION("Treating all but the first as normal outlines\n");
}
}
else
{
WARN1("Multiple primary outlines for \"%s\"\n",
- shText(info->dpy, si));
+ shText(si));
ACTION("Treating all but the first as normal outlines\n");
}
}
else
{
WARN2("Unknown outline type %s for \"%s\"\n", str,
- shText(info->dpy, si));
+ shText(si));
ACTION("Treated as a normal outline\n");
}
}
bzero(&si, sizeof(ShapeInfo));
si.defs.merge = merge;
si.name =
- XkbcInternAtom(info->dpy, XkbcAtomGetString(def->name), False);
+ XkbcInternAtom(XkbcAtomGetString(def->name), False);
si.dfltCornerRadius = info->dfltCornerRadius;
if (!HandleShapeBody(def, &si, merge, info))
return False;
}
InitDoodadInfo(&new, def->type, si, info);
new.name =
- XkbcInternAtom(info->dpy, XkbcAtomGetString(def->name), False);
+ XkbcInternAtom(XkbcAtomGetString(def->name), False);
for (var = def->body; var != NULL; var = (VarDef *) var->common.next)
{
if (ExprResolveLhs(var->name, &elem, &field, &ndx) == 0)
if (elem.str != NULL)
{
WARN1("Assignment to field of unknown element in doodad %s\n",
- ddText(info->dpy, &new));
+ ddText(&new));
ACTION2("No value assigned to %s.%s\n", elem.str, field.str);
}
else if (!SetDoodadField(&new, field.str, ndx, var->value, si, info))
if ((def->nKeys < 1) && (warningLevel > 3))
{
WARN2("Overlay \"%s\" in section \"%s\" has no keys\n",
- XkbcAtomText(def->name), scText(info->dpy, si));
+ XkbcAtomText(def->name), scText(si));
ACTION("Overlay ignored\n");
return True;
}
bzero(&ol, sizeof(OverlayInfo));
ol.name =
- XkbcInternAtom(info->dpy, XkbcAtomGetString(def->name), False);
+ XkbcInternAtom(XkbcAtomGetString(def->name), False);
for (keyDef = def->keys; keyDef;
keyDef = (OverlayKeyDef *) keyDef->common.next)
{
{
WSGO("Couldn't allocate OverlayKeyInfo\n");
ACTION2("Overlay %s for section %s will be incomplete\n",
- oiText(info->dpy, &ol), scText(info->dpy, si));
+ oiText(&ol), scText(si));
return False;
}
strncpy(key->over, keyDef->over, XkbKeyNameLength);
ERROR("Cannot determine field for unnamed expression\n");
ACTION3("Ignoring key %d in row %d of section %s\n",
row->nKeys + 1, row->section->nRows + 1,
- rowText(info->dpy, row));
+ rowText(row));
return False;
}
}
if ((def->nKeys < 1) && (warningLevel > 3))
{
- ERROR1("Row in section %s has no keys\n", rowText(info->dpy, row));
+ ERROR1("Row in section %s has no keys\n", rowText(row));
ACTION("Section ignored\n");
return True;
}
if ((len < 1) || (len > XkbKeyNameLength))
{
ERROR2("Illegal name %s for key in section %s\n",
- keyDef->name, rowText(info->dpy, row));
+ keyDef->name, rowText(row));
ACTION("Section not compiled\n");
return False;
}
{
WSGO2("Expected %d rows, found %d\n", (unsigned int) def->nRows,
(unsigned int) si->nRows);
- ACTION1("Definition of section %s might be incorrect\n",
- scText(info->dpy, si));
+ ACTION1("Definition of section %s might be incorrect\n", scText(si));
}
return True;
}
return False;
}
si.name =
- XkbcInternAtom(info->dpy, XkbcAtomGetString(def->name), False);
+ XkbcInternAtom(XkbcAtomGetString(def->name), False);
if (!HandleSectionBody(def, &si, merge, info))
return False;
if (!AddSection(info, &si))
/***====================================================================***/
static Bool
-CopyShapeDef(Display * dpy, XkbGeometryPtr geom, ShapeInfo * si)
+CopyShapeDef(XkbGeometryPtr geom, ShapeInfo * si)
{
register int i, n;
XkbShapePtr shape;
Atom name;
si->index = geom->num_shapes;
- name = XkbcInternAtom(dpy, XkbcAtomGetString(si->name), False);
+ name = XkbcInternAtom(XkbcAtomGetString(si->name), False);
shape = XkbAddGeomShape(geom, name, si->nOutlines);
if (!shape)
{
WSGO("Couldn't allocate shape in geometry\n");
- ACTION1("Shape %s not compiled\n", shText(dpy, si));
+ ACTION1("Shape %s not compiled\n", shText(si));
return False;
}
old_outline = si->outlines;
if (!outline)
{
WSGO("Couldn't allocate outline in shape\n");
- ACTION1("Shape %s is incomplete\n", shText(dpy, si));
+ ACTION1("Shape %s is incomplete\n", shText(si));
return False;
}
n = old_outline->num_points;
if (warningLevel < 9)
{
ERROR1("No position defined for doodad %s\n",
- ddText(info->dpy, di));
+ ddText(di));
ACTION("Illegal doodad ignored\n");
return False;
}
{
ERROR2("No shape defined for %s doodad %s\n",
(di->type == XkbOutlineDoodad ? "outline" : "filled"),
- ddText(info->dpy, di));
+ ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
si = FindShape(info, di->shape,
(di->type ==
XkbOutlineDoodad ? "outline doodad" :
- "solid doodad"), ddText(info->dpy, di));
+ "solid doodad"), ddText(di));
if (si)
di->shape = si->name;
else
{
- ERROR1("No legal shape for %s\n", ddText(info->dpy, di));
+ ERROR1("No legal shape for %s\n", ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
{
if (warningLevel > 5)
{
- WARN1("No color for doodad %s\n", ddText(info->dpy, di));
+ WARN1("No color for doodad %s\n", ddText(di));
ACTION("Using black\n");
}
di->color = XkbcInternAtom("black", False);
case XkbTextDoodad:
if ((di->defs.defined & _GD_Text) == 0)
{
- ERROR1("No text specified for text doodad %s\n",
- ddText(info->dpy, di));
+ ERROR1("No text specified for text doodad %s\n", ddText(di));
ACTION("Illegal doodad definition ignored\n");
return False;
}
{
if (warningLevel > 5)
{
- WARN1("No color specified for doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No color specified for doodad %s\n", ddText(di));
ACTION("Using black\n");
}
di->color = XkbcInternAtom("black", False);
{
WARN1
("Text doodad %s has full and partial font definition\n",
- ddText(info->dpy, di));
+ ddText(di));
ACTION("Full specification ignored\n");
}
di->defs.defined &= ~_GD_FontSpec;
{
if (warningLevel > 5)
{
- WARN1("No font specified for doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font specified for doodad %s\n", ddText(di));
ACTION1("Using \"%s\"\n", DFLT_FONT);
}
di->font = XkbcInternAtom(DFLT_FONT, False);
{
if (warningLevel > 7)
{
- WARN1("No font slant for text doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font slant for text doodad %s\n", ddText(di));
ACTION1("Using \"%s\"\n", DFLT_SLANT);
}
di->fontSlant = XkbcInternAtom(DFLT_SLANT, False);
{
if (warningLevel > 7)
{
- WARN1("No font weight for text doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font weight for text doodad %s\n", ddText(di));
ACTION1("Using \"%s\"\n", DFLT_WEIGHT);
}
di->fontWeight = XkbcInternAtom(DFLT_WEIGHT, False);
{
if (warningLevel > 9)
{
- WARN1("No font set width for text doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font set width for text doodad %s\n", ddText(di));
ACTION1("Using \"%s\"\n", DFLT_SET_WIDTH);
}
di->fontSetWidth = XkbcInternAtom(DFLT_SET_WIDTH, False);
{
if (warningLevel > 9)
{
- WARN1("No font variant for text doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font variant for text doodad %s\n", ddText(di));
ACTION1("Using \"%s\"\n", DFLT_VARIANT);
}
di->fontVariant = XkbcInternAtom(DFLT_VARIANT, False);
{
if (warningLevel > 7)
{
- WARN1("No font encoding for doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font encoding for doodad %s\n", ddText(di));
ACTION1("Using \"%s\"\n", DFLT_ENCODING);
}
di->fontEncoding = XkbcInternAtom(DFLT_ENCODING, False);
{
if (warningLevel > 7)
{
- WARN1("No font size for text doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No font size for text doodad %s\n", ddText(di));
ACTION1("Using %s point text\n", XkbcGeomFPText(DFLT_SIZE));
}
di->fontSize = DFLT_SIZE;
size *= nLines;
if (warningLevel > 5)
{
- WARN1("No height for text doodad %s\n",
- ddText(info->dpy, di));
+ WARN1("No height for text doodad %s\n", ddText(di));
ACTION1("Using calculated height %s millimeters\n",
XkbcGeomFPText(size));
}
width *= (di->height * 2) / 3;
if (warningLevel > 5)
{
- WARN1("No width for text doodad %s\n", ddText(info->dpy, di));
+ WARN1("No width for text doodad %s\n", ddText(di));
ACTION1("Using calculated width %s millimeters\n",
XkbcGeomFPText(width));
}
case XkbIndicatorDoodad:
if ((di->defs.defined & _GD_Shape) == 0)
{
- ERROR1("No shape defined for indicator doodad %s\n",
- ddText(info->dpy, di));
+ ERROR1("No shape defined for indicator doodad %s\n", ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
else
{
ShapeInfo *si;
- si = FindShape(info, di->shape, "indicator doodad",
- ddText(info->dpy, di));
+ si = FindShape(info, di->shape, "indicator doodad", ddText(di));
if (si)
di->shape = si->name;
else
{
- ERROR1("No legal shape for doodad %s\n",
- ddText(info->dpy, di));
+ ERROR1("No legal shape for doodad %s\n", ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
if (warningLevel > 5)
{
WARN1("No \"on\" color for indicator doodad %s\n",
- ddText(info->dpy, di));
+ ddText(di));
ACTION("Using green\n");
}
di->color = XkbcInternAtom("green", False);
if (warningLevel > 5)
{
WARN1("No \"off\" color for indicator doodad %s\n",
- ddText(info->dpy, di));
+ ddText(di));
ACTION("Using black\n");
}
di->offColor = XkbcInternAtom("black", False);
case XkbLogoDoodad:
if (di->logoName == NULL)
{
- ERROR1("No logo name defined for logo doodad %s\n",
- ddText(info->dpy, di));
+ ERROR1("No logo name defined for logo doodad %s\n", ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
if ((di->defs.defined & _GD_Shape) == 0)
{
- ERROR1("No shape defined for logo doodad %s\n",
- ddText(info->dpy, di));
+ ERROR1("No shape defined for logo doodad %s\n", ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
{
ShapeInfo *si;
si = FindShape(info, di->shape, "logo doodad",
- ddText(info->dpy, di));
+ ddText(di));
if (si)
di->shape = si->name;
else
{
- ERROR1("No legal shape for %s\n", ddText(info->dpy, di));
+ ERROR1("No legal shape for %s\n", ddText(di));
ACTION("Incomplete definition ignored\n");
return False;
}
{
if (warningLevel > 5)
{
- WARN1("No color for doodad %s\n", ddText(info->dpy, di));
+ WARN1("No color for doodad %s\n", ddText(di));
ACTION("Using black\n");
}
di->color = XkbcInternAtom("black", False);
{
WSGO1("Couldn't allocate doodad in %s\n",
(section ? "section" : "geometry"));
- ACTION1("Cannot copy doodad %s\n", ddText(info->dpy, di));
+ ACTION1("Cannot copy doodad %s\n", ddText(di));
return False;
}
doodad->any.type = di->type;
if (section == NULL)
{
WSGO("Couldn't allocate section in geometry\n");
- ACTION1("Section %s not compiled\n", scText(info->dpy, si));
+ ACTION1("Section %s not compiled\n", scText(si));
return False;
}
section->top = si->top;
if (row == NULL)
{
WSGO("Couldn't allocate row in section\n");
- ACTION1("Section %s is incomplete\n", scText(info->dpy, si));
+ ACTION1("Section %s is incomplete\n", scText(si));
return False;
}
row->top = ri->top;
if ((ki->defs.defined & _GK_Name) == 0)
{
ERROR3("Key %d of row %d in section %s has no name\n",
- (int) ki->index, (int) ri->index,
- scText(info->dpy, si));
- ACTION1("Section %s ignored\n", scText(info->dpy, si));
+ (int) ki->index, (int) ri->index, scText(si));
+ ACTION1("Section %s ignored\n", scText(si));
return False;
}
key = XkbAddGeomKey(row);
if (key == NULL)
{
WSGO("Couldn't allocate key in row\n");
- ACTION1("Section %s is incomplete\n", scText(info->dpy, si));
+ ACTION1("Section %s is incomplete\n", scText(si));
return False;
}
memcpy(key->name.name, ki->name, XkbKeyNameLength);
GeometryInfo info;
InitGeometryInfo(&info, file->id, merge);
- info.dpy = xkb->dpy;
HandleGeometryFile(file, xkb, merge, &info);
if (info.errorCount == 0)
for (si = info.shapes; si != NULL;
si = (ShapeInfo *) si->defs.next)
{
- if (!CopyShapeDef(xkb->dpy, geom, si))
+ if (!CopyShapeDef(geom, si))
return False;
}
}
typedef struct _KeyTypeInfo
{
CommonInfo defs;
- Display *dpy;
Atom name;
int fileID;
unsigned mask;
typedef struct _KeyTypesInfo
{
- Display *dpy;
char *name;
int errorCount;
int fileID;
/***====================================================================***/
-#define ReportTypeShouldBeArray(t,f) \
- ReportShouldBeArray("key type",(f),TypeTxt(t))
-#define ReportTypeBadType(t,f,w) \
- ReportBadType("key type",(f),TypeTxt(t),(w))
+#define ReportTypeShouldBeArray(t, f) \
+ ReportShouldBeArray("key type", (f), TypeTxt(t))
+#define ReportTypeBadType(t, f, w) \
+ ReportBadType("key type", (f), TypeTxt(t), (w))
/***====================================================================***/
Bool /* report */
);
-#define MapEntryTxt(t,x,e) \
- XkbVModMaskText((t)->dpy,(x),(e)->mods.real_mods,(e)->mods.vmods,XkbMessage)
-#define PreserveIndexTxt(t,x,p) \
- XkbVModMaskText((t)->dpy,(x),(p)->indexMods,(p)->indexVMods,XkbMessage)
-#define PreserveTxt(t,x,p) \
- XkbVModMaskText((t)->dpy,(x),(p)->preMods,(p)->preVMods,XkbMessage)
-#define TypeTxt(t) XkbcAtomText((t)->name)
-#define TypeMaskTxt(t,x) \
- XkbVModMaskText((t)->dpy,(x),(t)->mask,(t)->vmask,XkbMessage)
+#define MapEntryTxt(x, e) \
+ XkbVModMaskText((x), (e)->mods.real_mods, (e)->mods.vmods, XkbMessage)
+#define PreserveIndexTxt(x, p) \
+ XkbVModMaskText((x), (p)->indexMods, (p)->indexVMods, XkbMessage)
+#define PreserveTxt(x, p) \
+ XkbVModMaskText((x), (p)->preMods, (p)->preVMods, XkbMessage)
+#define TypeTxt(t) \
+ XkbcAtomText((t)->name)
+#define TypeMaskTxt(t, x) \
+ XkbVModMaskText((x), (t)->mask, (t)->vmask, XkbMessage)
/***====================================================================***/
tok_TWO_LEVEL = XkbcInternAtom("TWO_LEVEL", False);
tok_ALPHABETIC = XkbcInternAtom("ALPHABETIC", False);
tok_KEYPAD = XkbcInternAtom("KEYPAD", False);
- info->dpy = NULL;
info->name = uStringDup("default");
info->errorCount = 0;
info->stdPresent = 0;
InitVModInfo(&info->vmods, xkb);
if (from != NULL)
{
- info->dpy = from->dpy;
info->dflt = from->dflt;
if (from->dflt.entries)
{
static void
FreeKeyTypesInfo(KeyTypesInfo * info)
{
- info->dpy = NULL;
if (info->name)
uFree(info->name);
info->name = NULL;
{
bzero(type, sizeof(KeyTypeInfo));
type->defs.fileID = info->fileID;
- type->dpy = info->dpy;
info->types = (KeyTypeInfo *) AddCommonInfo(&info->types->defs,
(CommonInfo *) type);
info->nTypes++;
if (warningLevel > 9)
{
WARN2("Identical definitions for preserve[%s] in %s\n",
- PreserveIndexTxt(type, xkb, old), TypeTxt(type));
+ PreserveIndexTxt(xkb, old), TypeTxt(type));
ACTION("Ignored\n");
}
return True;
{
char *str;
WARN2("Multiple definitions for preserve[%s] in %s\n",
- PreserveIndexTxt(type, xkb, old), TypeTxt(type));
+ PreserveIndexTxt(xkb, old), TypeTxt(type));
if (clobber)
- str = PreserveTxt(type, xkb, new);
+ str = PreserveTxt(xkb, new);
else
- str = PreserveTxt(type, xkb, old);
+ str = PreserveTxt(xkb, old);
ACTION1("Using %s, ", str);
if (clobber)
- str = PreserveTxt(type, xkb, old);
+ str = PreserveTxt(xkb, old);
else
- str = PreserveTxt(type, xkb, new);
+ str = PreserveTxt(xkb, new);
INFO1("ignoring %s\n", str);
}
if (clobber)
if (!old)
{
WSGO1("Couldn't allocate preserve in %s\n", TypeTxt(type));
- ACTION1("Preserve[%s] lost\n", PreserveIndexTxt(type, xkb, old));
+ ACTION1("Preserve[%s] lost\n", PreserveIndexTxt(xkb, old));
return False;
}
*old = *new;
ignore = new->level + 1;
}
WARN2("Multiple map entries for %s in %s\n",
- MapEntryTxt(type, xkb, new), TypeTxt(type));
+ MapEntryTxt(xkb, new), TypeTxt(type));
ACTION2("Using %d, ignoring %d\n", use, ignore);
}
else if (warningLevel > 9)
{
WARN3("Multiple occurences of map[%s]= %d in %s\n",
- MapEntryTxt(type, xkb, new), new->level + 1, TypeTxt(type));
+ MapEntryTxt(xkb, new), new->level + 1, TypeTxt(type));
ACTION("Ignored\n");
return True;
}
{
WARN1("Map entry for unused modifiers in %s\n", TypeTxt(type));
ACTION1("Using %s instead of ",
- XkbVModMaskText(type->dpy, xkb,
+ XkbVModMaskText(xkb,
entry.mods.real_mods & type->mask,
entry.mods.vmods & type->vmask,
XkbMessage));
- INFO1("%s\n", MapEntryTxt(type, xkb, &entry));
+ INFO1("%s\n", MapEntryTxt(xkb, &entry));
}
entry.mods.real_mods &= type->mask;
entry.mods.vmods &= type->vmask;
ERROR3("Shift level %d out of range (1..%d) in key type %s\n",
XkbMaxShiftLevel + 1, rtrn.ival, TypeTxt(type));
ACTION1("Ignoring illegal definition of map[%s]\n",
- MapEntryTxt(type, xkb, &entry));
+ MapEntryTxt(xkb, &entry));
return False;
}
entry.level = rtrn.ival - 1;
{
WARN1("Preserve for modifiers not used by the %s type\n",
TypeTxt(type));
- ACTION1("Index %s converted to ",
- PreserveIndexTxt(type, xkb, &new));
+ ACTION1("Index %s converted to ", PreserveIndexTxt(xkb, &new));
}
new.indexMods &= type->mask;
new.indexVMods &= type->vmask;
if (warningLevel > 0)
- INFO1("%s\n", PreserveIndexTxt(type, xkb, &new));
+ INFO1("%s\n", PreserveIndexTxt(xkb, &new));
}
if (!ExprResolveModMask(value, &rtrn, LookupVModMask, (char *) xkb))
{
ERROR("Preserve value in a key type is not a modifier mask\n");
ACTION2("Ignoring preserve[%s] in type %s\n",
- PreserveIndexTxt(type, xkb, &new), TypeTxt(type));
+ PreserveIndexTxt(xkb, &new), TypeTxt(type));
return False;
}
new.preMods = rtrn.uval & 0xff;
if (warningLevel > 0)
{
WARN2("Illegal value for preserve[%s] in type %s\n",
- PreserveTxt(type, xkb, &new), TypeTxt(type));
- ACTION1("Converted %s to ", PreserveIndexTxt(type, xkb, &new));
+ PreserveTxt(xkb, &new), TypeTxt(type));
+ ACTION1("Converted %s to ", PreserveIndexTxt(xkb, &new));
}
new.preMods &= new.indexMods;
new.preVMods &= new.indexVMods;
if (warningLevel > 0)
{
- INFO1("%s\n", PreserveIndexTxt(type, xkb, &new));
+ INFO1("%s\n", PreserveIndexTxt(xkb, &new));
}
}
return AddPreserve(xkb, type, &new, True, True);
WARN1("Multiple modifier mask definitions for key type %s\n",
XkbcAtomText(type->name));
ACTION1("Using %s, ", TypeMaskTxt(type, xkb));
- INFO1("ignoring %s\n", XkbVModMaskText(type->dpy, xkb, mods,
- vmods, XkbMessage));
+ INFO1("ignoring %s\n", XkbVModMaskText(xkb, mods, vmods,
+ XkbMessage));
return False;
}
type->mask = mods;
type.defs.fileID = info->fileID;
type.defs.merge = merge;
type.defs.next = NULL;
- type.dpy = info->dpy;
type.name = def->name;
type.mask = info->dflt.mask;
type.vmask = info->dflt.vmask;