clean code, update to C99 style
This commit is contained in:
parent
5239eb4dfa
commit
4152e1651f
169
xmem.c
169
xmem.c
@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* xload - display system load average in a window
|
* xmem - display memory/swap usage utility for X
|
||||||
*
|
*
|
||||||
|
* Copyright 2017 Christian Barthel <bch@onfire.org>
|
||||||
* Copyright 1989 Massachusetts Institute of Technology
|
* Copyright 1989 Massachusetts Institute of Technology
|
||||||
*
|
*
|
||||||
* $XConsortium: xload.c,v 1.36 91/05/24 16:57:46 converse Exp $
|
* $XConsortium: xload.c,v 1.36 91/05/24 16:57:46 converse Exp $
|
||||||
@ -16,11 +17,9 @@
|
|||||||
#include <X11/Xaw/Cardinals.h>
|
#include <X11/Xaw/Cardinals.h>
|
||||||
#include <X11/Xaw/Label.h>
|
#include <X11/Xaw/Label.h>
|
||||||
#include <X11/Xaw/Paned.h>
|
#include <X11/Xaw/Paned.h>
|
||||||
#include "MemStripChart.h"
|
|
||||||
#include <X11/Xaw/StripChart.h>
|
#include <X11/Xaw/StripChart.h>
|
||||||
#include <X11/Xmu/SysUtil.h>
|
#include <X11/Xmu/SysUtil.h>
|
||||||
|
#include "MemStripChart.h"
|
||||||
/* #include <X11/Wc/WcCreateP.h> */
|
|
||||||
|
|
||||||
#include "xmem.bit"
|
#include "xmem.bit"
|
||||||
|
|
||||||
@ -146,97 +145,91 @@ void usage(char *progname)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(argc, argv)
|
int main(int argc, char **argv)
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
{
|
||||||
XtAppContext app_con;
|
XtAppContext app_con;
|
||||||
Widget toplevel, load, pane, label_wid, load_parent;
|
Widget toplevel, load, pane, label_wid, load_parent;
|
||||||
Arg args[1];
|
Arg args[1];
|
||||||
Pixmap icon_pixmap = None;
|
Pixmap icon_pixmap = None;
|
||||||
char *label, host[256];
|
char *label, host[256];
|
||||||
char *lastslash;
|
char *lastslash;
|
||||||
|
|
||||||
/* For security reasons, we reset our uid/gid after doing the necessary
|
/* For security reasons, we reset our uid/gid after doing the necessary
|
||||||
system initialization and before calling any X routines. */
|
system initialization and before calling any X routines. */
|
||||||
|
|
||||||
setgid(getgid()); /* reset gid first while still (maybe) root */
|
setgid(getgid()); /* reset gid first while still (maybe) root */
|
||||||
setuid(getuid());
|
setuid(getuid());
|
||||||
|
|
||||||
toplevel = XtAppInitialize(&app_con, "XMem", options_mem, XtNumber(options_mem),
|
toplevel = XtAppInitialize(&app_con, "XMem", options_mem, XtNumber(options_mem),
|
||||||
&argc, argv, NULL, NULL, (Cardinal) 0);
|
&argc, argv, NULL, NULL, (Cardinal) 0);
|
||||||
|
|
||||||
if (argc != 1) usage(argv[0]);
|
if (argc != 1) usage(argv[0]);
|
||||||
|
|
||||||
XtGetApplicationResources( toplevel, (XtPointer) &resources,
|
XtGetApplicationResources( toplevel, (XtPointer) &resources,
|
||||||
my_resources_mem, XtNumber(my_resources_mem),
|
my_resources_mem, XtNumber(my_resources_mem),
|
||||||
NULL, (Cardinal) 0);
|
NULL, (Cardinal) 0);
|
||||||
/*
|
/*
|
||||||
* This is a hack so that f.delete will do something useful in this
|
* This is a hack so that f.delete will do something useful in this
|
||||||
* single-window application.
|
* single-window application.
|
||||||
*/
|
*/
|
||||||
XtAppAddActions (app_con, xload_actions, XtNumber(xload_actions));
|
XtAppAddActions (app_con, xload_actions, XtNumber(xload_actions));
|
||||||
XtOverrideTranslations(toplevel,
|
XtOverrideTranslations(toplevel,
|
||||||
XtParseTranslationTable ("<Message>WM_PROTOCOLS: quit()"));
|
XtParseTranslationTable ("<Message>WM_PROTOCOLS: quit()"));
|
||||||
|
|
||||||
XtSetArg (args[0], XtNiconPixmap, &icon_pixmap);
|
XtSetArg (args[0], XtNiconPixmap, &icon_pixmap);
|
||||||
XtGetValues(toplevel, args, ONE);
|
XtGetValues(toplevel, args, ONE);
|
||||||
if (icon_pixmap == None) {
|
if (icon_pixmap == None) {
|
||||||
XtSetArg(args[0], XtNiconPixmap,
|
XtSetArg(args[0], XtNiconPixmap,
|
||||||
XCreateBitmapFromData(XtDisplay(toplevel),
|
XCreateBitmapFromData(XtDisplay(toplevel),
|
||||||
XtScreen(toplevel)->root,
|
XtScreen(toplevel)->root,
|
||||||
(char *)xload_bits,
|
(char *)xload_bits,
|
||||||
xload_width, xload_height));
|
xload_width, xload_height));
|
||||||
XtSetValues (toplevel, args, ONE);
|
XtSetValues (toplevel, args, ONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resources.show_label) {
|
if (resources.show_label) {
|
||||||
pane = XtCreateManagedWidget ("paned", panedWidgetClass,
|
pane = XtCreateManagedWidget ("paned", panedWidgetClass,
|
||||||
toplevel, NULL, ZERO);
|
toplevel, NULL, ZERO);
|
||||||
|
|
||||||
label_wid = XtCreateManagedWidget ("label", labelWidgetClass,
|
label_wid = XtCreateManagedWidget ("label", labelWidgetClass,
|
||||||
pane, NULL, ZERO);
|
pane, NULL, ZERO);
|
||||||
|
|
||||||
XtSetArg (args[0], XtNlabel, &label);
|
XtSetArg (args[0], XtNlabel, &label);
|
||||||
XtGetValues(label_wid, args, ONE);
|
XtGetValues(label_wid, args, ONE);
|
||||||
|
|
||||||
if ( strcmp("label", label) == 0 ) {
|
if ( strcmp("label", label) == 0 ) {
|
||||||
(void) XmuGetHostname (host, 255);
|
(void) XmuGetHostname (host, 255);
|
||||||
XtSetArg (args[0], XtNlabel, host);
|
XtSetArg (args[0], XtNlabel, host);
|
||||||
XtSetValues (label_wid, args, ONE);
|
XtSetValues (label_wid, args, ONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
load_parent = pane;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
load_parent = pane;
|
load_parent = toplevel;
|
||||||
}
|
|
||||||
else
|
|
||||||
load_parent = toplevel;
|
load = XtCreateManagedWidget ("mem", memStripChartWidgetClass,
|
||||||
|
load_parent, NULL, ZERO);
|
||||||
|
XtAddCallback(load, XtNgetValue, (void*)GetMemLoadPoint, NULL);
|
||||||
load = XtCreateManagedWidget ("mem", memStripChartWidgetClass,
|
|
||||||
load_parent, NULL, ZERO);
|
XtRealizeWidget (toplevel);
|
||||||
XtAddCallback(load, XtNgetValue, (void*)GetMemLoadPoint, NULL);
|
wm_delete_window = XInternAtom (XtDisplay(toplevel), "WM_DELETE_WINDOW",
|
||||||
|
False);
|
||||||
XtRealizeWidget (toplevel);
|
(void) XSetWMProtocols (XtDisplay(toplevel), XtWindow(toplevel),
|
||||||
wm_delete_window = XInternAtom (XtDisplay(toplevel), "WM_DELETE_WINDOW",
|
&wm_delete_window, 1);
|
||||||
False);
|
|
||||||
(void) XSetWMProtocols (XtDisplay(toplevel), XtWindow(toplevel),
|
XtAppMainLoop(app_con);
|
||||||
&wm_delete_window, 1);
|
|
||||||
|
|
||||||
XtAppMainLoop(app_con);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void quit (w, event, params, num_params)
|
static void quit (Widget w, XEvent *event, String *params, Cardinal *num_params)
|
||||||
Widget w;
|
|
||||||
XEvent *event;
|
|
||||||
String *params;
|
|
||||||
Cardinal *num_params;
|
|
||||||
{
|
{
|
||||||
if (event->type == ClientMessage &&
|
if (event->type == ClientMessage &&
|
||||||
event->xclient.data.l[0] != wm_delete_window) {
|
event->xclient.data.l[0] != wm_delete_window) {
|
||||||
XBell (XtDisplay(w), 0);
|
XBell (XtDisplay(w), 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
XtDestroyApplicationContext(XtWidgetToApplicationContext(w));
|
XtDestroyApplicationContext(XtWidgetToApplicationContext(w));
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user