diff --git a/docs/wayland-blue-dropdown-buttons.png b/docs/wayland-blue-dropdown-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..785c96b832054a02bc0d62f9da1910a3efeda2a4 GIT binary patch literal 49617 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 V;^B*H#U9|r)Sj+>F6*2UngBkuv(*3q literal 0 HcmV?d00001 diff --git a/docs/wayland-port.md b/docs/wayland-port.md index 58b804959..a05896b30 100644 --- a/docs/wayland-port.md +++ b/docs/wayland-port.md @@ -2442,3 +2442,21 @@ interesting thing happens cannot tell you it never happened. docs/wayland-font-list-under-its-field.png: one click on the arrow, and the list drops from the field it belongs to with its scrollbar, every family in its own face. The File menu still opens under its title, checked in the same round. + +## THE BLUE SQUARE WITH THE ARROW IN IT + +The user named this one exactly: the toolbar selectors were missing the blue square with the arrow +down inside. With the geometry fixed they had a button, but it was the old cocotron one, a grey +chiselled bevel with a black triangle loaded from a tiff, which is the look of a different decade +and a different system. It is drawn now: a rounded rectangle in the system accent blue with a white +chevron, grey when the control is disabled and darker while it is held down. Drawing beats an image +here because an image has to exist at every size and is the wrong colour the moment the button is +not blue. + +AND IT CAME OUT GREY THE FIRST TIME, which is the part worth keeping. NSComboBoxCell sets +_buttonEnabled and _isButtonBordered in initWithCoder and NOWHERE ELSE, so a cell made in code +rather than loaded from a nib has a button that is disabled from birth. Every application that does +not use nibs got the disabled colour, and LibreOffice is one. The item count rule in the add and +remove methods is left alone, so an application that empties its own list still greys the button. + +docs/wayland-blue-dropdown-buttons.png, and note the Find toolbar has one too. diff --git a/vendor/patches/cocotron/0066-the-blue-square-with-the-arrow-in-it.patch b/vendor/patches/cocotron/0066-the-blue-square-with-the-arrow-in-it.patch new file mode 100644 index 000000000..9ff362ec9 --- /dev/null +++ b/vendor/patches/cocotron/0066-the-blue-square-with-the-arrow-in-it.patch @@ -0,0 +1,99 @@ +--- a/AppKit/NSComboBoxCell.m ++++ b/AppKit/NSComboBoxCell.m +@@ -58,6 +58,22 @@ + return self; + } + ++/* ++ * A COMBO BOX MADE IN CODE HAS A LIVE BUTTON, the way one made in a nib always did. ++ * ++ * initWithCoder sets _buttonEnabled and _isButtonBordered explicitly; nothing set them for a cell ++ * allocated and initialised by hand, so the button drew in its DISABLED colour for every ++ * application that does not use nibs. LibreOffice is one, and every toolbar selector came out grey ++ * instead of the system accent blue. The item count rule in the add and remove methods is left ++ * alone: it still greys the button when an application empties the list itself. ++ */ ++- initTextCell: (NSString *) string { ++ self = [super initTextCell: string]; ++ _buttonEnabled = YES; ++ _isButtonBordered = YES; ++ return self; ++} ++ + - (void) dealloc { + [_dataSource release]; + [_objectValues release]; +--- a/AppKit/NSInterfacePart/NSGraphicsStyle.m ++++ b/AppKit/NSInterfacePart/NSGraphicsStyle.m +@@ -802,24 +802,54 @@ + bordered: (BOOL) bordered + pressed: (BOOL) pressed + { +- NSImage *image = [NSImage imageNamed: @"NSComboBoxCellDown"]; +- NSSize imageSize = [image size]; +- NSRect imageRect; +- +- if (pressed) +- NSInterfaceDrawDepressedButton(rect, rect); +- else +- NSDrawButton(rect, rect); +- +- imageRect.origin.x = rect.origin.x + +- (rect.size.width - imageSize.width) / 2 + +- (pressed ? 1 : 0); +- imageRect.origin.y = rect.origin.y + +- (rect.size.height - imageSize.height) / 2 + +- (pressed ? -1 : 0); +- imageRect.size = imageSize; ++ /* ++ * THE BLUE SQUARE WITH THE ARROW IN IT, which is what this control looks like on Apple systems ++ * and what the user asked for by name. It was a grey chiselled button with a black triangle ++ * from a tiff, which is the look of a different decade and a different system. ++ * ++ * A rounded rectangle in the system accent blue with a WHITE chevron, dimmed to grey when the ++ * control is disabled and darkened while it is held down. The corner radius and the inset are ++ * the small numbers that decide whether it reads as native: the button sits INSIDE the field ++ * rather than filling its whole height, which is why the rect is inset before anything is drawn ++ * into it. ++ */ ++ CGContextRef context = NSCurrentGraphicsPort(); ++ NSRect box = NSInsetRect(rect, 1.0, 2.0); ++ CGFloat radius = 3.0; + +- [self drawButtonImage: image inRect: imageRect enabled: enabled mixed: NO]; ++ if (box.size.width <= 0 || box.size.height <= 0) { ++ return; ++ } ++ ++ CGContextSaveGState(context); ++ ++ if (!enabled) { ++ [[NSColor colorWithCalibratedRed: 0.78 green: 0.78 blue: 0.80 alpha: 1.0] setFill]; ++ } else if (pressed) { ++ [[NSColor colorWithCalibratedRed: 0.00 green: 0.36 blue: 0.80 alpha: 1.0] setFill]; ++ } else { ++ [[NSColor colorWithCalibratedRed: 0.00 green: 0.48 blue: 1.00 alpha: 1.0] setFill]; ++ } ++ [[NSBezierPath bezierPathWithRoundedRect: box xRadius: radius yRadius: radius] fill]; ++ ++ /* The chevron, drawn rather than loaded: an image would have to exist at every size and would ++ * be the wrong colour the moment the button is not blue. */ ++ CGFloat width = MIN(7.0, box.size.width - 4.0); ++ CGFloat height = width / 2.0; ++ CGFloat centreX = NSMidX(box); ++ CGFloat centreY = NSMidY(box) + (pressed ? -0.5 : 0.0); ++ ++ if (width > 1.0) { ++ CGContextBeginPath(context); ++ CGContextMoveToPoint(context, centreX - width / 2.0, centreY + height / 2.0); ++ CGContextAddLineToPoint(context, centreX + width / 2.0, centreY + height / 2.0); ++ CGContextAddLineToPoint(context, centreX, centreY - height / 2.0); ++ CGContextClosePath(context); ++ [[NSColor whiteColor] setFill]; ++ CGContextFillPath(context); ++ } ++ ++ CGContextRestoreGState(context); + } + + @end