<left>

Contents->FAQ

This page has an online version which may contain updated information:

- http://wolfpack.twu.net/Endeavour2/help/faq.html

1. How do I set up MIME Types, object icons, and the Open With List?
2. Why does Drag & Drop not work with some applications?
3. Why are keyboard keys difficult to use in navigating the lists?
4. Are French and other languages supported?
5. Why do progress dialogs stay visible after the operation has been completed?
6. How do I drag an object across a long (obscured) list?
7. How do I obtain multiple (file browser) panes?
8. Is there a way to print files using Endeavour?
9. How do I change the list colors & fonts?
10. Why does running a second (or third, fourth...) Endeavour from the command line still only produces one single process?
11. How do I uninstall Endeavour?
12. Will Endeavour be ported to GTK2?
13. How do I get Endeavour to work with my system's global MIME Types?
14. How do I get Endeavour's Archiver to open an Archive on double-click?
15. How do I get Endeavour to accurately detect a device's mount/unmount state?
16. How come when I open an object the program is runned but does not open the object?
17. Why when sometimes when I add or delete an object in an archive the Archiver's listing is not updated?
18. I got the error `Undefined reference to main()` during the linking stage of the compiling process, what do I do?
19. I get an error about incompatable declarations of `strcasestr` during the compiling process, what do I do?
20. How do I edit that menu that has all the stuff for running stuff with different stuffs?
21. Where can I get a complete and official list of all the tokens that are used for substitutions in commands for Endeavour 2?
22. How do I make only one pane visible on the File Browser or Image Browser?
23. How come files that are larger than a gigabyte are either not displayed or are displayed without stats on the lists?
24. The fonts used for the lists are difficult to read, I do not like them, and I wish to change them, how?
25. How do I add, edit, or remove items from the Open To menu?
26. How come I get objects that are denoted by a blue or red dot in the lists?
27. What is the Endeavour Mark II API library (`libendeavour2.so`) for?

See also; Common Operations and HOWTOs & Tips

### Q: How do I set up MIME Types, object icons, and the Open With List?

A: See the MIME Types help page.

Back to the top

### Q: Why does Drag & Drop not work with some applications?

A: There are two probable causes;

1. The application does not support the `text/plain`, `text/uri-list`, or `STRING` target types.
2. The application is not parsing the URL string properly.

If you believe that the problem is the second case, then the cause is most likely that the address portion of the URL string is assumed to be an empty string (which it is not always the case) and some applications (unfortunately) assume that. To properly parse URL strings, programs should derive from the following sample code:

    /* Returns a pointer to the start of the path found in the
     * given url_string or NULL on error.
     */
    char *get_path_from_url_string(char *url_string)
    {
            char *strptr;

            if(url_string == NULL)
                    return(NULL);

            /* Incorrect protocol? */
            if(strncmp(url_string, "file://", 7))
                    return(NULL);

            /* Seek to first '/' character after the protocol
             * portion of url_string.
             */
            return((char *)strchr(url_string + 7, '/'));
    }

Back to the top

### Q: Why are keyboard keys difficult to use in navigating the lists?

A: Most of the keyboard keys used to control list item selecting and scrolling are based upon the default behavior of GTK's GtkCList widget. Any key operations that are above the GTK level of behavior are listed in Keys List.

Back to the top

### Q: Are French and other languages supported?

A: Yes, however support for certain languages are incomplete (and thus not supported).

2003 Oct 13 - As of version 2.3.4, the status of language support is as follows:

- English - Complete
- Spanish - Complete
- French - Complete
- German - Incomplete
- Italian - Incomplete
- Dutch - Incomplete
- Portuguese - Incomplete
- Norwegian - Incomplete

To compile the application for languages other than English (the default) see HOWTO - Other Languages.

Back to the top

### Q: Why do progress dialogs stay visible after the operation has been completed?

