Table of Contents
Jeszra accepts and follows the platform specific HCI-Guidelines. Under X Window System there is however no single HCI-Guideline, but a multitude thereof.
There are a series of predefined X Window System designs for Jeszra, providing a usable interface right away. Feel invited to use these designs as the foundation of your own application designs.
Integrated Designs
aqua.tcl: the AQUA® Graphical User Interface.
whiteX11.tcl: positive, high contrast design. WhiteX11.tcl is related to Aquaish.
lightX11.tcl: positive, mid-high contrast design. Integrates with Clearlooks.
grayX11.tcl: positive, high contrast design. Intended for typical grayish work-environments.
quinoaX11.tcl: colourful, positive, low contrast design.
seaX11.tcl: extremely colourful, positive mid-low contrast design.
safariX11.tcl: negative, high contrast design.
blackX11.tcl: negative, high contrast design.
Specialized Designs
snowwhite.tcl: positive, high contrast design. Snowwhite is a minimalistic design intended for documentation purposes.
Aquaish –a minor design– reimplements the AQUA® Graphical User Interface (aqua.tcl) as bitmap-free Scalable Vector Graphics. This design is intended for web-based applications, supporting the AQUA® user interface on client machines. This minor design requires AQUA®.tcl.
Peppermint, a minor design.
Champagne, a minor design.
BigFonts, a minor design.
The presented designs address visual disabilities and integration issues.
The rule number one in Graphical User Interface design: »It must be usable«. This is easier stated than achieved. At least half of humankind has some sort of visual handicap.
Blindness is of no concern here. A graphical oriented user interface is not suited for blind people.
A well crafted Graphical User Interface addresses visual disabilities and assists persons by using it; such a software could truly be called: »easy to use«.
Design is not about mimicry or fashion.
The best and easiest method to address visual disabilities is to integrate supportive technologies into the basic windowing system. This was done by Apple Inc.® with Apple® OSX, case closed!
Unfortunately, the competition has still a rough way ahead to resolve these issues. Leaving it to the application designers to shoulder this task.
»Theming« is an alternate approach. Themes are around since a very long time. The amount of what is themed today is much wider, but the principle is the same as with Windows 3.0, MacOS and X Resource Database.
The idea behind themes is: To allow variations in font, foreground and background colours. With these variations all visual disabilities have to be addressed.
In context with Tcl/Tk customization is done through the Option Database. The Option Database is inspired and follows the principles of X Resource Database. X Resource Database is amongst the earliest theming techniques and the only one which almost worked.
Use the Option Database for every window property, except those with functional intent.
Functional Properties
Are typical functional properties. Do not customize these properties through the Option Database.
Functional properties constitute the behaviour of the software;. To allow these properties to be changed, by passing them through the Option Database, would cause endless support calls; and may render the software utterly useless.
There are exceptions from this: The »Splines« feature inside the »General« preferences page is passed through the Option Database. A 3rd-party package »TclSplines« is required for this function and Jeszra tracks the presence of tclsplines through the Option Database.
are typical resources. These properties should always being passed through the Option Database.
Using the Option Database for properties has an massive performance advantage over the command line. The difference has lessened in Tk 8.5, but still leads to significant faster software.
Using the Option Database increases the code size and performance. An application using the Option Database may be twice as fast as one using the command line alone.
Example 5.1. Option Database Code
option add *Gestalt.background red4 option add *Gestalt.foreground white
Example 5.2. Command Line Code
# Use the command line for # functional properties: gestalt .gestalt -foreground red4 \ -background white
Starting with Tcl/Tk version 8.5: Tile, a theming engine, is bundled with Tcl/Tk. Tile bypasses the Option Database mechanism concerning colours and fonts.
Tile comes with some »themes« on X Window System, but
none of the provided themes is designed with the
intend to provide accessible assistance. In
addition, Tile by itself doesn’t answer to theme changes
initiated by the dominant desktop environments:
KDE
and gnome.
Under X Window System the application is better
integrated with KDE and gnome without using Tile.
Both KDE and gnome
modify the X Resource Database .XResources
file, which is mirrored within the Option Database.