Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.178.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.178
Author: mt
Time: 3 August 2016, 3:07:56.004992 pm
UUID: d001b249-3b74-334f-a7d8-8b799779efe5
Ancestors: ToolBuilder-Morphic-mt.177
For disabled buttons, still draw a border to make them still look like buttons, not like labels.
=============== Diff against ToolBuilder-Morphic-mt.177 ===============
Item was changed:
----- Method: PluggableButtonMorphPlus>>updateFillStylePressing:hovering: (in category 'initialize-release') -----
updateFillStylePressing: isPressing hovering: isHovering
enabled ifFalse: [
self color: (disabledColor ifNil: [Color transparent]).
+ self borderStyle color: disabledTextColor.
- self borderStyle color: Color transparent.
^ self].
super updateFillStylePressing: isPressing hovering: isHovering.!
commits-2 wrote
> Marcel Taeumel uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-mt.861.mcz
>
> ==================== Summary ====================
>
> Name: System-mt.861
> Author: mt
> Time: 3 August 2016, 3:48:48.221245 pm
> UUID: 74e725aa-ea12-df48-b3cf-730dba8dccc6
> Ancestors: System-cmm.860
>
> Provide progress indication when applying a new UI theme. Use 1000-ms
> updates to not slow-down the process unnecessarily.
>
> =============== Diff against System-cmm.860 ===============
>
> Item was changed:
> ----- Method: UserInterfaceTheme>>apply (in category 'actions') -----
> apply
> "Apply this theme to all affected objects. Let classes decide on how to
> iterate and call their instances."
>
> UserInterfaceTheme current: self.
>
> self class clientClassesToReapply in: [:cc |
> cc do: [:eachClass | eachClass applyUserInterfaceTheme].
> + (cc select: [:eachClass | eachClass canApplyThemeToInstances])
> + do: [:eachClass | eachClass applyThemeToInstances]
> + displayingProgress: [:eachClass | 'Applying {1} to instances of {2}'
> format: {self name. eachClass name}]
> + every: 1000 ].
> - cc
> - select: [:eachClass | eachClass canApplyThemeToInstances]
> - thenDo: [:eachClass | eachClass applyThemeToInstances]].
>
> Project current restoreDisplay.!
Hey, there.
We might want to discuss this. I heard that, when applying a theme, some
users had to wait quite some time before they could continue to work in the
image, especially when there are thousands of instances.
Do you think that this kind of progress indication is sufficient and/or
valuable?
Best,
Marcel
--
View this message in context: http://forum.world.st/The-Trunk-System-mt-861-mcz-tp4909402p4909403.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1227.mcz
==================== Summary ====================
Name: Morphic-mt.1227
Author: mt
Time: 3 August 2016, 2:52:07.812041 pm
UUID: 428a55a4-6204-174c-b4b0-14b8dc1a297d
Ancestors: Morphic-mt.1226
Fixes a small regression where the text cursor did not show up on a simple mouse down when it was invisible due to its blinking animation.
=============== Diff against Morphic-mt.1226 ===============
Item was changed:
----- Method: TextMorph>>mouseDown: (in category 'event handling') -----
mouseDown: evt
"Make this TextMorph be the keyboard input focus, if it isn't
already, and repond to the text selection gesture."
evt yellowButtonPressed ifTrue: [
"First check for option (menu) click"
^ self yellowButtonActivity: evt shiftPressed].
+ "Show the caret immediately on mouse down to give user feedback."
+ self resetBlinkCursor.
+
"If focus does not follow the mouse cursor and we click below everything, just grab the focus to not destroy the selection."
((self hasKeyboardFocus: evt hand) not and: [(self bounds containsPoint: evt position) not])
ifTrue: [evt hand newKeyboardFocus: self]
ifFalse: [
evt hand newKeyboardFocus: self.
self
handleInteraction: [editor mouseDown: evt]
fromEvent: evt].!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1226.mcz
==================== Summary ====================
Name: Morphic-mt.1226
Author: mt
Time: 3 August 2016, 2:16:23.039041 pm
UUID: 2258c988-1152-4940-9a2b-a95241a3e1d3
Ancestors: Morphic-mt.1225
Fixes retractable scroll bars, which did not work properly of mouseOverForKeyboardFocus was disabled. Note that #hasFocus is ancient and not needed anymore for controlling keyboard focus here. See also #hIsScrollbarNeeded and #vIsScrollbarNeeded and maybe other senders of #hasFocus.
=============== Diff against Morphic-mt.1225 ===============
Item was changed:
----- Method: ScrollPane>>mouseEnter: (in category 'event handling') -----
mouseEnter: event
+ hasFocus := true.
- Preferences mouseOverForKeyboardFocus ifTrue: [hasFocus := true].
owner isSystemWindow ifTrue: [owner paneTransition: event].
retractableScrollBar ifTrue: [self hideOrShowScrollBars].!
Item was changed:
----- Method: ScrollPane>>mouseLeave: (in category 'event handling') -----
mouseLeave: event
+ hasFocus := false.
- Preferences mouseOverForKeyboardFocus ifTrue: [hasFocus := false].
retractableScrollBar ifTrue: [self hideScrollBars].
owner isSystemWindow ifTrue: [owner paneTransition: event].!
Marcel Taeumel uploaded a new version of Help-Squeak-Project to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-Project-mt.37.mcz
==================== Summary ====================
Name: Help-Squeak-Project-mt.37
Author: mt
Time: 3 August 2016, 10:29:37.74127 am
UUID: f0bafae7-02f3-6843-9fe4-076c0a3338e3
Ancestors: Help-Squeak-Project-mt.36
Protect help texts that are fixed or derived from other strings in the system from editing (and duplicating).
=============== Diff against Help-Squeak-Project-mt.36 ===============
Item was changed:
----- Method: SqueakLicenseHelp class>>licenseChange (in category 'pages') -----
licenseChange
^HelpTopic
title: 'License has changed with 4.0'
+ readOnlyContents: 'On 23 September 1996, Apple Computer Inc. released Squeak V1.1 under the "Squeak License" (SqL).
- contents: 'On 23 September 1996, Apple Computer Inc. released Squeak V1.1 under the "Squeak License" (SqL).
On May 8, 2006 Apple agreed to relicense original Squeak V1.1 under the Apple Public Source License.
On October 12, 2006 Apple granted permission to relicense under Apache license 2.0.
In 2006, VPRI began to collect "Distribution Agreements" for all contributors to Squeak since V1.1 up to V3.8, asking them to relicense their contributions, which were originally licensed under SqL, to the MIT license. This was a great effort on behalf of many and VPRI has 100s of signed documents agreeing to this.
Do you want to contribute source to Squeak?All new contributions since 4.0 must be under the MIT license. When you make your code available, please state explicitly in some form such as the description on a web site or email announcement that your contribution is under the MIT license. (It doesn''t have to be exclusive; you can release it under difference licenses at the same time.)
Have you contributed source to Squeak? If you believe you have, but have not sent in an agreement to allow your submission(s) to be licensed under the MIT license then please see http://netjam.org/squeak/contributors. There you can find a list of known contributors and a PDF of the agreement with instructions. The snail mail address is found in the agreement PDF file.
Also there are a few people for which we are lacking full contact information. If you think you can help please also visit the link above and see if you can identify any of the unknown developer initials or any of the developers for whom we do not have a current email address.' !
Item was changed:
----- Method: SqueakLicenseHelp class>>officialLicense (in category 'pages') -----
officialLicense
^HelpTopic
title: 'Official License'
+ readOnlyContents: Smalltalk license readStream nextChunkText!
- contents: Smalltalk license readStream nextChunkText!
Item was changed:
----- Method: SqueakToolsHelp class>>fontSizeSummary (in category 'pages') -----
fontSizeSummary
^HelpTopic
title: 'Font Size Summary'
+ readOnlyContents: TextStyle fontSizeSummaryContents!
- contents: TextStyle fontSizeSummaryContents!
Item was changed:
----- Method: SqueakTutorials class>>usefulExpressions (in category 'pages') -----
usefulExpressions
^ HelpTopic
title: 'Useful Expressions'
+ readOnlyContents: Utilities standardWorkspaceContents!
- contents: Utilities standardWorkspaceContents!
These changes are the bare minimum to make this theme have a readable
contrast and expected behaviors w.r.t. selection vs. non-selection in
a dark theme.
I would also prefer only for the reserved words -- self, super,
thisContext, true, false and nil -- to be in bold font, the rest to be
normal emphasis. I love the colors chosen for comments, classes and
numerical constants, but syntax colors that provide more appropriate
distinction between messages, inst-vars, variables, classes and
constants is desirable.
So far, I refrained from doing so, until I see the reaction to these
changes.. :) I think I was the only one for years who said he
wanted a "dark" theme, so maybe no one will mind if I do a bit more
here..? :)
On Tue, Aug 2, 2016 at 4:29 PM, <commits(a)source.squeak.org> wrote:
> Chris Muller uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-cmm.860.mcz
>
> ==================== Summary ====================
>
> Name: System-cmm.860
> Author: cmm
> Time: 2 August 2016, 4:29:02.356681 pm
> UUID: 0980ea7f-76ef-4ff1-8e27-b8e0840f9a70
> Ancestors: System-mt.859
>
> Fixes to the Community Dark theme:
> Dark themes must opposite a light theme -- in a Dark theme, darkness is the standard color of a widgets standard state, with increased lightness being used to indicate selected / hovered / feedback states.
> - Move toward a universal "selection" color, #dbAqua. I would like to make this the color for text-selection too, but we would need to adjust the syntax colors for that, and this change is just intended to make Community Dark minimally usable, not my preference.
> - Buttons now indicate their "on" selection state with a little color.
> - The labels of background windows are now readable.
> - The color palette was much too bright. Darkened it.
>
> =============== Diff against System-mt.859 ===============
>
> Item was changed:
> ----- Method: CommunityTheme class>>addDarkButtons: (in category 'instance creation') -----
> addDarkButtons: theme
> "self createDark apply."
> theme
> + set: #borderColor for: #PluggableButtonMorph to: Color gray ;
> + set: #color for: #PluggableButtonMorph to: Color darkGray ;
> - set: #borderColor for: #PluggableButtonMorph to: Color darkGray darker;
> - set: #color for: #PluggableButtonMorph to: Color gray;
> set: #textColor for: #PluggableButtonMorph to: Color white;
>
> + set: #selectionModifier for: #PluggableButtonMorph to: [ [:c | self dbAqua twiceDarker] ];
> + set: #hoverModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: 0.2] ];
> + set: #feedbackModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: 0.3] ].
> - set: #selectionModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: -0.2] ];
> - set: #hoverModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: -0.2] ];
> - set: #feedbackModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: -0.3] ].
>
> "And the plus-version."
> theme set: #disabledTextColor for: #PluggableButtonMorphPlus to: Color gray.
> !
>
> Item was changed:
> ----- Method: CommunityTheme class>>addDarkMenusAndDockingBars: (in category 'instance creation') -----
> addDarkMenusAndDockingBars: theme
> "self createDark apply."
> theme
> set: #borderWidth for: #MenuMorph to: 0;
> set: #color for: #MenuMorph to: Color darkGray;
> set: #titleTextColor for: #MenuMorph to: Color white;
> set: #lineColor for: #MenuMorph to: Color lightGray;
> set: #lineStyle for: #MenuMorph to: BorderStyle default;
> set: #lineWidth for: #MenuMorph to: 1.
>
> theme
> set: #textColor for: #MenuItemMorph to: Color white;
> + set: #selectionColor for: #MenuItemMorph to: self dbAqua;
> + set: #selectionTextColor for: #MenuItemMorph to: Color white.
> - set: #selectionColor for: #MenuItemMorph to: Color white;
> - set: #selectionTextColor for: #MenuItemMorph to: Color black.
> "set: #subMenuMarker for: #MenuItemMorph to: nil." "Use hard-coded default. See MenuItemMorph."
>
> "The world main docking bar."
> theme
> " set: #color for: #DockingBarMorph to: Color darkGray;"
> " set: #selectionColor for: #DockingBarItemMorph to: self darkContentSecondary;"
> set: #logoColor for: #TheWorldMainDockingBar to: Color white;
> set: #selectionLogoColor for: #TheWorldMainDockingBar to: Color black.!
>
> Item was changed:
> ----- Method: CommunityTheme class>>addDarkScrollables: (in category 'instance creation') -----
> addDarkScrollables: theme
> "self createDark apply."
>
> "Scroll bars"
> theme
> set: #thumbColor for: #ScrollBar to: Color gray;
> set: #thumbBorderColor for: #ScrollBar to: Color darkGray.
>
> "Scroll panes (includes generic stuff for list widgets, tree widgets, and text widgets."
> theme
> set: #color for: #ScrollPane to: (Color gray: 0.1).
>
> "List widgets"
> theme
> set: #textColor for: #PluggableListMorph to: (Color gray: 0.9);
> + set: #selectionColor for: #PluggableListMorph to: self dbAqua;
> - set: #selectionColor for: #PluggableListMorph to: (Color r: 0.15 g: 0.4 b: 0.15 alpha: 1.0);
> set: #selectionTextColor for: #PluggableListMorph to: Color white;
> + derive: #multiSelectionColor for: #PluggableListMorph from: #PluggableListMorph at: #selectionColor do: [:c | c twiceDarker];
> + set: #filterColor for: #PluggableListMorph to: (self dbYellow alpha: 0.5);
> + set: #filterTextColor for: #PluggableListMorph to: Color white;
> + set: #preSelectionModifier for: #PluggableListMorph to: [ [:c | c twiceDarker ] ];
> + set: #hoverSelectionModifier for: #PluggableListMorph to: [ [:c | c twiceDarker alpha: 0.5 ] ].
> - set: #filterColor for: #PluggableListMorph to: self dbYellow;
> - set: #filterTextColor for: #PluggableListMorph to: Color black;
> - set: #preSelectionModifier for: #PluggableListMorph to: [ [:c | c lighter alpha: 0.5 ] ];
> - set: #hoverSelectionModifier for: #PluggableListMorph to: [ [:c | c lighter alpha: 0.5 ] ].
>
> "Tree widgets"
> theme
> set: #highlightTextColor for: #SimpleHierarchicalListMorph to: self dbYellow lighter lighter;
> set: #lineColor for: #SimpleHierarchicalListMorph to: Color gray.
>
> "Text widgets"
> theme
> set: #textColor for: #PluggableTextMorph to: (Color gray: 0.9);
> set: #caretColor for: #PluggableTextMorph to: Color white;
> set: #selectionColor for: #PluggableTextMorph to: (Color r: 0.15 g: 0.4 b: 0.15 alpha: 1.0);
> set: #unfocusedSelectionModifier for: #PluggableTextMorph to: [ [:c | c duller] ];
> set: #adornmentReadOnly for: #PluggableTextMorph to: self dbPurple;
> set: #adornmentRefuse for: #PluggableTextMorph to: self dbBlue;
> set: #adornmentConflict for: #PluggableTextMorph to: self dbRed;
> set: #adornmentDiff for: #PluggableTextMorph to: self dbGreen;
> set: #adornmentNormalEdit for: #PluggableTextMorph to: self dbOrange;
> set: #adornmentDiffEdit for: #PluggableTextMorph to: self dbYellow.
> theme
> set: #balloonTextColor for: #PluggableTextMorphPlus to: Color darkGray.!
>
> Item was changed:
> ----- Method: CommunityTheme class>>addDarkWindowColors: (in category 'instance creation') -----
> addDarkWindowColors: theme
> "self createDark apply."
> theme
> set: #uniformWindowColor for: #Model to: Color darkGray;
>
> set: #unfocusedWindowColorModifier for: #SystemWindow to: [ [:color | color darker] ];
> + set: #unfocusedLabelColor for: #SystemWindow to: Color veryLightGray;
> - set: #unfocusedLabelColor for: #SystemWindow to: Color gray;
> set: #focusedLabelColor for: #SystemWindow to: Color white;
>
> set: #customWindowColor for: #Browser to: self dbGreen;
> set: #customWindowColor for: #ChangeList to: self dbBlue;
> set: #customWindowColor for: #ChangeSorter to: self dbBlue;
> set: #customWindowColor for: #ChatNotes to: self dbPurple;
> set: #customWindowColor for: #ClassCommentVersionsBrowser to: self dbPurple;
> set: #customWindowColor for: #Debugger to: self dbRed;
> set: #customWindowColor for: #DualChangeSorter to: self dbBlue;
> set: #customWindowColor for: #FileContentsBrowser to: self dbYellow;
> set: #customWindowColor for: #FileList to: self dbYellow;
> set: #customWindowColor for: #InstanceBrowser to: self dbBlue;
> set: #customWindowColor for: #Lexicon to: self dbBlue;
> set: #customWindowColor for: #MCTool to: self dbPurple;
> set: #customWindowColor for: #MessageNames to: self dbGreen;
> set: #customWindowColor for: #MessageSet to: self dbBlue;
> set: #customWindowColor for: #PackagePaneBrowser to: self dbGreen;
> set: #customWindowColor for: #PluggableFileList to: self dbYellow;
> set: #customWindowColor for: #PreferenceBrowser to: self dbBlue;
> set: #customWindowColor for: #SMLoader to: self dbOrange;
> set: #customWindowColor for: #SMLoaderPlus to: self dbOrange;
> set: #customWindowColor for: #SMReleaseBrowser to: self dbOrange;
> set: #customWindowColor for: #ScriptingDomain to: self dbYellow;
> set: #customWindowColor for: #SelectorBrowser to: self dbBlue;
> set: #customWindowColor for: #StringHolder to: self dbYellow;
> set: #customWindowColor for: #TestRunner to: self dbOrange;
> set: #customWindowColor for: #TranscriptStream to: self dbOrange;
> set: #customWindowColor for: #VersionsBrowser to: self dbPurple.!
>
> Item was changed:
> ----- Method: CommunityTheme class>>dbAqua (in category 'colors by purpose') -----
> dbAqua
> + ^ Color r: 0.2 g: 0.4 b: 0.4!
> - ^Color r: 0.542 g: 0.745 b: 0.717!
>
> Item was changed:
> ----- Method: CommunityTheme class>>dbBlue (in category 'colors by purpose') -----
> dbBlue
> + ^Color r: 0.406 g: 0.535 b: 0.645!
> - ^Color r: 0.506 g: 0.635 b: 0.745!
>
> Item was changed:
> ----- Method: CommunityTheme class>>dbGreen (in category 'colors by purpose') -----
> dbGreen
> + ^(Color r: 0.33 g: 0.542 b: 0.287)!
> - ^Color r: 0.71 g: 0.741 b: 0.408!
>
> Item was changed:
> ----- Method: CommunityTheme class>>dbOrange (in category 'colors by purpose') -----
> dbOrange
> + ^Color r: 0.4 g: 0.2666 b: 0.172!
> - ^Color r: 0.871 g: 0.577 b: 0.372!
>
> Item was changed:
> ----- Method: CommunityTheme class>>dbRed (in category 'colors by purpose') -----
> dbRed
> + ^Color r: 0.6 g: 0.3 b: 0.3!
> - ^Color r: 0.8 g: 0.4 b: 0.4!
>
> Item was changed:
> ----- Method: CommunityTheme class>>dbYellow (in category 'colors by purpose') -----
> dbYellow
> + ^ (Color r: 0.554 g: 0.488 b: 0.134)!
> - ^Color r: 0.941 g: 0.776 b: 0.455!
>
>
Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068396.html
Name: Morphic-mt.1220
Ancestors: Morphic-mt.1219
I forgot to restore the keyboard shortcut functionality for confirmation dialogs. It has been there before my refactorings.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068397.html
Name: Collections-mt.703
Ancestors: Collections-mt.702
Small fix for SWiki HTML parsing. Recognize also non-hash color names. Our Color class is fine with it, too.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068398.html
Name: HelpSystem-Core-mt.87
Ancestors: HelpSystem-Core-nice.86
Fixes parsing of broken HTML a-href links as found in SWiki.
Fixes scroll-to-top when selecting new help topics.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068399.html
Name: Morphic-mt.1221
Ancestors: Morphic-mt.1220
Let models such as HelpBrowser signal content changes that require a fresh start at the top. (Differentiate from appended content updates where a scroll-to-top would annoy the user who is scrolling down and in the process of reading).
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068400.html
Name: ToolBuilder-Morphic-mt.177
Ancestors: ToolBuilder-Morphic-mt.176
Fixes a bug where the parent of the current selection in a tree was not updated in the model when the model updated its current selection.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068401.html
Name: Morphic-mt.1222
Ancestors: Morphic-mt.1221
Clean-up structure of help texts. Remove duplicates. Favor our help system instead of spreading elaborate help texts throughout the system.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068402.html
Name: Graphics-mt.357
Ancestors: Graphics-tfel.356
Move generic font size summary from Morphic into Graphics package.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068403.html
Name: ST80-mt.214
Ancestors: ST80-mt.213
HelpBrowser does not work in MVC because there is no tree view. Use StringHolder in a window instead.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068404.html
Name: Help-Squeak-Project-mt.36
Ancestors: Help-Squeak-Project-tpr.35
Include more help texts from throughout the system. Add a book for release notes.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068405.html
Name: Morphic-mt.1223
Ancestors: Morphic-mt.1222
Sorry, the terse guide should not have vanished from the help menu.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068406.html
Name: Monticello-mt.642
Ancestors: Monticello-mt.641
Add inbox as well-known repository.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068407.html
Name: System-mt.859
Ancestors: System-mt.858
On aggressive clean-up, remove all auto-generated accessors in Preferences.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068408.html
Name: Morphic-mt.1224
Ancestors: Morphic-mt.1223
Use a wireframe fullscreen icon, which is colorizable/themeable, for the docking bar. Just like the Squeak icon.
=============================================
http://lists.squeakfoundation.org/pipermail/packages/2016-August/068409.html
Name: System-cmm.860
Ancestors: System-mt.859
Fixes to the Community Dark theme:
Dark themes must opposite a light theme -- in a Dark theme, darkness is the standard color of a widgets standard state, with increased lightness being used to indicate selected / hovered / feedback states.
- Move toward a universal "selection" color, #dbAqua. I would like to make this the color for text-selection too, but we would need to adjust the syntax colors for that, and this change is just intended to make Community Dark minimally usable, not my preference.
- Buttons now indicate their "on" selection state with a little color.
- The labels of background windows are now readable.
- The color palette was much too bright. Darkened it.
=============================================
Chris Muller uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cmm.860.mcz
==================== Summary ====================
Name: System-cmm.860
Author: cmm
Time: 2 August 2016, 4:29:02.356681 pm
UUID: 0980ea7f-76ef-4ff1-8e27-b8e0840f9a70
Ancestors: System-mt.859
Fixes to the Community Dark theme:
Dark themes must opposite a light theme -- in a Dark theme, darkness is the standard color of a widgets standard state, with increased lightness being used to indicate selected / hovered / feedback states.
- Move toward a universal "selection" color, #dbAqua. I would like to make this the color for text-selection too, but we would need to adjust the syntax colors for that, and this change is just intended to make Community Dark minimally usable, not my preference.
- Buttons now indicate their "on" selection state with a little color.
- The labels of background windows are now readable.
- The color palette was much too bright. Darkened it.
=============== Diff against System-mt.859 ===============
Item was changed:
----- Method: CommunityTheme class>>addDarkButtons: (in category 'instance creation') -----
addDarkButtons: theme
"self createDark apply."
theme
+ set: #borderColor for: #PluggableButtonMorph to: Color gray ;
+ set: #color for: #PluggableButtonMorph to: Color darkGray ;
- set: #borderColor for: #PluggableButtonMorph to: Color darkGray darker;
- set: #color for: #PluggableButtonMorph to: Color gray;
set: #textColor for: #PluggableButtonMorph to: Color white;
+ set: #selectionModifier for: #PluggableButtonMorph to: [ [:c | self dbAqua twiceDarker] ];
+ set: #hoverModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: 0.2] ];
+ set: #feedbackModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: 0.3] ].
- set: #selectionModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: -0.2] ];
- set: #hoverModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: -0.2] ];
- set: #feedbackModifier for: #PluggableButtonMorph to: [ [:c | c adjustBrightness: -0.3] ].
"And the plus-version."
theme set: #disabledTextColor for: #PluggableButtonMorphPlus to: Color gray.
!
Item was changed:
----- Method: CommunityTheme class>>addDarkMenusAndDockingBars: (in category 'instance creation') -----
addDarkMenusAndDockingBars: theme
"self createDark apply."
theme
set: #borderWidth for: #MenuMorph to: 0;
set: #color for: #MenuMorph to: Color darkGray;
set: #titleTextColor for: #MenuMorph to: Color white;
set: #lineColor for: #MenuMorph to: Color lightGray;
set: #lineStyle for: #MenuMorph to: BorderStyle default;
set: #lineWidth for: #MenuMorph to: 1.
theme
set: #textColor for: #MenuItemMorph to: Color white;
+ set: #selectionColor for: #MenuItemMorph to: self dbAqua;
+ set: #selectionTextColor for: #MenuItemMorph to: Color white.
- set: #selectionColor for: #MenuItemMorph to: Color white;
- set: #selectionTextColor for: #MenuItemMorph to: Color black.
"set: #subMenuMarker for: #MenuItemMorph to: nil." "Use hard-coded default. See MenuItemMorph."
"The world main docking bar."
theme
" set: #color for: #DockingBarMorph to: Color darkGray;"
" set: #selectionColor for: #DockingBarItemMorph to: self darkContentSecondary;"
set: #logoColor for: #TheWorldMainDockingBar to: Color white;
set: #selectionLogoColor for: #TheWorldMainDockingBar to: Color black.!
Item was changed:
----- Method: CommunityTheme class>>addDarkScrollables: (in category 'instance creation') -----
addDarkScrollables: theme
"self createDark apply."
"Scroll bars"
theme
set: #thumbColor for: #ScrollBar to: Color gray;
set: #thumbBorderColor for: #ScrollBar to: Color darkGray.
"Scroll panes (includes generic stuff for list widgets, tree widgets, and text widgets."
theme
set: #color for: #ScrollPane to: (Color gray: 0.1).
"List widgets"
theme
set: #textColor for: #PluggableListMorph to: (Color gray: 0.9);
+ set: #selectionColor for: #PluggableListMorph to: self dbAqua;
- set: #selectionColor for: #PluggableListMorph to: (Color r: 0.15 g: 0.4 b: 0.15 alpha: 1.0);
set: #selectionTextColor for: #PluggableListMorph to: Color white;
+ derive: #multiSelectionColor for: #PluggableListMorph from: #PluggableListMorph at: #selectionColor do: [:c | c twiceDarker];
+ set: #filterColor for: #PluggableListMorph to: (self dbYellow alpha: 0.5);
+ set: #filterTextColor for: #PluggableListMorph to: Color white;
+ set: #preSelectionModifier for: #PluggableListMorph to: [ [:c | c twiceDarker ] ];
+ set: #hoverSelectionModifier for: #PluggableListMorph to: [ [:c | c twiceDarker alpha: 0.5 ] ].
- set: #filterColor for: #PluggableListMorph to: self dbYellow;
- set: #filterTextColor for: #PluggableListMorph to: Color black;
- set: #preSelectionModifier for: #PluggableListMorph to: [ [:c | c lighter alpha: 0.5 ] ];
- set: #hoverSelectionModifier for: #PluggableListMorph to: [ [:c | c lighter alpha: 0.5 ] ].
"Tree widgets"
theme
set: #highlightTextColor for: #SimpleHierarchicalListMorph to: self dbYellow lighter lighter;
set: #lineColor for: #SimpleHierarchicalListMorph to: Color gray.
"Text widgets"
theme
set: #textColor for: #PluggableTextMorph to: (Color gray: 0.9);
set: #caretColor for: #PluggableTextMorph to: Color white;
set: #selectionColor for: #PluggableTextMorph to: (Color r: 0.15 g: 0.4 b: 0.15 alpha: 1.0);
set: #unfocusedSelectionModifier for: #PluggableTextMorph to: [ [:c | c duller] ];
set: #adornmentReadOnly for: #PluggableTextMorph to: self dbPurple;
set: #adornmentRefuse for: #PluggableTextMorph to: self dbBlue;
set: #adornmentConflict for: #PluggableTextMorph to: self dbRed;
set: #adornmentDiff for: #PluggableTextMorph to: self dbGreen;
set: #adornmentNormalEdit for: #PluggableTextMorph to: self dbOrange;
set: #adornmentDiffEdit for: #PluggableTextMorph to: self dbYellow.
theme
set: #balloonTextColor for: #PluggableTextMorphPlus to: Color darkGray.!
Item was changed:
----- Method: CommunityTheme class>>addDarkWindowColors: (in category 'instance creation') -----
addDarkWindowColors: theme
"self createDark apply."
theme
set: #uniformWindowColor for: #Model to: Color darkGray;
set: #unfocusedWindowColorModifier for: #SystemWindow to: [ [:color | color darker] ];
+ set: #unfocusedLabelColor for: #SystemWindow to: Color veryLightGray;
- set: #unfocusedLabelColor for: #SystemWindow to: Color gray;
set: #focusedLabelColor for: #SystemWindow to: Color white;
set: #customWindowColor for: #Browser to: self dbGreen;
set: #customWindowColor for: #ChangeList to: self dbBlue;
set: #customWindowColor for: #ChangeSorter to: self dbBlue;
set: #customWindowColor for: #ChatNotes to: self dbPurple;
set: #customWindowColor for: #ClassCommentVersionsBrowser to: self dbPurple;
set: #customWindowColor for: #Debugger to: self dbRed;
set: #customWindowColor for: #DualChangeSorter to: self dbBlue;
set: #customWindowColor for: #FileContentsBrowser to: self dbYellow;
set: #customWindowColor for: #FileList to: self dbYellow;
set: #customWindowColor for: #InstanceBrowser to: self dbBlue;
set: #customWindowColor for: #Lexicon to: self dbBlue;
set: #customWindowColor for: #MCTool to: self dbPurple;
set: #customWindowColor for: #MessageNames to: self dbGreen;
set: #customWindowColor for: #MessageSet to: self dbBlue;
set: #customWindowColor for: #PackagePaneBrowser to: self dbGreen;
set: #customWindowColor for: #PluggableFileList to: self dbYellow;
set: #customWindowColor for: #PreferenceBrowser to: self dbBlue;
set: #customWindowColor for: #SMLoader to: self dbOrange;
set: #customWindowColor for: #SMLoaderPlus to: self dbOrange;
set: #customWindowColor for: #SMReleaseBrowser to: self dbOrange;
set: #customWindowColor for: #ScriptingDomain to: self dbYellow;
set: #customWindowColor for: #SelectorBrowser to: self dbBlue;
set: #customWindowColor for: #StringHolder to: self dbYellow;
set: #customWindowColor for: #TestRunner to: self dbOrange;
set: #customWindowColor for: #TranscriptStream to: self dbOrange;
set: #customWindowColor for: #VersionsBrowser to: self dbPurple.!
Item was changed:
----- Method: CommunityTheme class>>dbAqua (in category 'colors by purpose') -----
dbAqua
+ ^ Color r: 0.2 g: 0.4 b: 0.4!
- ^Color r: 0.542 g: 0.745 b: 0.717!
Item was changed:
----- Method: CommunityTheme class>>dbBlue (in category 'colors by purpose') -----
dbBlue
+ ^Color r: 0.406 g: 0.535 b: 0.645!
- ^Color r: 0.506 g: 0.635 b: 0.745!
Item was changed:
----- Method: CommunityTheme class>>dbGreen (in category 'colors by purpose') -----
dbGreen
+ ^(Color r: 0.33 g: 0.542 b: 0.287)!
- ^Color r: 0.71 g: 0.741 b: 0.408!
Item was changed:
----- Method: CommunityTheme class>>dbOrange (in category 'colors by purpose') -----
dbOrange
+ ^Color r: 0.4 g: 0.2666 b: 0.172!
- ^Color r: 0.871 g: 0.577 b: 0.372!
Item was changed:
----- Method: CommunityTheme class>>dbRed (in category 'colors by purpose') -----
dbRed
+ ^Color r: 0.6 g: 0.3 b: 0.3!
- ^Color r: 0.8 g: 0.4 b: 0.4!
Item was changed:
----- Method: CommunityTheme class>>dbYellow (in category 'colors by purpose') -----
dbYellow
+ ^ (Color r: 0.554 g: 0.488 b: 0.134)!
- ^Color r: 0.941 g: 0.776 b: 0.455!