Oh no, it doesn't work...

I've tried to come up with the solutions to possible problems you
may encouter. They are phrased in a "childish" tone. I read so much
technical mumbo-jumbo that "i z can-aint stanz no more". My
apologies to anyone I offend. I still won't change it though.

--> mcard runs, but "Install apps-default File!" appears all over!

The resource file is not installed or put in a place the "toolkit"
(actually the Intrinsics) cannot find it.

First, don't fret. You can exit normally from mcard, by selecting
"Exit" from under "File". Control-C or "kill <mcard_id>" also
work from the shell.

Make sure the resource file "Mcard" (first letter is capitalized by
convention) was copied to your applications-default directory and the
environment variable XAPPLRESDIR is set --in the shell in which mcard
is being executed from-- to that directory. See the
INSTALL file.

Note, there are other places the resource file can be searched when
mcard is executed. These rules are a function of X and quite
confusing for a first time user. The book "X Toolkit Intrinsics
Programming Manual", [Nye/O'Reilly,IV:300], will explain the search
rules in detail. Here is an overview of those rules as it would
apply to mcard.

The directory "/usr/lib/X11/$LANG/app-defaults" and then
"/usr/lib/X11/$LANG/app-defaults" is searched for "Mcard".
Here "Mcard" would be globally applied to all users.

The directory $XUSERFILESEARCHPATH, $XAPPLRESDIR/$LANG,
and then $XAPPLRESDIR is searched for "Mcard". This
"Mcard" is generally considered your local copy.

The xrdb database and then $HOME/.Xdefaults is searched.

Lastly, $ENVIRONMENT and then $HOME/.Xdefaults-hostname.

If you are sure that the resource file was properly
copied and is accessible, and the environment variables
XUSERFILESEARCHPATH and XAPPLRESDIR are correctly set up
to access the directory (eg, ends with a "/"), there is
one last check. Since the resources are loaded in reverse
priority order, make sure higher priority locations do
not have a global override. For example, "*background:
black" within the xrdb database would override "Mcard" and
cause all applications to have a black background.

If this still does not help, there is a problem, but even
I may not be able to help. I will give it a try though.
Please email me, mjo@ai.net.

--> mcard runs, but all the text is funny, something like "button_x"
    (x is some digit) appears almost everywhere.

Generally, see above unless you are absolutely positive "button_x"
is visible.

Versions greater than 1.1 should not have this problem (!), because
"fallback" code was added to bring up mcard with a minimumal
interface.

Please email me, mjo@ai.net, with the circumstances that lead to this!

For those who don't know about "kill", the "^C", or other ways to
terminate a process from the window manager, use Button_7 under
button_0 on the main menu to quit the program. This will make it go
away. Don't Fret!

--> after executing mcard, it says "Error: Can't Open display"

You are probably running mcard from a remote Xserver. mcard is a
client on some "distant" machine. When you run mcard, it tried to show
itself on that machine's screen, but no Xserver was running there (or
that Xserver wouldn't let you pop things up on the screen.)

The first aspect to solving this problem revolves around security.
The X server on your local machine does not allow foreign machines
to automatically pop up or display programs on your machine. You have
to tell your machine that its permissible to display programs on
your machine. To do this, use "xhost foreign_machine". This allows
you and --anyone else-- on that "foreign machine" to display
programs on your screen. Consider this wisely.

Lastly, you will also need to tell the foreign host that programs
should display on your local screen. You can either set the
"DISPLAY" environment variable or run mcard and specify where
it is to be displayed, for example "mcard -display my_machine:0.0:"
where "my_machine" is the host id (its name) off the machine you're
working at. You can also set the display with,
"setenv DISPLAY my_machine:0.0", which will cause all programs to
display on your screen. After setting "DISPLAY" just run mcard.

--> after trying to execute mcard, it says "mcard: Command not found"

This is an error from your shell, indicating that the program cannot be
run.  First, list (ls) all files in the directory. If you see "mcard"
the execution path isn't set to find mcard. Use "./mcard". You may also
want to move mcard to a directory that is in your path (recommended) or
change your path.

A note to more advanced users, if you decide to change your "path"
variable, it is OK to include the local path to mcard, but make
sure "." --never appears-- before /bin in your path. It is a common
means to trick you into executing a program with hostile intentions,
ie, Trojan Horse. Imagine if a program calling itself "ls" was in
your current directory (".") and really executed "rm -r *".

If you don't see mcard after the listing, make sure you are in the
directory in which mcard was compiled. If you still don't see it,
mcard didn't compile. Make sure the installation steps were followed.

Testers, if the installation procedure failed, this compilation problem
should be indicated. Include machine type, compiler type, type of linker
(GNU ld for instance. Oh, there's undoubtably no problem with gcc or gnu
ld, but with mcard), location of libraries, includes files, and if possible
the error reported by the compiler or linker.

--> mcard suddenly disappeared and there's now a big "core" file!

You've done something I want to know about. Please try to duplicated
the procedure (I use the term losely ;-) and report it back.

--> I got a zillion cards, and no matter how big I make the window

Stop,,, I haven't implemented dynamic allocation of "card widgets".
Currently, it is fixed to seven displayable cards although you can
have a zillion cards loaded, only seven will display. (How much memory
you got on that machine anyways? :-)

--> I updated "my brother's index" to my "grandma's name", but its not ordered!

Currently, cards are only alphabetized upon entry. It's a simple fix that
will be in the next version. Anyone got a better idea than a sequenial
search? Got the code?

--> it couldn't read the *.crd file from disk. I always get the same error.

The disk reading routines currently return only one error.
I'm debating whether the resource file should grow tremendously
which confuses the matter, especially for foreign language
implementations, or keep the KISS policy.

A number of things could have occurred:
  - You don't have access to the file.
  - You removed the file before mcard could read it.
      (thought you were sneaky ;-)
  - The file isn't really a cardfile.
  - It's really a cardfile but it doesn't consist completely of text.
      (This version cannot read in card files with images in them)
  - It's a really really big cardfile. Currently, I malloc the entire
    file size and read the file in. I hear the hisses from real
    programmers already. Go buy some SIMMs.  ;-)
  - You may have a newer cardfile version than I seen.

--> I cannot get mcard to "Print" 

First, mcard only prints to a postscript printer named "ps" and
must be accessible from your system. Seek the advice of your
administrator if this doesn't make sense.

Note for testers, "ps" was hard coded to limit functionality.
I think the term is "Demo-ware". I still have dreams of selling
mcard and greater functionality.

--> I managed to get the "Print" function to display
                "You wasically wabbit"

Stop messing with the resource file. You're not playing fair.
Non functioning routines call a stub routine which displayed
that crazy banner. As these routines are added, the crazy
message will go away.

--> I see the message "Warning: Cannot allocate colormap entry for..."

This is not necessarily a problem with mcard. Generally, there is an
application displaying on your X Server which requires lots of colors
(e.g., xv, netscape, etc...). If you quit that application, re-run
mcard, and then re-start the application, the problem will go away.

->  I hit a Control-C (^C) while running mcard from the
foreground in my shell and mcard doesn't immediately go away.

Mcard should normally exit on a single ^C. However, testing
has showed that a significant delay can occur. A second ^C
usually decreases the delay.