A: This is a bug that has been extensively researched and traced to the Window Manager level. The Window Managers Sawfish and Enlightenment have been demostrated to exhibit this behavior.

Unfortunately, there is nothing that can be done at the Endeavour 2 or GTK level, bug reports have already been filed with the Window Manager projects in question (July 2002).

Back to the top

### Q: How do I drag an object across a long (obscured) list?

A:

1. Click (press and release Button1) on the source object (the object that you want to move, copy or link) in order to select it.
2. Scroll the list up or down until the target object becomes visible on the list.
3. Now press and hold Button1 anywhere on the list and then move it (drag) over to the target object (which would typically be a directory) and release Button1.

This behavior has been known to work with GTK 1.2.10. You can also select multiple objects in step 1, subsequent steps work in the same way.

Back to the top

### Q: How do I obtain multiple (file browser) panes?

A: Although each File Browser window only has a single directory tree list and a single contents list, you can still obtain multiple file browser windows by going to Window->New File Browser to create additional windows and use the Window Manager to tile them next to each other.

You may also want to hide some of the bars (ie find bar, mount bar) to simplify the arrangement (look under the View menu).

Back to the top

### Q: Is there a way to print files using Endeavour?

A: Yes, there is an informal way:

1. Create a MIME Type.
2. Set its Class to `Application`.
3. Set its Type to `application/print-text`.
4. Set its Location to your print spooler (we will use `/usr/bin/lpr` for this example).
5. Add a command (just one, which will be the default command).
6. Set that default command to:
   - `/usr/bin/lpr` "%p"

To print using this method:

1. Select the text file that you want to print.
2. Right-click to map the right-click menu.
3. Select Open With... from the right-click menu to map the Open With List.
4. Select the print spooler from the Open With List to print.

This method works for text files only, image files and other types of files will require a different print program.

Back to the top

### Q: How do I change the list colors & fonts?

A: As of version 2.3.4 you can change the colors and fonts by going to Settings->Customize->General.

As of version 2.1.19 you can change the colors and fonts from the command line, the arguments are as follows:

- `--fg <color>` Specifies the foreground and text colors
- `--bg <color>` Specifies the background and base colors
- `--sfg <color>` Specifies the selected foreground color
- `--sbg <color>` Specifies the selected background color
- `--fn <font>` Specifies the font

Where `<color>` is a standard X color spec such as `#ff0000` (which is red) and `<font>` is a standard X font name such as `-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-1`. For example, if you want a green foreground and dark blue background, run:

- `endeavour2 -fg "#00ff00" -bg "#000080"`

For additional command line arguments run:

- `endeavour2 --help`

Back to the top

### Q: Why does running a second (or third, fourth...) Endeavour from the command line still only produces one single process?

A: Endeavour 2 uses a system called Interprocess (or InterPS). This system maintains only one process of Endeavour 2 at any given time.

It works by allowing the first execution of Endeavour 2 to create a lock (in `$HOME/.endeavour2/lock`) which records that process' process ID (PID). Subsequent executions of Endeavour 2 will see that this lock exists and will (instead of running normally) send an Interprocess Command to the very first execution of Endeavour 2 (via the command file `$HOME/.endeavour2/cmd` and sending the signal `SIGUSR1`) to perform an operation such as opening a new File Browser or Properties Dialog.

Therefore this has the affect of allowing you to execute Endeavour 2 from the command line multiple times but only have one process of Endeavour 2 running per user.

If you need to restart Endeavour 2 (i.e. because you have made some changes to the configuration outside of the program and need them to take affect) then you need to close all of Endeavour 2's windows to ensure that the process has exited.

Back to the top

### Q: How do I uninstall Endeavour?

A: To uninstall Endeavour see HOWTO: Uninstall.

Back to the top

### Q: Will Endeavour be ported to GTK2?

A: 2004 Nov 1 - After a few attempts to port Endeavour Mark II to GTK2, it was determined that GTK2 is not compatable with GTK, and therefore it would involve a complete rewrite of Endeavour Mark II which is currently not a possibly due to our limited resources.

