standards: Graphical Interfaces

1 
1 4.6 Standards for Graphical Interfaces
1 ======================================
1 
1 When you write a program that provides a graphical user interface,
1 please make it work with the X Window System, using the GTK+ toolkit or
1 the GNUstep toolkit, unless the functionality specifically requires some
1 alternative (for example, "displaying jpeg images while in console
1 mode").
1 
1    In addition, please provide a command-line interface to control the
1 functionality.  (In many cases, the graphical user interface can be a
1 separate program which invokes the command-line program.)  This is so
1 that the same jobs can be done from scripts.
1 
1    Please also consider providing a D-bus interface for use from other
1 running programs, such as within GNOME. (GNOME used to use CORBA for
1 this, but that is being phased out.)  In addition, consider providing a
1 library interface (for use from C), and perhaps a keyboard-driven
1 console interface (for use by users from console mode).  Once you are
1 doing the work to provide the functionality and the graphical interface,
1 these won't be much extra work.
1 
1    Please make your program interoperate with access technology such as
1 screen readers (see
1 <http://www.gnu.org/accessibility/accessibility.html>).  This should be
1 automatic if you use GTK+.
1