wdvi

network DVI viewer
Log | Files | Refs

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:
Mevents.c | 29+++++++++++++++++++++++++++++
Mhttp.h | 2--
Mxdvi.c | 48++----------------------------------------------
Mxdvi.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