2003 Nov 13 - We are currently waiting for the portability of GTK2 to be as compatable as GTK1. Currently GTK2 is not useable on some systems due to library compatability requirements that GTK2 requires while GTK1 does not require.

We have high standards for minimal requirements we need to ensure that Endeavour does not take on an additional dependency that would render Endeavour unuseable to some users.

Back to the top

### Q: How do I get Endeavour to work with my system's global MIME Types?

A: See the Syncronizing with the System's Global MIME Types help page.

Back to the top

### Q: How do I get Endeavour's Archiver to open an Archive on double-click?

A:

1. Create a MIME Type of the class `File Format`.
2. Set its extensions to match the archive's extension (ie `.tar.gz`, `.tar.bz2`, `.zip`, etc).
3. Set the handler to `Endeavour Archiver`.

For more information, see the MIME Types help page.

Back to the top

### Q: How do I get Endeavour to accurately detect a device's mount/unmount state?

A: This usually suggests that the device was not properly set up (or was never set up in the first place).

When you run Endeavour for the first time, it coppies all of the devices from your global devices listing (usually from the file `/etc/fstab`) into its own listing of device references with default values. The default values are often not sufficient to properly detect, mount, unmount, eject, the device.

To set up Endeavour's device references, see Devices: Setting Up Device References.

Back to the top

### Q: How come when I open an object the program is runned but does not open the object?

A: There are two possibilities:

1. There are no tokens specified in the MIME Type's command that was associated with the object.
2. The program that was runned has a bug or was designed such that it does not open objects from the command line arguments.

Back to the top

### Q: Why when sometimes when I add or delete an object in an archive the Archiver's listing is not updated?

A: This problem has been reported on numerous occassions and the cause is not completely understood. It is difficult to replicate on a consistent basis.

