2013-03-19 28 views
4

在菲羅和吱吱聲,如果已安裝它,您可以鍵入CommandShell open.,它就會打開一個命令窗口,這基本上就像一個「bash shell的」或「終端窗口」,但它使用的是近微觀大小的默認字體。我似乎無法弄清楚如何改變它。如何在Pharo或squeak中的CommandShell窗口中更改字體?

我想通了,在Smalltalk的一般方法是瀏覽類的實現,看看是否能找到的東西,你可以說類,告訴它你想要什麼,還是有些辦法可以修改類所以它回答與其他一些課程不同的東西,從而產生期望的效果。像anInstanceOfCommandShell someViewOrControllerThingy setDefaultFont:blahblahblah或類似的東西。

這似乎是一個CommandShell使用ShellWindowMorph,它接受一個setfont程序的消息。我在Smalltalk和Squeak中相當新,並且不知道下一步該做什麼。

我使用菲羅2.0,但如果有人知道如何做到這一點在佳樂我敢肯定,這將是差不多的。

請注意,我發現菲羅的設置和常規設置的變化影響主成績單窗口,但不影響特殊CommandShellTranscript或其任何方式的內容。

enter image description here

我用它來改變字體的其他程序是從another question.這個答案,說要做到這一點,代碼:

|font codeFont| 

font := LogicalFont familyName: 'Consolas' pointSize: 10. 
codeFont := LogicalFont familyName: 'Consolas' pointSize: 9. 
StandardFonts listFont: codeFont. 
... 
+0

BTW在shell窗口中,你可以評估Smalltalk的表情像ProtoObject withAllSubclasses尺寸和打作爲在Python IDLE例如。 – 2013-03-19 02:54:23

+0

這是一個漂亮的混合方法。 – 2013-03-20 00:26:31

回答

5

您可以通過以下覆蓋ShellWindowMorph默認#textStyle一個:

textStyle 
    " Answer a font for the text morph" 

    ^TextStyle default 

窗口應該有一種方法來直接從shell菜單中設置字體(右上角的ar行)或從設置瀏覽器。您可以通過將「Halo」菜單放在感興趣的變形上(Alt + Shift +左鍵單擊MS Windows下)並選擇紅色圖標來修改任何變形屬性。然後選擇Debug - > Explore morph並直接從資源管理器設置文本樣式:

self textMorph setTextStyle: TextStyle default 
+0

這對我很好,因爲它感覺像這個對象回覆的默認的textStyle是來自舊世界(Squeak)的東西,它並沒有出現在Pharo中任何地方的「字體/外觀」設置中。 – 2013-03-20 16:58:44

2

ShellWindowMorph使用系統範圍的DefaultFixedTextStyle。

在佳樂,你可以改變這樣的:

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

在風格上,這可能比修改代碼以將引用放置到DefaultFixedTextStyle更好,我猜? – 2013-03-20 01:25:50

相關問題