commit d6599a6cb90a3c0ebdbf783c6e3f40ec4eaf82df
parent 8ee0ee3f72ce90f3989b0aeab4ba221bcbad7004
Author: Kyle Milz <krwmilz@gmail.com>
Date: Thu, 9 Sep 2021 18:55:08 +0000
more cleanup of main
- move widget args closer to where they are used
- add more style(9)
Diffstat:
M | xdvi.c | | | 225 | ++++++++++++++++++++++++++++++++++--------------------------------------------- |
1 file changed, 97 insertions(+), 128 deletions(-)
diff --git a/xdvi.c b/xdvi.c
@@ -441,38 +441,6 @@ static WidgetClassRec drawingWidgetClass = {
}
};
-#define drawWidgetClass &drawingWidgetClass
-
-static Arg vport_args[] = {
- {XtNborderWidth, (XtArgVal) 0},
- {XtNtop, (XtArgVal) XtChainTop},
- {XtNbottom, (XtArgVal) XtChainBottom},
- {XtNleft, (XtArgVal) XtChainLeft},
- {XtNright, (XtArgVal) XtChainRight},
- {XtNallowHoriz, (XtArgVal) True},
- {XtNallowVert, (XtArgVal) True},
-};
-
-static Arg draw_args[] = {
- {XtNwidth, (XtArgVal) 0},
- {XtNheight, (XtArgVal) 0},
- {XtNx, (XtArgVal) 0},
- {XtNy, (XtArgVal) 0},
- {XtNlabel, (XtArgVal) ""},
-};
-
-static Arg addr_args[] = {
- {XtNwidth, (XtArgVal) 0},
- {XtNfromVert, (XtArgVal) NULL},
- {XtNdataCompression, (XtArgVal) False},
- {XtNeditType, (XtArgVal) XawtextEdit},
- {XtNstring, (XtArgVal) addr_default},
-};
-
-static Arg form_args[] = {
- {XtNdefaultDistance, (XtArgVal) 0},
-};
-
static void
usage(const char *message, ...)
{
@@ -1152,7 +1120,7 @@ main(int argc, char **argv)
init_font_open();
init_dvi_file();
if (resource.prescan)
- prescan();
+ prescan();
init_page();
/*
@@ -1193,116 +1161,135 @@ main(int argc, char **argv)
/*
* Widget creation.
*/
- form_widget = XtCreateManagedWidget("form", formWidgetClass,
- top_level, form_args, XtNumber(form_args));
-#define form_or_top form_widget /* for calls later on */
-#define form_or_vport form_widget
+ Arg form_args[] = {
+ { XtNdefaultDistance, 0 },
+ };
+ form_widget = XtCreateManagedWidget("form", formWidgetClass,
+ top_level, form_args, XtNumber(form_args));
+
+ Arg vport_args[] = {
+ { XtNborderWidth, 0 },
+ { XtNtop, XtChainTop },
+ { XtNbottom, XtChainBottom },
+ { XtNleft, XtChainLeft },
+ { XtNright, XtChainRight },
+ { XtNallowHoriz, True },
+ { XtNallowVert, True },
+ };
vport_widget = XtCreateManagedWidget("vport", viewportWidgetClass,
- form_or_top, vport_args, XtNumber(vport_args));
+ form_widget, vport_args, XtNumber(vport_args));
clip_widget = XtNameToWidget(vport_widget, "clip");
- draw_args[0].value = (XtArgVal) page_w;
- draw_args[1].value = (XtArgVal) page_h;
- draw_widget = XtCreateManagedWidget("drawing", drawWidgetClass,
- vport_widget, draw_args, XtNumber(draw_args));
-
- addr_args[0].value = (XtArgVal) page_w;
- addr_args[1].value = (XtArgVal) vport_widget;
- if (url != NULL)
- addr_args[4].value = (XtArgVal) url;
+ Arg draw_args[] = {
+ { XtNwidth, page_w },
+ { XtNheight, page_h },
+ { XtNx, 0 },
+ { XtNy, 0 },
+ { XtNlabel, (XtArgVal) "" },
+ };
+ draw_widget = XtCreateManagedWidget("drawing", &drawingWidgetClass,
+ vport_widget, draw_args, XtNumber(draw_args));
+
+ Arg addr_args[] = {
+ { XtNwidth, page_w },
+ { XtNfromVert, (XtArgVal) vport_widget },
+ { XtNdataCompression, False },
+ { XtNeditType, XawtextEdit },
+ { XtNstring, (XtArgVal) (url ? url : addr_default) },
+ { XtNinsertPosition, strlen(addr_default) },
+ };
addr_widget = XtCreateManagedWidget("address", asciiTextWidgetClass,
- form_or_top, addr_args, XtNumber(addr_args));
+ form_widget, addr_args, XtNumber(addr_args));
- XawTextSetInsertionPoint(addr_widget, strlen(addr_default));
- XtTranslations xlats =
- XtParseTranslationTable("<Key>Return:addr-go()");
+ XtTranslations xlats;
+ xlats = XtParseTranslationTable("<Key>Return:addr-go()");
XtOverrideTranslations(addr_widget, xlats);
- XtOverrideTranslations(form_or_vport, XtParseTranslationTable("\
-\"0\":digit(0)\n\
-\"1\":digit(1)\n\
-\"2\":digit(2)\n\
-\"3\":digit(3)\n\
-\"4\":digit(4)\n\
-\"5\":digit(5)\n\
-\"6\":digit(6)\n\
-\"7\":digit(7)\n\
-\"8\":digit(8)\n\
-\"9\":digit(9)\n\
-\"-\":minus()\n\
-<Motion>:motion()\n\
-<BtnUp>:release()"));
+ xlats = XtParseTranslationTable(
+ "\"0\":digit(0)\n"
+ "\"1\":digit(1)\n"
+ "\"2\":digit(2)\n"
+ "\"3\":digit(3)\n"
+ "\"4\":digit(4)\n"
+ "\"5\":digit(5)\n"
+ "\"6\":digit(6)\n"
+ "\"7\":digit(7)\n"
+ "\"8\":digit(8)\n"
+ "\"9\":digit(9)\n"
+ "\"-\":minus()\n"
+ "<Motion>:motion()\n"
+ "<BtnUp>:release()");
+ XtOverrideTranslations(form_widget, xlats);
if (resource.wheel_unit != 0 && resource.wheel_translations != NULL) {
- XtAugmentTranslations(form_or_vport,
- XtParseTranslationTable("<BtnDown>:wheel-actions()"));
+ xlats = XtParseTranslationTable("<BtnDown>:wheel-actions()");
+ XtAugmentTranslations(form_widget, xlats);
- compile_wheel_actions();
+ compile_wheel_actions();
}
/* set background colors of the drawing and clip widgets */
- {
- static Arg back_args = {XtNbackground, (XtArgVal) 0};
+ static Arg back_args = {XtNbackground, (XtArgVal) 0};
- back_args.value = back_Pixel;
- XtSetValues(draw_widget, &back_args, 1);
- XtSetValues(clip_widget, &back_args, 1);
- }
+ back_args.value = back_Pixel;
+ XtSetValues(draw_widget, &back_args, 1);
+ XtSetValues(clip_widget, &back_args, 1);
/* determine default window size */
#define xtra_wid 0
- {
- XtWidgetGeometry constraints;
- XtWidgetGeometry reply;
-
- XtGetValues(top_level, &temp_args3, 1); /* get border width */
- screen_w = WidthOfScreen(SCRN) - 2 * bwidth - xtra_wid;
- screen_h = HeightOfScreen(SCRN) - 2 * bwidth;
- for (;;) { /* actually, at most two passes */
+ XtWidgetGeometry constraints;
+ XtWidgetGeometry reply;
+
+ XtGetValues(top_level, &temp_args3, 1); /* get border width */
+ screen_w = WidthOfScreen(SCRN) - 2 * bwidth - xtra_wid;
+ screen_h = HeightOfScreen(SCRN) - 2 * bwidth;
+
+ for (;;) { /* actually, at most two passes */
constraints.request_mode = reply.request_mode = 0;
constraints.width = page_w;
if (page_w > screen_w) {
- constraints.request_mode = CWWidth;
- constraints.width = screen_w;
+ constraints.request_mode = CWWidth;
+ constraints.width = screen_w;
}
constraints.height = page_h;
if (page_h > screen_h) {
- constraints.request_mode |= CWHeight;
- constraints.height = screen_h;
+ constraints.request_mode |= CWHeight;
+ constraints.height = screen_h;
}
if (constraints.request_mode != 0
- && constraints.request_mode != (CWWidth | CWHeight))
- (void) XtQueryGeometry(vport_widget, &constraints, &reply);
+ && constraints.request_mode != (CWWidth | CWHeight))
+ XtQueryGeometry(vport_widget, &constraints, &reply);
if (!(reply.request_mode & CWWidth))
- reply.width = constraints.width;
+ reply.width = constraints.width;
if (reply.width >= screen_w)
- reply.width = screen_w;
+ reply.width = screen_w;
if (!(reply.request_mode & CWHeight))
- reply.height = constraints.height;
+ reply.height = constraints.height;
if (reply.height >= screen_h)
- reply.height = screen_h;
+ reply.height = screen_h;
/* now reply.{width,height} contain max. usable window size */
if (shrink_factor != 0)
- break;
+ break;
shrink_factor = ROUNDUP(unshrunk_page_w, reply.width - 2);
i = ROUNDUP(unshrunk_page_h, reply.height - 2);
- if (i >= shrink_factor) shrink_factor = i;
- if (shrink_factor > 1) bak_shrink = shrink_factor;
+ if (i >= shrink_factor)
+ shrink_factor = i;
+ if (shrink_factor > 1)
+ bak_shrink = shrink_factor;
mane.shrinkfactor = shrink_factor;
init_page();
set_wh_args[0].value = (XtArgVal) page_w;
set_wh_args[1].value = (XtArgVal) page_h;
XtSetValues(draw_widget, set_wh_args, XtNumber(set_wh_args));
- }
- set_wh_args[0].value = (XtArgVal) (reply.width + xtra_wid);
- set_wh_args[1].value = (XtArgVal) reply.height;
- XtSetValues(top_level, set_wh_args, XtNumber(set_wh_args));
}
+ set_wh_args[0].value = (XtArgVal) (reply.width + xtra_wid);
+ set_wh_args[1].value = (XtArgVal) reply.height;
+ XtSetValues(top_level, set_wh_args, XtNumber(set_wh_args));
/*
@@ -1311,9 +1298,9 @@ main(int argc, char **argv)
XtAddEventHandler(vport_widget, StructureNotifyMask, False,
- handle_resize, (XtPointer) NULL);
+ handle_resize, (XtPointer) NULL);
XtAddEventHandler(draw_widget, ExposureMask, False, handle_expose,
- (XtPointer) &mane);
+ (XtPointer) &mane);
XtRealizeWidget(top_level);
XSetWMProtocols(DISP, XtWindow(top_level), &XA_WM_DELETE_WINDOW, 1);
@@ -1321,13 +1308,9 @@ main(int argc, char **argv)
currwin.win = mane.win = XtWindow(draw_widget);
- {
- XWindowAttributes attrs;
-
- (void) XGetWindowAttributes(DISP, mane.win, &attrs);
- backing_store = attrs.backing_store;
- }
-
+ XWindowAttributes attrs;
+ (void) XGetWindowAttributes(DISP, mane.win, &attrs);
+ backing_store = attrs.backing_store;
image = XCreateImage(DISP, visual, 1, XYBitmap, 0,
(char *) NULL, 0, 0, BMBITS, 0);
@@ -1337,10 +1320,8 @@ main(int argc, char **argv)
#else
image->bitmap_bit_order = LSBFirst;
#endif
- {
- short endian = MSBFirst << 8 | LSBFirst;
- image->byte_order = *((char *) &endian);
- }
+ short endian = MSBFirst << 8 | LSBFirst;
+ image->byte_order = *((char *) &endian);
/*
* Step 6: Assign colors and GCs.
@@ -1357,23 +1338,11 @@ main(int argc, char **argv)
XCreateGC(DISP, XtWindow(top_level), \
GCFunction | GCForeground | GCBackground, &values))
+ XGCValues values;
- {
- XGCValues values;
-
- /* Not affected by color changes. */
- copyGC = MakeGC(GXcopy, fore_Pixel, back_Pixel);
- highGC = MakeGC(GXcopy, hl_Pixel, back_Pixel);
- }
-
- /*
- * There's a bug in the Xaw toolkit, in which it uses the
- * DefaultGCOfScreen to do vertical scrolling in the Text widget.
- * This leads to a BadMatch error if our visual is not the default one.
- * The following kludge works around this.
- */
-
-// DefaultGCOfScreen(SCRN) = copyGC;
+ /* Not affected by color changes. */
+ copyGC = MakeGC(GXcopy, fore_Pixel, back_Pixel);
+ highGC = MakeGC(GXcopy, hl_Pixel, back_Pixel);
ready_cursor = XCreateFontCursor(DISP, XC_cross);
redraw_cursor = XCreateFontCursor(DISP, XC_watch);