[squeak-dev] The Trunk: System-mt.1010.mcz

Eliot Miranda eliot.miranda at gmail.com
Tue Apr 3 20:15:46 UTC 2018


On Tue, Apr 3, 2018 at 1:13 PM, Eliot Miranda <eliot.miranda at gmail.com>
wrote:

>
>
> On Tue, Apr 3, 2018 at 12:36 PM, karl ramberg <karlramberg at gmail.com>
> wrote:
>
>> I often work in low light situations and the bright back light from lcd
>> screens are a strain on the eyes. as well as it lights up the room where
>> other people around me wants it dark.
>> The choice is good :-)
>>
>
> +1. At night everything changes.  Dark themes work at night.
>

Rather, dark themes work better at night.


> But a spherical screen, such that the eyes do not have to refocus as one
> looks at different parts of the screen, would be more restful.  I wanted to
> mention that these issues are behind iPhone's lovely night time low
> lighting scheme "Night Shift".  And I wanted to discuss contrast more.  But
> I thought I had gone on for long enough anyway :-)
>
>
>
>> Best,
>> Karl
>>
>> On Tue, Apr 3, 2018 at 7:49 PM, Bert Freudenberg <bert at freudenbergs.de>
>> wrote:
>>
>>> Interesting, thank you.
>>>
>>> I believe people choose dark themes because they secretly want to look
>>> as cool as the hackers in movies. Not that anyone would admit that, of
>>> course.
>>>
>>> Then again, wanting to look cool is as valid a reason as any,
>>> fashion-wise. Choice is good :)
>>>
>>> - Bert -
>>>
>>> On 3 April 2018 at 15:20, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>>
>>>> Hi Dark Themers,
>>>>
>>>>     in an earlier life I worked in optics, designing holographic
>>>> cameras for bubble chamber physics, so I know a little about focussing
>>>> systems and depth of field.  The iris in the eye expands or contracts to
>>>> allow or restrict the amount of light entering the eye, attempting to
>>>> maintain a constant luminosity on the retina so that either not too little,
>>>> or not too much light falls on the cones and rods in the retina.  When the
>>>> iris is dilated (open) the eye allows as much light as possible into it.
>>>> You can visualize the light from a point (say a pixel) that reaches the
>>>> iris as a cone.  The lens in the eye focuses this expanding cone back into
>>>> a contracting one that comes to a point on the retina corresponding to the
>>>> position of the pixel "out there on the screen".
>>>>
>>>> Focusing is achieved by a muscle around the eye's flexible lens, the
>>>> cillary muscle, which squeezes the lens into a more spherical shape to
>>>> cause rays entering the eye to bend more, brings no objects closer to the
>>>> eye into focus, or by the cillary muscle relaxing, allowing the lens
>>>> to stretch back to a flatter shape, to bend rays less, bringing objects
>>>> further away into focus.  In old age shortsightedness is caused by the lens
>>>> loosing its elasticity and remaining squeezed, and longsightedness by it
>>>> losing flexibility and the cillary muscle losing strength so that the lens
>>>> cannot be squeezed as much.  By the time we hit our 40's many of us will
>>>> suffer one of these two extremes and have to wear glasses either for
>>>> reading or for driving or, in my case, for both.
>>>>
>>>>
>>>> Getting back to the cone of rays from a pixel that the iris and lens
>>>> conspire to bring to a point on the retina, if there is a lot of light
>>>> incident on the eye and the iris is undilated then this cone is much
>>>> slimmer.  The result of these differing cones on focus is called depth of
>>>> field.  When the cone is "fat" depth of field is reduced; only pixels in
>>>> the same plane (actually a spherical surface, not a plane, because the
>>>> retina is spherical; film cameras have planar light receptors; the eye and
>>>> camera obscures etc have spherical light receptors) will be in focus;
>>>> others out of the plane will produce a diffuse circle on the retina.  When
>>>> the cone is "slim" (because more light is incident on the eye) depth of
>>>> field is increased because the size of the out of focus diffuse circle is
>>>> smaller. Consequently, when there is less light falling on the eye, depth
>>>> of field is reduced; the cones are fatter and as the eye roams the cillary
>>>> muscle must work to alter the curvature of the lens to keep things in focus.
>>>>
>>>> The implication for the dark theme is that, while it appears to have
>>>> better contrast (it does not; but more on that below), the real effect is
>>>> that it causes the eye to do more work than a light theme because the
>>>> amount of light entering the eye is less.  So both in the short term and
>>>> especially over the long term the dark theme, relative to the light theme,
>>>> will tire your collate muscle and cause your lens to stiffen or squish
>>>> sooner.
>>>>
>>>> Why then, if what I'm saying is true, did all those World War Two
>>>> military aircraft use white letters on a black background?  My lotus europa
>>>> is the same.  The disc of the instrument is illuminated by a lamp so one
>>>> can see it at night, and were the panel painted white then, for the same
>>>> contrast, much more light would hit the eye that for white letters on a
>>>> black background and the pilot's (or driver's) night vision would be
>>>> impaired as the iris would contract.
>>>>
>>>> I don't want to fear monger, but I do want to suggest that it is
>>>> healthier and less wearing on the eyes to use light themes.
>>>>
>>>> Eliot
>>>> _,,,^..^,,,_ (phone)
>>>>
>>>> On Apr 2, 2018, at 11:12 PM, Marcel Taeumel <marcel.taeumel at hpi.de>
>>>> wrote:
>>>>
>>>> <image.png>
>>>>
>>>> Am 03.04.2018 08:07:45 schrieb commits at source.squeak.org <
>>>> commits at source.squeak.org>:
>>>> Marcel Taeumel uploaded a new version of System to project The Trunk:
>>>> http://source.squeak.org/trunk/System-mt.1010.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: System-mt.1010
>>>> Author: mt
>>>> Time: 3 April 2018, 8:07:14.69082 am
>>>> UUID: 322ad26c-26ac-0046-8e31-9db174de998e
>>>> Ancestors: System-cmm.1009
>>>>
>>>> Adds an alternate gray-based dark UI theme.
>>>>
>>>> =============== Diff against System-cmm.1009 ===============
>>>>
>>>> Item was added:
>>>> + UserInterfaceTheme subclass: #TrimTheme
>>>> + instanceVariableNames: ''
>>>> + classVariableNames: ''
>>>> + poolDictionaries: ''
>>>> + category: 'System-Support'!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addButtons: (in category 'instance
>>>> creation') -----
>>>> + addButtons: theme
>>>> +
>>>> + theme
>>>> + set: #borderColor for: #PluggableButtonMorph to: self gray102;
>>>> + set: #borderWidth for: #PluggableButtonMorph to: 1;
>>>> + set: #borderStyle for: #PluggableButtonMorph to: BorderStyle default;
>>>> + set: #color for: #PluggableButtonMorph to: self gray76;
>>>> +
>>>> + set: #textColor for: #PluggableButtonMorph to: self white;
>>>> +
>>>> + set: #selectionModifier for: #PluggableButtonMorph to: [ [:c | self
>>>> gray39] ];
>>>> + set: #hoverModifier for: #PluggableButtonMorph to: [ [:c | self
>>>> gray51] ];
>>>> + set: #feedbackModifier for: #PluggableButtonMorph to: [ [:c | self
>>>> gray39] ].
>>>> +
>>>> + "And the plus-version."
>>>> + theme
>>>> + set: #disabledColor for: #PluggableButtonMorphPlus to: Color
>>>> transparent;
>>>> + set: #disabledTextColor for: #PluggableButtonMorphPlus to: self
>>>> gray128.!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addDialogs: (in category 'instance
>>>> creation') -----
>>>> + addDialogs: theme
>>>> + "self create apply."
>>>> +
>>>> + theme
>>>> + set: #borderColor for: #DialogWindow to: self gray59;
>>>> + set: #borderWidth for: #DialogWindow to: 0;
>>>> + set: #borderStyle for: #DialogWindow to: BorderStyle default;
>>>> + set: #color for: #DialogWindow to: self gray64;
>>>> +
>>>> + set: #titleBorderColor for: #DialogWindow to: self gray59;
>>>> + set: #titleBorderWidth for: #DialogWindow to: 0;
>>>> + set: #titleBorderStyle for: #DialogWindow to: BorderStyle default;
>>>> + set: #titleColor for: #DialogWindow to: self gray51;
>>>> + set: #titleTextColor for: #DialogWindow to: self white;
>>>> +
>>>> + set: #textColor for: #DialogWindow to: self white;
>>>> +
>>>> + set: #okColor for: #DialogWindow to: self green;
>>>> + set: #cancelColor for: #DialogWindow to: self red;
>>>> + set: #buttonColor for: #DialogWindow to: self gray59;
>>>> + set: #selectionModifier for: #DialogWindow to: [ [:c | self blue ] ].
>>>> +
>>>> + "The List Chooser is a dialog, too."
>>>> + theme
>>>> + set: #addColor for: #ListChooser to: self yellow;
>>>> + set: #disabledColor for: #ListChooser to: Color transparent.
>>>> +
>>>> +
>>>> + "And the system progress bar."
>>>> + theme
>>>> + set: #borderColor for: #SystemProgressBarMorph to: Color transparent;
>>>> + set: #borderWidth for: #SystemProgressBarMorph to: 0;
>>>> + set: #borderStyle for: #SystemProgressBarMorph to: BorderStyle
>>>> default;
>>>> + set: #color for: #SystemProgressBarMorph to: self gray64;
>>>> + set: #barColor for: #SystemProgressBarMorph to: self blue.
>>>> +
>>>> + "And the balloon morphs."
>>>> + theme
>>>> + set: #borderColor for: #NewBalloonMorph to: self gray168;
>>>> + set: #borderWidth for: #NewBalloonMorph to: 1;
>>>> + set: #color for: #NewBalloonMorph to: self gray102;
>>>> + set: #textColor for: #NewBalloonMorph to: self white.!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addFonts: (in category 'instance
>>>> creation') -----
>>>> + addFonts: theme
>>>> +
>>>> + "Set-up fonts."
>>>> + theme
>>>> + set: #balloonHelpFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 7);
>>>> + set: #standardButtonFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 7);
>>>> + set: #standardCodeFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 9);
>>>> + set: #standardFlapFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 7 emphasized: TextEmphasis bold emphasisCode);
>>>> + set: #haloLabelFont to: (StrikeFont familyName: 'Darkmap DejaVu Sans'
>>>> pointSize: 9);
>>>> + set: #standardListFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 9);
>>>> + set: #standardMenuFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 9);
>>>> + set: #standardSystemFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 9);
>>>> + set: #windowTitleFont to: (StrikeFont familyName: 'Darkmap DejaVu
>>>> Sans' pointSize: 9).!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addMenusAndDockingBars: (in category
>>>> 'instance creation') -----
>>>> + addMenusAndDockingBars: theme
>>>> +
>>>> + theme
>>>> + set: #borderColor for: #MenuMorph to: self gray51;
>>>> + set: #borderWidth for: #MenuMorph to: 1;
>>>> + set: #borderStyle for: #MenuMorph to: BorderStyle default;
>>>> + set: #color for: #MenuMorph to: self gray27;
>>>> +
>>>> + set: #titleBorderColor for: #MenuMorph to: (Color r: 0.6 g: 0.7 b: 1);
>>>> + set: #titleBorderWidth for: #MenuMorph to: 0;
>>>> + set: #titleBorderStyle for: #MenuMorph to: BorderStyle default;
>>>> + set: #titleColor for: #MenuMorph to: Color transparent;
>>>> + set: #titleTextColor for: #MenuMorph to: self white;
>>>> +
>>>> + set: #lineColor for: #MenuMorph to: self gray51;
>>>> + set: #lineStyle for: #MenuMorph to: BorderStyle simple;
>>>> + set: #lineWidth for: #MenuMorph to: 1.
>>>> +
>>>> + theme
>>>> + set: #textColor for: #MenuItemMorph to: self white;
>>>> + set: #disabledTextColor for: #MenuItemMorph to: self gray128;
>>>> + set: #selectionColor for: #MenuItemMorph to: self gray102;
>>>> + set: #selectionTextColor for: #MenuItemMorph to: self white.
>>>> +
>>>> + "The world main docking bar."
>>>> + theme
>>>> + set: #logoColor for: #TheWorldMainDockingBar to: self white;
>>>> + set: #selectionLogoColor for: #TheWorldMainDockingBar to: self white.!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addScrollables: (in category 'instance
>>>> creation') -----
>>>> + addScrollables: theme
>>>> + "self create apply"
>>>> +
>>>> + "Sliders"
>>>> + theme
>>>> + set: #borderColor for: #Slider to: self gray76;
>>>> + set: #borderWidth for: #Slider to: 1;
>>>> + set: #color for: #Slider to: self gray61;
>>>> + set: #thumbBorderColor for: #Slider to: self gray61;
>>>> + set: #thumbBorderWidth for: #Slider to: 1;
>>>> + set: #thumbColor for: #Slider to: self gray128;
>>>> + set: #thumbShadowModifier for: #Slider to: [ [:c | c alpha: 0.7] ].
>>>> +
>>>> + "Scroll bars"
>>>> + theme
>>>> + set: #thumbBorderWidth for: #ScrollBar to: 1;
>>>> + set: #thumbColorModifier for: #ScrollBar to: [ [:c | c
>>>> adjustBrightness: 0.2] ];
>>>> + "set: #pagingAreaColorModifier for: #ScrollBar to: [ [:c | self
>>>> gray51] ];"
>>>> + set: #borderColorModifier for: #ScrollBar to: [ [:c | c
>>>> adjustBrightness: 0.2] ].
>>>> +
>>>> + "Scroll panes (includes generic stuff for list widgets, tree widgets,
>>>> and text widgets."
>>>> + theme
>>>> + set: #borderColor for: #ScrollPane to: self gray76;
>>>> + set: #borderWidth for: #ScrollPane to: 1;
>>>> + set: #borderStyle for: #ScrollPane to: BorderStyle default;
>>>> + set: #color for: #ScrollPane to: self gray51.
>>>> +
>>>> + "List widgets"
>>>> + theme
>>>> + set: #textColor for: #PluggableListMorph to: self white;
>>>> + set: #selectionColor for: #PluggableListMorph to: self blue;
>>>> + derive: #multiSelectionColor for: #PluggableListMorph from:
>>>> #PluggableListMorph at: #selectionColor do: [:c | c lighter];
>>>> + set: #selectionTextColor for: #PluggableListMorph to: self white;
>>>> + set: #filterColor for: #PluggableListMorph to: self orange;
>>>> + set: #filterTextColor for: #PluggableListMorph to: self white;
>>>> + set: #preSelectionModifier for: #PluggableListMorph to: [ [:c | c
>>>> alpha: 0.3] ];
>>>> + set: #hoverSelectionModifier for: #PluggableListMorph to: [ [:c | c
>>>> darker alpha: 0.3] ].
>>>> +
>>>> + "Tree widgets"
>>>> + theme
>>>> + set: #higlightTextColor for: #SimpleHierarchicalListMorph to: self
>>>> red;
>>>> + set: #lineColor for: #SimpleHierarchicalListMorph to: self gray168.
>>>> +
>>>> + "Text widgets"
>>>> + theme
>>>> + set: #textColor for: #PluggableTextMorph to: self white;
>>>> + set: #caretColor for: #PluggableTextMorph to: self white;
>>>> + set: #selectionColor for: #PluggableTextMorph to: (self blue alpha:
>>>> 0.4);
>>>> + set: #unfocusedSelectionModifier for: #PluggableTextMorph to: [ [:c |
>>>> self blue alpha: 0.3] ];
>>>> + set: #adornmentReadOnly for: #PluggableTextMorph to: self black;
>>>> + set: #adornmentRefuse for: #PluggableTextMorph to: self blue;
>>>> + set: #adornmentConflict for: #PluggableTextMorph to: self red;
>>>> + set: #adornmentDiff for: #PluggableTextMorph to: self green;
>>>> + set: #adornmentNormalEdit for: #PluggableTextMorph to: self orange;
>>>> + set: #adornmentDiffEdit for: #PluggableTextMorph to: self yellow;
>>>> + set: #frameAdornmentWidth for: #PluggableTextMorph to: 1.
>>>> + theme
>>>> + set: #balloonTextColor for: #PluggableTextMorphPlus to: self gray102.!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addSyntaxHighlighting: (in category
>>>> 'instance creation') -----
>>>> + addSyntaxHighlighting: theme
>>>> + "self createDark apply."
>>>> +
>>>> + theme
>>>> + set: #color for: #TextAction to: self blue;
>>>> +
>>>> + set: #default for: #SHTextStylerST80 to: {self white};
>>>> + set: #invalid for: #SHTextStylerST80 to: {self red};
>>>> + set: #excessCode for: #SHTextStylerST80 to: {self red};
>>>> + set: #comment for: #SHTextStylerST80 to: {self cyan};
>>>> + set: #unfinishedComment for: #SHTextStylerST80 to: {self red.
>>>> TextEmphasis italic};
>>>> + set: #'$' for: #SHTextStylerST80 to: {self yellow};
>>>> + set: #character for: #SHTextStylerST80 to: {self yellow};
>>>> + set: #integer for: #SHTextStylerST80 to: {self yellow};
>>>> + set: #number for: #SHTextStylerST80 to: {self yellow};
>>>> + set: #- for: #SHTextStylerST80 to: {self yellow};
>>>> + set: #symbol for: #SHTextStylerST80 to: {self orange};
>>>> + set: #stringSymbol for: #SHTextStylerST80 to: {self orange};
>>>> + set: #literalArray for: #SHTextStylerST80 to: {self orange};
>>>> + set: #string for: #SHTextStylerST80 to: {self magenta. TextEmphasis
>>>> normal};
>>>> + set: #unfinishedString for: #SHTextStylerST80 to: {self red.
>>>> TextEmphasis normal};
>>>> + set: #assignment for: #SHTextStylerST80 to: {nil. TextEmphasis bold};
>>>> + set: #ansiAssignment for: #SHTextStylerST80 to: {nil. TextEmphasis
>>>> bold};
>>>> + set: #literal for: #SHTextStylerST80 to: {nil. TextEmphasis italic};
>>>> + set: #keyword for: #SHTextStylerST80 to: {self blue};
>>>> + set: #binary for: #SHTextStylerST80 to: {self blue};
>>>> + set: #unary for: #SHTextStylerST80 to: {self blue};
>>>> + set: #incompleteKeyword for: #SHTextStylerST80 to: {self white.
>>>> TextEmphasis underlined};
>>>> + set: #incompleteBinary for: #SHTextStylerST80 to: {self white.
>>>> TextEmphasis underlined};
>>>> + set: #incompleteUnary for: #SHTextStylerST80 to: {self white.
>>>> TextEmphasis underlined};
>>>> + set: #undefinedKeyword for: #SHTextStylerST80 to: {self red};
>>>> + set: #undefinedBinary for: #SHTextStylerST80 to: {self red};
>>>> + set: #undefinedUnary for: #SHTextStylerST80 to: {self red};
>>>> + set: #patternKeyword for: #SHTextStylerST80 to: {nil};
>>>> + set: #patternBinary for: #SHTextStylerST80 to: {nil};
>>>> + set: #patternUnary for: #SHTextStylerST80 to: {nil};
>>>> + set: #self for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #super for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #true for: #SHTextStylerST80 to: {self red};
>>>> + set: #false for: #SHTextStylerST80 to: {self red};
>>>> + set: #nil for: #SHTextStylerST80 to: {self red};
>>>> + set: #thisContext for: #SHTextStylerST80 to: {self red};
>>>> + set: #return for: #SHTextStylerST80 to: {self red};
>>>> + set: #patternArg for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #methodArg for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockPatternArg for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockArg for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #argument for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockArgColon for: #SHTextStylerST80 to: {self white};
>>>> + set: #leftParenthesis for: #SHTextStylerST80 to: {self white};
>>>> + set: #rightParenthesis for: #SHTextStylerST80 to: {self white};
>>>> + set: #leftParenthesis1 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #rightParenthesis1 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #leftParenthesis2 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #rightParenthesis2 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #leftParenthesis3 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #rightParenthesis3 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #leftParenthesis4 for: #SHTextStylerST80 to: {self gray76};
>>>> + set: #rightParenthesis4 for: #SHTextStylerST80 to: {self gray76};
>>>> + set: #leftParenthesis5 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #rightParenthesis5 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #leftParenthesis6 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #rightParenthesis6 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #leftParenthesis7 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #rightParenthesis7 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockStart for: #SHTextStylerST80 to: {self white};
>>>> + set: #blockEnd for: #SHTextStylerST80 to: {self white};
>>>> + set: #blockStart1 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockEnd1 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockStart2 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #blockEnd2 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #blockStart3 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #blockEnd3 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #blockStart4 for: #SHTextStylerST80 to: {self gray76};
>>>> + set: #blockEnd4 for: #SHTextStylerST80 to: {self gray76};
>>>> + set: #blockStart5 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #blockEnd5 for: #SHTextStylerST80 to: {self gray102};
>>>> + set: #blockStart6 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #blockEnd6 for: #SHTextStylerST80 to: {self gray128};
>>>> + set: #blockStart7 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #blockEnd7 for: #SHTextStylerST80 to: {self gray168};
>>>> + set: #arrayStart for: #SHTextStylerST80 to: {self white};
>>>> + set: #arrayEnd for: #SHTextStylerST80 to: {self white};
>>>> + set: #arrayStart1 for: #SHTextStylerST80 to: {self white};
>>>> + set: #arrayEnd1 for: #SHTextStylerST80 to: {self white};
>>>> + set: #byteArrayStart for: #SHTextStylerST80 to: {self white};
>>>> + set: #byteArrayEnd for: #SHTextStylerST80 to: {self white};
>>>> + set: #byteArrayStart1 for: #SHTextStylerST80 to: {self white};
>>>> + set: #byteArrayEnd1 for: #SHTextStylerST80 to: {self white};
>>>> + set: #leftBrace for: #SHTextStylerST80 to: {self white};
>>>> + set: #rightBrace for: #SHTextStylerST80 to: {self white};
>>>> + set: #cascadeSeparator for: #SHTextStylerST80 to: {self white};
>>>> + set: #statementSeparator for: #SHTextStylerST80 to: {self white};
>>>> + set: #externalCallType for: #SHTextStylerST80 to: {self white};
>>>> + set: #externalCallTypePointerIndicator for: #SHTextStylerST80 to:
>>>> {self white};
>>>> + set: #primitiveOrExternalCallStart for: #SHTextStylerST80 to: {self
>>>> white};
>>>> + set: #primitiveOrExternalCallEnd for: #SHTextStylerST80 to: {self
>>>> white};
>>>> + set: #methodTempBar for: #SHTextStylerST80 to: {self white};
>>>> + set: #blockTempBar for: #SHTextStylerST80 to: {self white};
>>>> + set: #blockArgsBar for: #SHTextStylerST80 to: {self white};
>>>> + set: #primitive for: #SHTextStylerST80 to: {self green. TextEmphasis
>>>> bold};
>>>> + set: #pragmaKeyword for: #SHTextStylerST80 to: {self green.
>>>> TextEmphasis bold};
>>>> + set: #pragmaUnary for: #SHTextStylerST80 to: {self green.
>>>> TextEmphasis bold};
>>>> + set: #pragmaBinary for: #SHTextStylerST80 to: {self green.
>>>> TextEmphasis bold};
>>>> + set: #externalFunctionCallingConvention for: #SHTextStylerST80 to:
>>>> {self green. TextEmphasis bold};
>>>> + set: #module for: #SHTextStylerST80 to: {self green. TextEmphasis
>>>> bold};
>>>> + set: #blockTempVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #blockPatternTempVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #instVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #workspaceVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #undefinedIdentifier for: #SHTextStylerST80 to: {self red};
>>>> + set: #incompleteIdentifier for: #SHTextStylerST80 to: {self white.
>>>> {TextEmphasis italic. TextEmphasis underlined}};
>>>> + set: #tempVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #patternTempVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #poolConstant for: #SHTextStylerST80 to: {self white};
>>>> + set: #classVar for: #SHTextStylerST80 to: {self white};
>>>> + set: #globalVar for: #SHTextStylerST80 to: {self white}.
>>>> +
>>>> + "And the text differ"
>>>> + theme
>>>> + set: #insertTextAttributes for: #TextDiffBuilder to: { TextColor
>>>> color: self green };
>>>> + set: #removeTextAttributes for: #TextDiffBuilder to: { TextEmphasis
>>>> struckOut. TextColor color: self red };
>>>> + set: #normalTextAttributes for: #TextDiffBuilder to: { TextEmphasis
>>>> normal }.!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addToolColors: (in category 'instance
>>>> creation') -----
>>>> + addToolColors: theme
>>>> + "Tool-specific colors."
>>>> +
>>>> + "SUnit's TestRunner."
>>>> + theme
>>>> + set: #failureColor for: #TestRunner to: self yellow;
>>>> + set: #errorColor for: #TestRunner to: self red;
>>>> + set: #passColor for: #TestRunner to: self green.
>>>> +
>>>> + "Monticello Tools."
>>>> + theme
>>>> + set: #revertedOperationAttributes for: #MCOperationsBrowser to:
>>>> {TextEmphasis struckOut};
>>>> + set: #ignoredOperationAttributes for: #MCOperationsBrowser to:
>>>> {TextColor color: self gray128}.
>>>> +
>>>> + "Browser."
>>>> + theme set: #noClassCommentColor for: #Browser to: self red.!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>addWindowColors: (in category
>>>> 'instance creation') -----
>>>> + addWindowColors: theme
>>>> +
>>>> + | windowColorBrightnessAdjustment |
>>>> + windowColorBrightnessAdjustment := -0.35.
>>>> + theme
>>>> + set: #titleFont for: #SystemWindow to: [Preferences windowTitleFont];
>>>> + set: #borderColorModifier for: #SystemWindow to: [ [:c | c
>>>> adjustBrightness: -0.1] ];
>>>> + set: #borderColorModifier for: #ScrollPane to: [ [:c | c
>>>> adjustBrightness: 0.1] ];
>>>> + set: #borderWidth for: #SystemWindow to: 1;
>>>> +
>>>> + set: #uniformWindowColor for: #Model to: self gray76;
>>>> +
>>>> + set: #unfocusedWindowColorModifier for: #SystemWindow to: [ [:color |
>>>> color alphaMixed: 0.5 with: self gray40] ];
>>>> + set: #unfocusedLabelColor for: #SystemWindow to: self gray168;
>>>> + set: #focusedLabelColor for: #SystemWindow to: Color white;
>>>> +
>>>> + set: #customWindowColor for: #Browser to: ((Color r: 0.764 g: 0.9 b:
>>>> 0.63) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #ChangeList to: ((Color r: 0.719 g: 0.9
>>>> b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #ChangeSorter to: ((Color r: 0.719 g:
>>>> 0.9 b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #ChatNotes to: ((Color r: 1.0 g: 0.7 b:
>>>> 0.8) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #ClassCommentVersionsBrowser to: ((Color
>>>> r: 0.753 g: 0.677 b: 0.9) adjustBrightness: windowColorBrightnessAdjustmen
>>>> t);
>>>> + set: #customWindowColor for: #Debugger to: ((Color r: 0.9 g: 0.719 b:
>>>> 0.719) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #DualChangeSorter to: ((Color r: 0.719
>>>> g: 0.9 b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #FileContentsBrowser to: ((Color r: 0.7
>>>> g: 0.7 b: 0.508) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #FileList to: ((Color r: 0.65 g: 0.65 b:
>>>> 0.65) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #InstanceBrowser to: ((Color r: 0.726 g:
>>>> 0.9 b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #Lexicon to: ((Color r: 0.79 g: 0.9 b:
>>>> 0.79) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #MCTool to: ((Color r: 0.65 g: 0.691 b:
>>>> 0.876) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #MessageNames to: ((Color r: 0.639 g:
>>>> 0.9 b: 0.497) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #MessageSet to: ((Color r: 0.719 g: 0.9
>>>> b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #PackagePaneBrowser to: ((Color r: 0.9
>>>> g: 0.9 b: 0.63) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #PluggableFileList to: (Color
>>>> lightYellow adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #PreferenceBrowser to: ((Color r: 0.671
>>>> g: 0.9 b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #SMLoader to: ((Color r: 0.801 g: 0.801
>>>> b: 0.614) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #SMLoaderPlus to: ((Color r: 0.801 g:
>>>> 0.801 b: 0.614) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #SMReleaseBrowser to: ((Color r: 0.801
>>>> g: 0.801 b: 0.614) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #ScriptingDomain to: ((Color r: 0.91 g:
>>>> 0.91 b: 0.91) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #SelectorBrowser to: ((Color r: 0.45 g:
>>>> 0.9 b: 0.9) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #StringHolder to: ((Color r: 0.9 g: 0.9
>>>> b: 0.719) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #TestRunner to: ((Color r: 0.9 g: 0.576
>>>> b: 0.09) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #TranscriptStream to: ((Color r: 0.9 g:
>>>> 0.75 b: 0.45) adjustBrightness: windowColorBrightnessAdjustment);
>>>> + set: #customWindowColor for: #VersionsBrowser to: ((Color r: 0.782 g:
>>>> 0.677 b: 0.9) adjustBrightness: windowColorBrightnessAdjustment).!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>backgroundForm (in category 'instance
>>>> creation') -----
>>>> + backgroundForm
>>>> +
>>>> + | ref |
>>>> + ref := self gray39.
>>>> +
>>>> + ^ (SqueakTheme linenblue asFormOfDepth: 32) collectColors: [:c |
>>>> + Color
>>>> + h:ref hue
>>>> + s: ref saturation
>>>> + v: c brightness - 0.12
>>>> + alpha: c alpha]!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>black (in category 'colors') -----
>>>> + black
>>>> +
>>>> + ^ self gray27!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>blue (in category 'colors') -----
>>>> + blue
>>>> +
>>>> + ^ Color r: 94 / 255 g: 140 / 255 b: 204 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>create (in category 'instance
>>>> creation') -----
>>>> + create
>>>> + "doIt: [self create apply.]"
>>>> +
>>>> + | themeName |
>>>> + themeName := 'Trim (dark)'.
>>>> + ^ (self named: themeName) in: [:theme |
>>>> + theme merge: (self named: 'Squeak') overwrite: true.
>>>> + theme name: themeName.
>>>> +
>>>> + "General morph stuff."
>>>> + theme
>>>> + set: #keyboardFocusColor for: #Morph to: self blue;
>>>> + set: #keyboardFocusWidth for: #Morph to: 2.
>>>> +
>>>> + theme set: #background for: #MorphicProject to: self backgroundForm.
>>>> +
>>>> + self addFonts: theme.
>>>> + self addWindowColors: theme.
>>>> + self addSyntaxHighlighting: theme.
>>>> + self addMenusAndDockingBars: theme.
>>>> + self addDialogs: theme.
>>>> + self addButtons: theme.
>>>> + self addScrollables: theme.
>>>> + self addToolColors: theme.
>>>> +
>>>> + theme]!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>cyan (in category 'colors') -----
>>>> + cyan
>>>> +
>>>> + ^ Color fromString: '#2aa198'!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray102 (in category 'colors - gray')
>>>> -----
>>>> + gray102
>>>> +
>>>> + ^ Color gray: 102 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray128 (in category 'colors - gray')
>>>> -----
>>>> + gray128
>>>> +
>>>> + ^ Color gray: 128 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray168 (in category 'colors - gray')
>>>> -----
>>>> + gray168
>>>> +
>>>> + ^ Color gray: 168 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray27 (in category 'colors - gray')
>>>> -----
>>>> + gray27
>>>> +
>>>> + ^ Color gray: 27 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray34 (in category 'colors - gray')
>>>> -----
>>>> + gray34
>>>> +
>>>> + ^ Color gray: 34 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray39 (in category 'colors - gray')
>>>> -----
>>>> + gray39
>>>> +
>>>> + ^ Color gray: 39 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray40 (in category 'colors - gray')
>>>> -----
>>>> + gray40
>>>> +
>>>> + ^ Color gray: 40 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray51 (in category 'colors - gray')
>>>> -----
>>>> + gray51
>>>> +
>>>> + ^ Color gray: 51 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray59 (in category 'colors - gray')
>>>> -----
>>>> + gray59
>>>> +
>>>> + ^ Color gray: 59 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray61 (in category 'colors - gray')
>>>> -----
>>>> + gray61
>>>> +
>>>> + ^ Color gray: 61 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray64 (in category 'colors - gray')
>>>> -----
>>>> + gray64
>>>> +
>>>> + ^ Color gray: 64 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>gray76 (in category 'colors - gray')
>>>> -----
>>>> + gray76
>>>> +
>>>> + ^ Color gray: 76 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>green (in category 'colors') -----
>>>> + green
>>>> +
>>>> + ^ Color fromString: '#859900'!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>magenta (in category 'colors') -----
>>>> + magenta
>>>> +
>>>> + ^ (Color r: 0.917 g: 0.317 b: 0.607)!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>orange (in category 'colors') -----
>>>> + orange
>>>> +
>>>> + ^ (Color r: 0.886 g: 0.383 b: 0.175)!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>red (in category 'colors') -----
>>>> + red
>>>> +
>>>> + ^ (Color r: 0.952 g: 0.3 b: 0.288)!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>violet (in category 'colors') -----
>>>> + violet
>>>> +
>>>> + ^ Color fromString: '#6c71c4'!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>white (in category 'colors') -----
>>>> + white
>>>> +
>>>> + ^ Color gray: 240 / 255!
>>>>
>>>> Item was added:
>>>> + ----- Method: TrimTheme class>>yellow (in category 'colors') -----
>>>> + yellow
>>>> +
>>>> + ^ Color fromString: '#b58900'!
>>>>
>>>> Item was changed:
>>>> ----- Method: UserInterfaceTheme class>>cleanUp: (in category
>>>> 'initialize-release') -----
>>>> cleanUp: aggressive
>>>>
>>>> aggressive ifTrue: [
>>>> All := nil.
>>>> SqueakTheme create; createDuller.
>>>> SolarizedTheme createDark; createLight.
>>>> MonokaiTheme createDark.
>>>> + CommunityTheme createDark.
>>>> + TrimTheme create].!
>>>> - CommunityTheme createDark].!
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>



-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180403/2623eda8/attachment-0001.html>


More information about the Squeak-dev mailing list