commit f62daf4676e92c282678ce43f0beaf6b01185e1a
parent e5ebcb757186de5f37aafe2edaa2c307d51cdfac
Author: Kyle Milz <krwmilz@gmail.com>
Date: Tue, 7 Sep 2021 17:03:05 +0000
move address bar actions to events.c
This is where the rest of them live.
Diffstat:
M | events.c | | | 29 | +++++++++++++++++++++++++++++ |
M | http.h | | | 2 | -- |
M | xdvi.c | | | 48 | ++---------------------------------------------- |
M | xdvi.h | | | 2 | ++ |
4 files changed, 33 insertions(+), 48 deletions(-)
diff --git a/events.c b/events.c
@@ -46,6 +46,8 @@ NOTE:
#include <signal.h>
#include <sys/wait.h> /* waitpid, WNOHANG */
+#include "http.h"
+
#ifndef SIGPOLL
#define SIGPOLL SIGIO
#endif
@@ -138,6 +140,7 @@ static ACTION_DECL(Act_hwheel);
static ACTION_DECL(Act_wheel_actions);
static ACTION_DECL(Act_motion);
static ACTION_DECL(Act_release);
+static ACTION_DECL(Act_addr_go);
XtActionsRec Actions[] = {
@@ -174,6 +177,7 @@ XtActionsRec Actions[] = {
{"wheel-actions", Act_wheel_actions},
{"motion", Act_motion},
{"release", Act_release},
+ {"addr-go", Act_addr_go},
};
Cardinal num_actions = XtNumber(Actions);
@@ -1878,6 +1882,31 @@ ACTION(Act_release)
mouse_release(event);
}
+static void
+cb_addr_go(Widget w, XtPointer client_data, XtPointer call_data)
+{
+ const char *s;
+
+ if (w == NULL)
+ s = addr_default;
+ else
+ XtVaGetValues(addr_widget, XtNstring, &s, NULL);
+
+ printf(">>> cb_addr_go: '%s'\n", s);
+
+ dvi_file = http_get(s);
+ if (dvi_file == NULL)
+ return;
+
+ ev_flags |= EV_NEWDOC;
+}
+
+static
+ACTION(Act_addr_go)
+{
+ cb_addr_go(w, NULL, NULL);
+}
+
#undef ACTION
#undef GET_ARG4
#undef GET_ARG
diff --git a/http.h b/http.h
@@ -1,5 +1,3 @@
#include <stdio.h> /* FILE, fseek(), fwrite() */
-static const char addr_default[] = "www.0x30.net/resume.dvi";
-
FILE *http_get(const char[]);
diff --git a/xdvi.c b/xdvi.c
@@ -77,7 +77,6 @@ NOTE:
#include <X11/Xaw/AsciiText.h>
#include <X11/Xaw/Command.h>
-#include "http.h"
#include "version.h"
#include "xdvi.h"
#include "xdvi.icon"
@@ -1114,46 +1113,13 @@ compile_wheel_actions()
*wactpp = NULL;
}
-static void
-cb_addr_go(Widget w, XtPointer client_data, XtPointer call_data)
-{
- const char *s;
-
- if (w == NULL)
- s = addr_default;
- else
- XtVaGetValues(addr_widget, XtNstring, &s, NULL);
-
- printf(">>> cb_addr_go: '%s'\n", s);
-
- dvi_file = http_get(s);
- if (dvi_file == NULL)
- return;
-
- ev_flags |= EV_NEWDOC;
-}
-
-static void
-act_addr_go(Widget w, XEvent *event, String *params, Cardinal *num_params)
-{
- cb_addr_go(w, NULL, NULL);
-}
-
-static XtActionsRec addr_actions[] = {
- {"addr-go", act_addr_go}
-};
-
-
/*
* main program
*/
int
-main(argc, argv)
- int argc;
- char **argv;
+main(int argc, char **argv)
{
-
Dimension screen_w, screen_h;
int i;
@@ -1510,18 +1476,13 @@ argument is to override any papersize specials in the dvi file.\n\n", stderr);
vport_widget = XtCreateManagedWidget("vport", viewportWidgetClass,
form_or_top, 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));
-
- XtAddActions(addr_actions, XtNumber(addr_actions));
-
addr_args[0].value = (XtArgVal) page_w;
addr_args[1].value = (XtArgVal) vport_widget;
addr_widget = XtCreateManagedWidget("address", asciiTextWidgetClass,
@@ -1532,12 +1493,7 @@ argument is to override any papersize specials in the dvi file.\n\n", stderr);
XtParseTranslationTable("<Key>Return:addr-go()");
XtOverrideTranslations(addr_widget, xlats);
-
-
-
- XtOverrideTranslations(
- form_or_vport,
- XtParseTranslationTable("\
+ XtOverrideTranslations(form_or_vport, XtParseTranslationTable("\
\"0\":digit(0)\n\
\"1\":digit(1)\n\
\"2\":digit(2)\n\
diff --git a/xdvi.h b/xdvi.h
@@ -62,6 +62,8 @@ NOTE:
#define CFGFILE 1
#endif
+static const char addr_default[] = "www.0x30.net/resume.dvi";
+
typedef char Bool3; /* Yes/No/Maybe */
#define True 1