Preferences

Edit > Global settings holds RustFig's preferences; they are saved when you change them and loaded at every start (the panel shows where).

The upper part is xfig's panel, with the same rows. Ok applies every row you changed; Cancel (or closing the window) throws the changes away. Each row is a command (prefs.set, the View toggles) and is kept in the preferences:

The lower part is RustFig's own:

The colour theme follows the system's light or dark setting unless you choose Light or Dark above.

Document-specific settings (units, paper, orientation, comments) are saved in the drawing itself: see Edit > Document settings and Zoom and view.

LaTeX text

Under LaTeX text in Edit > Global settings: Typeset LaTeX text on the canvas (View > Typeset LaTeX text), the TeX program (empty: pdflatex, then lualatex, from the PATH; the line below names the one in use) and the Preamble added after \usepackage{amsmath,amssymb,color,graphicx}. Each field is saved, and the texts typeset again, when you leave it. See Text and pictures.

Command-line options

RustFig starts like xfig: rustfig [options] [file], and every option of xfig's manual page is accepted, so rustfig -metric drawing.fig does what xfig -metric drawing.fig does. An option changes the setting for that run only; your saved preferences stay as they are. Options take their value as the next word (-startfontsize 16) and may be shortened as long as the start is unique among xfig's options (-me for -metric). -help lists them all.

Coming from xfig

On the first start RustFig takes the recent files of xfig's ~/.xfigrc into its File menu (and xfig's max_recent_files). On Linux, install.sh also installs an xfig command that starts RustFig, when no xfig is installed; with Homebrew, brew install rustfig --with-xfig does the same (it cannot be installed next to Homebrew's xfig). Scripts that call xfig file.fig then open RustFig.

Accessibility

Every button, check box, field and ruler has a name that screen readers (VoiceOver, Narrator, Orca) announce through AccessKit; the mode and attribute buttons read as their xfig tooltips, the colour swatches by colour name. The canvas reads as a summary of the drawing, for example "Canvas: 3 objects: polyline, box, text 'Hello'" (the first eight objects, then "and N more"). A test checks that no interactive widget of the main window has an empty name; the check with a real screen reader is manual.