There are two ways of customizing the frame display when using Isamode: by setting Emacs user-options and by setting X resources.
The user options controlling the display mostly appear in the file `isa-display.el'.
To toggle this setting while Isamode is running, use the function
isa-toggle-multi-frame
.
The default value is nil
.
The default value starts a proofstate display and a ruletable display.
The list of symbols allowed is given by
isa-possible-associated-buffer-names
.
The default value is (proofstate)
.
default-menubar
(in XEmacs), to have the usual
menus in addition. This may clutter the display a little,
or result in menus being lost off the end of the menubar!
(mode-name (prop-list))
where prop-list is a list of property cons values, of the form
(window-height
. integer) or (shrink-to-fit . boolean)
(Note: these properties are implemented inside Isamode and are not a standard part of XEmacs.)
The default value for isa-single-frame-display-props
is:
(setq isa-single-frame-display-props ((proofstate-mode (window-height . 8)) (listener-mode (window-height . 5)) (ruletable-mode (window-height . 15)) (ruletable-mode (shrink-to-fit . t))) )
The default value for isa-multi-frame-display-props
looks
something like this:
(setq isa-multi-frame-display-props '((proofstate-mode (frame-name . proofstate)) (listener-mode (frame-name . listener)) (ruletable-mode (frame-name . ruletable)) (isa-mode (frame-name . isabelle)) (ruletable (instance-limit . 3)) (ruletable (max-frame-height . 25)) (ruletable (frame-defaults . ((top . 560) (left . 5) (height . 22) (width . 60) (menu-bar-lines . 0) (minibuffer . nil) ))) (isabelle (frame-defaults . ((top . 0) (left . 0) (height . 35) (width . 80) ))) (listener (frame-defaults . ((top . 620) (left . 530) (height . 7) (width . 65) (menu-bar-lines . 0) (minibuffer . nil) ))) (proofstate (frame-defaults . ((top . 30) (left . 700) (height . 35) (width . 50) (menu-bar-lines . 0) (minibuffer . nil) (vertical-scroll-bars . nil) )))) )
This shows the setting of the frame names for the Isabelle buffer modes (which automatically gives them individual X-windows), and the frame default parameters for each of the frame names. Some of these values may be inappropriate for your display, so you may wish to change them in your `~/.emacs'.
See See Info file `(lispref)', node `Frame Parameters' for more information about frame parameters.
Frame properties are an unsatisfactory part of the Emacs window
interface: the kind of settings they control are usually kept in the X
resources database. Luckily, XEmacs allows X resources to be used in
place of isa-multi-frame-display-props
.
Here are some sample X defaults for XEmacs that work well on my X terminal. See the file `etc/Xdefaults-xemacs' in the Isamode distribution for more examples, and the documentation in See Info file `emacs', node `Resources X'. Further details are in See Info file `elisp', node `X Frame Parameters'.
/* ===== X resources for Isamode in XEmacs ===== */ /* some frame geometries. */ Emacs*listener.geometry: 55x10 Emacs*ruletable.geometry: 57x15 Emacs*proofstate.geometry: 52x35 /* ruletable frames have large red headings */ Emacs*ruletable.ruletableGroupname.attributeFont: \ -adobe-helvetica-bold-r-normal--*-160-75-75-*-*-iso8859-1 Emacs*ruletable.ruletableGroupname.attributeForeground: red /* proofstate frames have bold goal subgoal numbers */ Emacs*proofstate.proofstateGoal.attributeFont: \ -adobe-courier-bold-r-normal--*-140-75-75-*-*-iso8859-1 Emacs*proofstate.proofstateSubgoalNumber.attributeFont: \ -adobe-courier-bold-r-normal--*-140-75-75-*-*-iso8859-1
Frame properties take precedence over X resources, so you will need
(setq isa-multi-frame-display-props '((proofstate-mode (frame-name . proofstate)) (listener-mode (frame-name . listener)) (ruletable-mode (frame-name . ruletable)) (isa-mode (frame-name . isabelle)) (ruletable (instance-limit . 3))))
or something similar in your `~/.emacs' to ensure the resource specifications have effect.
Go to the first, previous, next, last section, table of contents.