在Pharo和Squeak中,如果安装了它,你可以输入CommandShell open.
,它将打开一个命令窗口,它基本上就像一个" bash shell"或"终端窗口",但它使用的是近似微观尺寸的默认字体。我似乎无法弄清楚如何改变它。
我发现smalltalk中的一般方法是浏览一个类的实现,看看你是否可以找到一些你可以对类说出来的东西,告诉它你想要什么,或者你可以用某种方式来修改类它回答了与其他类不同的东西,产生了预期的效果。类似于anInstanceOfCommandShell someViewOrControllerThingy setDefaultFont:blahblahblah
之类的东西。
似乎CommandShell使用ShellWindowMorph并且它接受setFont消息。我在Smalltalk和Squeak中比较新,并且不知道下一步该怎么做。
我使用的是Pharo 2.0,但如果有人知道如何在Squeak中做到这一点,我相信它会大致相同。
请注意,我已找到pharo的设置,并且常规设置更改会影响主要成绩单窗口,但不会以任何方式影响特殊CommandShellTranscript
或其内容。
我用来以编程方式更改其余字体的代码是来自another question.的答案,其中说这样做:
|font codeFont|
font := LogicalFont familyName: 'Consolas' pointSize: 10.
codeFont := LogicalFont familyName: 'Consolas' pointSize: 9.
StandardFonts listFont: codeFont.
...
答案 0 :(得分:5)
您可以通过以下方法覆盖ShellWindowMorph默认#textStyle:
textStyle
" Answer a font for the text morph"
^ TextStyle default
窗口应该可以直接从shell菜单(右上角的箭头)或设置浏览器中设置字体。您可以通过将“Halo”菜单置于您感兴趣的变形上(Alt + Shift +左键单击MS Windows下)并选择红色图标来修改任何变形属性。然后选择Debug - >探索变形并直接从资源管理器中设置文本样式:
self textMorph setTextStyle: TextStyle default
答案 1 :(得分:2)
ShellWindowMorph使用系统范围的DefaultFixedTextStyle。
在Squeak,你可以改变它:
TextConstants
at: #DefaultFixedTextStyle
put: (TextStyle fontArray: {StrikeFont fromUser}).