[comp.sys.amiga] Font & window questions

hatcher@INGRES.BERKELEY.EDU.UUCP (03/12/87)

I recently discovered some holes in my understanding of the Amiga; answers
to these questions will be appreciated.

1) I used "setfont" to change my CLI font, and this worked fine. Unfortunately
the font change does not carry over to the vt100 screen. How can I change
the font for other programs like this? (The setfont in question came from
trantor archives, and was posted in October)

2) It occurred to me that it would be nice to have windows on top of
arbitrary screens, like putting a clock on top of the screen used by vt100.
I haven't found a way to do this, and I suspect that this shows that there
is something fundemental about windows and screens that I don't understand.

Can anybody explain what's going on with these two issues?
	Thanks,
		Doug Merritt		ucbvax!ingres!hatcher

higgin@cbmvax.UUCP (03/12/87)

In article <8703120319.AA03253@ingres.Berkeley.EDU> hatcher@INGRES.BERKELEY.EDU (Doug Merritt) writes:
$I recently discovered some holes in my understanding of the Amiga; answers
$to these questions will be appreciated.
$1) I used "setfont" to change my CLI font, and this worked fine. Unfortunately
$the font change does not carry over to the vt100 screen. How can I change
$the font for other programs like this? (The setfont in question came from
$trantor archives, and was posted in October)

Programs can specify a specific font they wish to use, and if they do this,
it might not be the same font as you specified for CLIs.  The setfont command
simply changes the "default" font in the Amiga.  That is, the font a program
will use if it does not specifically specify one.  Since VT100 does
specify topaz/8, it won't use whatever you've set the CLI (default) to.

$2) It occurred to me that it would be nice to have windows on top of
$arbitrary screens, like putting a clock on top of the screen used by vt100.
$I haven't found a way to do this, and I suspect that this shows that there
$is something fundemental about windows and screens that I don't understand.
$		Doug Merritt		ucbvax!ingres!hatcher

When a program opens a window, it must specify which screen that window
should appear on.  Either Workbench's, or a program's custom one, such as
the one VT100 uses for example.  Since the clock program (as an example)
is not aware of the screen that VT100 has opened, it is not able to open
the window in which the clock is displayed on the vt100 screen.  It (the
clock program) specifies that its window should appear on the Workbench
screen.

	Hope this helps,
		Paul Higginbottom

spencer@mica.UUCP (03/13/87)

In article <8703120319.AA03253@ingres.Berkeley.EDU> hatcher@INGRES.BERKELEY.EDU (Doug Merritt) writes:
>I recently discovered some holes in my understanding of the Amiga; answers
>to these questions will be appreciated.
>
>1) I used "setfont" to change my CLI font, and this worked fine. Unfortunately
>the font change does not carry over to the vt100 screen. How can I change
>the font for other programs like this? (The setfont in question came from
>trantor archives, and was posted in October)

This has to do with the fact that when you use preferences you already can
set your font specifically.  You could have choosen to use a 60 column font,
if the programmer doesn't watch out he will find that the screen that looked
really good in an 80 column font is a mess with the 60 columns.  So people are
starting to remember to specifiy the font that they want when they open a 
window or screen.  If you want a different font in VT100, just change the
source and re-compile (love that PD).
>
>2) It occurred to me that it would be nice to have windows on top of
>arbitrary screens, like putting a clock on top of the screen used by vt100.
>I haven't found a way to do this, and I suspect that this shows that there
>is something fundemental about windows and screens that I don't understand.

To put your own clock on top of VT100's screen you would have to have the 
two programs message pass between themselves and have VT100 give the clock
program a pointer to its screen structure.  Thus, it is possible, but you have
to do it on both ends.  Actually maybe you could get the pointer from 
IntuitionBase, but what do you do when VT100 exits?  The screen goes away
and there is this clock with no where to put its window.

This is why I took GFXmem and rewrote it to open a screen at position 202 down
and call screen to front every 10 seconds or so.  This way my clock and 
memory graph stay infront of _everything_, including PopCLI unfortunately
(I'll fix that, I will!).  Now that I have MoreRows, I am putting a close
gadget on the program (since I can finally get the pointer down below VT100.

While we are talking VT100, I have always wondered when I am dragging the
VT100 window down so I can get to the VT100 screen gadget to send it to the 
back, why Dave (hello, Dave?) doesn't open a backdrop window like Amiga
MicroEmacs, so that I can get to the screen without moving the window.  Also,
that would give us a full title bar, so couldn't we just (I'm talking 1.2 
here) open the window 1 pixel down?  It works, my previously mentioned program
works completely below line 200.  Just a question.
>
>Can anybody explain what's going on with these two issues?

I thought I just did...

>	Thanks,
>		Doug Merritt		ucbvax!ingres!hatcher

No problem, I had a blast!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Randy Spencer      P.O. Box 4542   Berkeley  CA  94704        (415)284-4740 
                         I N F I N I T Y                 BBS: (415)283-5469
Now working for          |||||||||||::::... . .                    BUD-LINX
But in no way            |||||||||||||||::::.. .. .
Officially representing  ||||||||||||:::::... ..    ....ucbvax!mica!spencer
                         s o f t w a r e          spencer@mica.berkeley.edu
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

mwm@eris.UUCP (03/13/87)

In article <8703120319.AA03253@ingres.Berkeley.EDU> hatcher@INGRES.BERKELEY.EDU (Doug Merritt) writes:
>2) It occurred to me that it would be nice to have windows on top of
>arbitrary screens, like putting a clock on top of the screen used by vt100.
>I haven't found a way to do this, and I suspect that this shows that there
>is something fundemental about windows and screens that I don't understand.

Keeping the window on top of a screen is easy - you just call
window-to-front at regular intervals (not to often, or the redraws
will drive you batty!). Similar tricks can be done with screens if you
put it in it's own screen. Someone has a clock in a sprite; that
should also stay on top of everything. 

When I start working on my menu-bar clock again (want to put the
1-minute load average in; thanx to whoever it was that posted that!),
I'm going to poke at putting it in a sprite.

To prevent problems with POPCLI & screen blanking, I may put screen
blanking into it also. When the screen goes black, the clock will
start drifting around the screen randomly (somewhere I've got a
screen-blanker that does that). What gets done for the CLI popping
part of POPCLI is unclear.

Of course, if someone comes up with a program that does all this
before I get around to looking at it, I'd appreciate a copy!

	<mike


--
But I'll survive, no you won't catch me,		Mike Meyer
I'll resist the urge that is tempting me,		ucbvax!mwm
I'll avert my eyes, keep you off my knee,		mwm@berkeley.edu
But it feels so good when you talk to me.		mwm@ucbjade.BITNET

dillon@CORY.BERKELEY.EDU.UUCP (03/13/87)

	Hey! I have an idea.... Since all programs that I know of use
OpenWindow() to open a new window, wouldn't it be easy to install a program
that would allow you to specify 'alternate' workbench screens, and then have
it re-route the OpenWindow() library call to check for WBENCHSCREEN and 
change it to CUSTOMSCREEN sticking in it's own screen pointer?  Then, before
returning to the application, it could restore the NewWindow structure to
it's previous contents (since intuition doesn't care about that anymore),
and the whole process would be transparent to the application!

	I think I just found me a project, will let you all know what comes
about!.

				-Matt