代码之家  ›  专栏  ›  技术社区  ›  Warren P

如何在命令外壳窗口中用pharo或screak更改字体?

  •  4
  • Warren P  · 技术社区  · 12 年前

    在Pharo和Squeak中,如果安装了它,您可以键入 CommandShell open. 它将打开一个命令窗口,基本上类似于“bash-shell”或“终端窗口”,但它使用的是几乎微观大小的默认字体。我似乎不知道如何改变它。

    我发现smalltalk中的一般方法是浏览一个类的实现,看看你是否可以找到一些可以对该类说的话来告诉它你想要什么,或者你可以通过某种方式修改该类,使其回答与其他类不同的问题,从而产生所需的效果。有点像 anInstanceOfCommandShell someViewOrControllerThingy setDefaultFont:blahblahblah 或者类似的东西。

    看起来CommandShell使用了ShellWindowMorph,并且它接受了setFont消息。我对Smalltalk和Squeak很陌生,不知道下一步该怎么办。

    我使用的是Pharo 2.0,但如果有人知道如何在Squeak中做到这一点,我相信它也差不多。

    请注意,我已经找到了pharo的设置,常规设置的更改会影响主转录窗口,但不会影响特殊的 CommandShellTranscript 或以任何方式显示其内容。

    enter image description here

    我用来以编程方式更改其余字体的代码来自 another question. 上面写着要这样做:

    |font codeFont|
    
    font := LogicalFont familyName: 'Consolas' pointSize: 10.
    codeFont := LogicalFont familyName: 'Consolas' pointSize: 9.
    StandardFonts listFont: codeFont.
    ...
    
    2 回复  |  直到 7 年前
        1
  •  5
  •   Hernán    12 年前

    您可以用以下内容替代ShellWindowMorph默认的#textStyle:

    textStyle
        " Answer a font for the text morph"
    
        ^ TextStyle default
    

    窗口应该可以直接从shell菜单(右上箭头)或“设置浏览器”设置字体。您可以修改任何变形属性,方法是将“光晕”菜单放在您感兴趣的变形上(在MS Windows下Alt+Shift+左键单击),然后选择红色图标。然后选择调试->直接从资源管理器中浏览变形并设置文本样式:

    self textMorph setTextStyle: TextStyle default
    
        2
  •  3
  •   codefrau    12 年前

    ShellWindowMorph使用系统范围的DefaultFixedTextStyle。

    在Squeak中,您可以这样更改:

    TextConstants
        at: #DefaultFixedTextStyle
        put: (TextStyle fontArray: {StrikeFont fromUser}).