Table of Contents
Jeszra is open source software, and thus every part of it can be modified, extended or replaced. Jeszra features a moderate set of preference pages to easy its customization and the integration of alien packages.
Jeszra´s configuration is stored in the
file .jeszra
, inside the
user´s home directory. This file is being altered
by Jeszra itself whenever it saves the configuration.
The environment variable JESZRACONFIG instructs Jeszra to use another configuration file. The file, to which this environment variable points, will be the configuration.
Jeszra may also use a local configuration.
The local directory ./
is
searched for the file .Jeszra
.
The local configuration will be loaded instead of the global
configuration from either the user´s home directory
or identified through JESZRACONFIG.
The configurations is however never saved
to such a local configuration file.
The local configuration
is assumed imutable for a given project.
The .Jeszra
configuration
covers the preferences, the Script Tool,
the palette
area, the toolbar and the tools menu.
The palettes, Script Tool, toolbar
and tools menu all have their own Tcl/Tk package.
Configuration Packages
The galettes package provides the customization of the Script Tool and the palettes.
gtoolbar package provides the creation and configuration of the main toolbar. The internal structure resembles that of an ordinary template, which makes it possible to also replace the toolbar type itself –with a Zoolbar.
The gtools package provides the customization of the Tools menu.
The package gstartup contains the preferences for Jeszra.
Jeszra features a basic configuration for all
parts. The basic configuration gets used when no other
configuration could be found. The related files
are: toolbar.tcl
,
tools.tcl
,
startup.tcl
and
palettes.tcl
. The package
require
mechanism imports these modules into
Jeszra.
Every modification of Jeszra itself gets monitored by Jeszra. Jeszra will make these customization permanent. The procedure opset is responsible for monitoring permanente changes of the Option Database. The opset mechanism is independent from the Script Tool .
Example 11.1. opset
proc opset {type value {variable ::_rdb}} {
upvar $variable _
option add $type $value
debug stdout "opset $type $value"
# add it to a repository
lappend _ [list option add $type $value]
}
Preferences
Palettes, Palette Items. See Figure 11.4, “Palettes”, the section called “Modify a Palette and its Items”, Figure 11.6, “Modify a Palette Item”, Figure 6.3, “Editing the TkPath 0.3 Palette”.
Coding Model.
Code Generation. See the section called “Unknown Geometry Manager”, the section called “Bundled DocBook Files”, Figure 7.6, “Substitution Preferences”, Figure 7.3, “Message Catalog Preferences”, Figure 7.1, “Preferences: Option DB”, Figure 7.2, “Force And Ignore”.
Scripts, Script Recording. See the section called “Scripts”.
Interactive Behavior. See the section called “Common”.
Graphical User Interface. See the section called “Common”.
Filters. See Figure 4.6, “Read-only Properties”, the Inspector context menu and the section called “Global Filters”.
Amongst other things, Jeszra is also a GUI-Builder. And Jeszra has a Graphical Interface. This Interface can be altered with Jeszra. Except for the »Palettes« preference page, every part was created with Jeszra.
Jeszra is capable to live edit itself. The red-button in Figure 11.1, “The General Preferences”, invokes the live edit session. Thus Jeszra can be made an element of your works.