It is speculated that the Archiver runs other archive programs for certain archive formats and those programs (which run as a separate process) make changes (when you add or delete objects from an archive) and exits before the operating system flushes the changes to make them available to all processes (such as the process Endeavour's Archiver is running on). In this case, the Archiver may be trying to reload an complete archive.

2006 Mar 26 - We are still looking into this matter and have added sync() calls after all archive object add or delete operations so that it may further insure that when Endeavour's Archiver lists the archive again after the changes it will get the listing from an intact archive. This solution is unconfirmed as of this writing.

Back to the top

### Q: I got the error `Undefined reference to main()` during the linking stage of the compiling process, what do I do?

A: This is sometimes caused by using the wrong `make` program to compile a program. Typically, there are two versions of `make` on a UNIX system; `make` and `gmake`. One is for compiling the system's kernel and the other is for compiling programs (but sometimes not libraries).

If you tried one and it does not work then try the other, if you tried both or your system only has one version of `make` then you may want to ask for additional help on the mailing list.

Back to the top

### Q: I get an error about incompatable declarations of `strcasestr()` during the compiling process, what do I do?

A: This is caused by the configure script's failure to detect that there is a global (non-ANSI C) version of `strcasestr()` on your computer.

To fix this, edit the generated `$TOPLEVEL/endeavour2/Makefile` and remove the `-DNEED_STRCASESTR` from the `cflags` then recompile (run `make clean` and then `make` again).

Back to the top

### Q: How do I edit that menu that has all the stuff for running stuff with different stuffs?

A: If you are refering to the Open With List then please read question 1.

Back to the top

### Q: Where can I get a complete and official list of all the tokens that are used for substitutions in commands for Endeavour 2?

A: See the MIME Types - Tokens help page.

Back to the top

### Q: How do I make only one pane visible on the File Browser or Image Browser?

A: Since the GTK `GtkPanned` widget does not support the closing of a pane, you will need to press and hold on the `GtkPanned`'s handle (that little square box between panes) and drag it all the way to cover the pane that you want to "close". This will make one pane occupy the entire area of both panes.

Back to the top

### Q: How come files that are larger than a gigabyte are either not displayed or are displayed without stats on the lists?

A: If you are using a packaged version of Endeavour 2 (one that you did not compile from source), then there have been reports that such packaged versions of Endeavour 2 were compiled on systems that do not support 64 bit values in `stat()`. That is, Endeavour 2 uses the system call called `stat()` in order to obtain information about an object's statistics (such as its size) but in cases where Endeavour 2 was compiled on systems that do not support 64 bit values in `stat()`, `stat()` returns the `EOVERFLOW` error (error code `75`).

The only way to resolve this problem is to download an official version of the source and compile Endeavour 2 yourself. You can download an official version of the source (an official release) from:

- http://wolfpack.twu.net/Endeavour2/

1. Download a source package (typically named `endeavour-2.x.x.tar.bz2`, where `x.x` refer to the latest version).
2. Extract the package using your current Endeavour 2's Archiver or use bunzip2 to decompress the package and then tar to extract its contents.
3. Read the file named `INSTALL` that is located in the toplevel directory of the extracted Endeavour 2 source, it contains the instructions on how to compile Endeavour 2.

Back to the top

### Q: The fonts used for the lists are difficult to read, I do not like them, and I wish to change them, how?

A: There are three major posibilities, we will try to resolve the problem by going from the simplest to the most complicated.

The first posibility is that Endeavour 2 is currently set to override the GTK styles and use its own fonts. To verify this, go to Settings->Customize...->Global->Styles and check if Override GTK Style is checked or not. If it is then uncheck it and Endeavour 2 will revert to the style of font specified in the `gtkrc` file. Or you can check Override GTK Style and specify your own desired fonts.

The second posibility is that the font specified in your `gtkrc` file is one that you do not desire. To quickly verify that this is the case, edit the file `$HOME/.gtkrc` and add the following code to the top of that file:

    style "user-font"
    {
      font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*"
    }
    widget_class "*" style "user-font"

Save and then close all of Endeavour 2's windows and then run Endeavour 2 to see if there is any change in the displayed font.

The third posibility is that the problem is caused by a malfunctioning GTK library that was not compiled properly on your system. To diagnose this case, run a (non-Endeavour 2) GTK application and see if it is also displaying the same (undesired) fonts. Make sure that it is a GTK application and not a GTK2 application, GTK and GTK2 are not compatable libraries.

If they are both displaying the same (undesired) fonts then run a non-GTK X application, such as:

- `xmessage "Test"`

And see if it is also displaying the same (undesired) fonts.

If the non-GTK X application is displaying a more appropriate font then the problem is most likely caused by a malfunctioning GTK library. In this case you will need to download the GTK library source and recompile it and then install it.

Otherwise, if it appears that all your applications are displaying the same (undesired) fonts then the problem may be due to the X fonts not being set up properly. To see which X fonts your X server has available, run a terminal and type:

- `xlsfonts`

This will print a list of available X fonts. If you do not get a list then it may indicate that there are no X fonts installed, which may indicate a problem with your X font server since it obviously provided the undesired fonts that you saw in the initial problem. To confirm that the X font server is running and set up properly, type:

- `ps ax | grep -i xfs`

If you do not see a listing of xfs running, such as:

      473 ?        S      2:51 xfs -droppriv -daemon -port -1

Then run:

- `xfs -droppriv -daemon -port -1`

If xfs is already running then check if it is configured properly. Look at its configuration file `/etc/X11/fs/config` (this location may differ on your system). It should contain the `catalogue` parameter with the value similar to the one shown below:

    catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
            /usr/X11R6/lib/X11/fonts/75dpi:unscaled,
            /usr/X11R6/lib/X11/fonts/100dpi:unscaled,
            /usr/X11R6/lib/X11/fonts/misc,
            /usr/X11R6/lib/X11/fonts/Type1,
            /usr/X11R6/lib/X11/fonts/Speedo,
            /usr/X11R6/lib/X11/fonts/100dpi,
            /usr/X11R6/lib/X11/fonts/75dpi,
            /usr/X11R6/lib/X11/fonts/cyrillic

Verify that each font path exists and that they contain the X fonts. The X font files will have the extensions; `.pcf`, `.pfa`, `.pfb`, and possibly other extensions with a `.gz` postfix. If the font paths do not refer to the correct directories then edit the xfs configuration file `/etc/X11/fs/config` and make the appropriate changes.

Otherwise you may need to install the desired fonts. See Installing X Fonts (external link to the XFree 86 web site).

If you are still unable to resolve this problem then you are encouraged to ask about it on the mailing list.

Back to the top

### Q: How do I add, edit, or remove items from the Open To menu?

A: The Open To menu (accessed by going to File->Open To) lists the commands that are defined on the MIME Type that the current (or last) selected object was associated with. So therefore, in order to add, edit, or remove items, you need to add, edit, or remove the commands that have been defined on the MIME Type in question. See Defining a MIME Type.

Back to the top

### Q: How come I get objects that are denoted by a blue or red dot in the lists?

A: The objects that are displayed with a "blue dot" as its icon are unknown objects and the objects that are displayed with a "red dot" as its icon are error objects

In some cases, an object who's type is not recognized by Endeavour Mark II or by the operating system may be displayed as an unknown object. It may also indicate that the media that the object resides on has been damaged and that its type was not obtainable. In this case you may want to run FSCK to try and fix the media.

There may be several different causes for encountering error objects, the most common are listed as follows (from most to least common):

An object may be listed in a directory's entries (when Endeavour Mark II calls `opendir()`) at the moment to open or go to a new location, but while the directory's entries are being loaded, the object may have been renamed, moved, or deleted by another program and therefore no longer exists and Endeavour Mark II reports it as an error object when it attempts to `stat()` the object.

The object's statistics may contain values that Endeavour Mark II was not designed to handle (most commonly, 64-bit value sizes) or that `stat()` returned `-1`. This is sometimes due to Endeavour Mark II being compiled on a system that does not support 64-bit `stat()` values and then runned on a 64-bit system. The solution is to compile Endeavour Mark II from source for your particular system. However if this does not resolve the problem, see the next case.

The media that the object resides on is damaged and that the information about the object in question was not fully obtainable by `stat()`. The solution would be to attempt to fix the media (see FSCK).

Back to the top

### Q: What is the Endeavour Mark II API library (`libendeavour2.so`) for?

A: The Endeavour Mark II API library is a library which allows non-Endeavour Mark II programs or third party Endeavour Mark II programs to instruct a running process of Endeavour 2 to perform tasks such as creating a new File Browser window or map the Properties Dialog for a specified object. It also allows programs to perform some Endeavour 2-related tasks such recycle objects, recover objects, and open objects. Convient access and lookup of Endeavour 2's MIME Types is made possible by using the Endeavour Mark II API library.

The Endeavour Mark II API library is typically located in:

- `/usr/lib/endeavour2/lib/libendeavour2.so`

A link that points to the library typically exists in:

- `/usr/lib/libendeavour2.so`

Endeavour 2, itself, is not linked to the library and does not use it in any way.

To learn more about how to write your own programs using the Endeavour Mark II API library, you should download the latest Endeavour Mark II source and look at the subdirectory:

- `$TOPLEVEL/endeavour2/lib/demos/`

There, you will find a set of program sources that demostrate how to use each of the Endeavour Mark II API library's functions. You can also look at the header files for more information, they are installed in:

- `/usr/lib/endeavour2/include/`

If you need further help, you can ask your questions on the Endeavour Mark II mailing list.

Back to the top

Endeavour Mark II is Copyright © 1997-2006 WolfPack Entertainment

</left>