如何在pharo或squeak中更改CommandShell窗口中的字体?

War*_* P 4 smalltalk squeak pharo

在Pharo和Squeak中,如果它已经安装,你可以键入CommandShell open.,它将打开一个命令窗口,它基本上就像一个"bash shell"或"终端窗口",但它使用的是一个近乎微观尺寸的默认字体.我似乎无法弄清楚如何改变它.

我发现smalltalk中的一般方法是浏览类的实现,看看你是否可以找到你可以对类说的东西,告诉它你想要什么,或者你可以修改类的一些方法让它回答一些问题不同于其他一些类,造成了预期的效果.类似的东西anInstanceOfCommandShell someViewOrControllerThingy setDefaultFont:blahblahblah或类似的东西.

似乎CommandShell使用ShellWindowMorph并且它接受setFont消息.我是Smalltalk和Squeak的新人,不知道下一步该做什么.

我正在使用Pharo 2.0,但如果有人知道如何在Squeak中做到这一点,我相信它会大致相同.

请注意,我已经找到了pharo的设置,并且常规设置更改会影响主要抄本窗口,但不会CommandShellTranscript以任何方式影响特殊内容或其内容.

在此输入图像描述

我用来以编程方式更改其余字体的代码是另一个问题的答案.它说这样做:

|font codeFont|

font := LogicalFont familyName: 'Consolas' pointSize: 10.
codeFont := LogicalFont familyName: 'Consolas' pointSize: 9.
StandardFonts listFont: codeFont.
...
Run Code Online (Sandbox Code Playgroud)

Her*_*nán 5

您可以通过以下方法覆盖ShellWindowMorph默认#textStyle:

textStyle
    " Answer a font for the text morph"

    ^ TextStyle default
Run Code Online (Sandbox Code Playgroud)

该窗口应该有一种直接从shell菜单(右上角的箭头)或设置浏览器设置字体的方法.您可以通过将"Halo"菜单置于您感兴趣的变形上(Alt + Shift +左键单击MS Windows下)并选择红色图标来修改任何变形属性.然后选择Debug - > Explore morph并直接从Explorer中设置文本样式:

self textMorph setTextStyle: TextStyle default
Run Code Online (Sandbox Code Playgroud)