Skip to content

Folder icon shrinks when the filename column is too narrow #18

@dafi

Description

@dafi

What happens?

When the column width is smaller than the icon + spacing + text, the icon is scaled down and Auto Layout logs unsatisfiable constraints for the cell.

What did you expect to happen?

The icon should keep its fixed size and be clipped if there is not enough space, without Auto Layout warnings.

Steps to reproduce

  1. start folder comparison using a very deep path
  2. resize the name column
  3. the console log shows warnings

Use the script code shown below to recreate the bug scenario and compare left with right

mkdir -p left/Antidisestablishmentarianism/Floccinaucinihilipilification/Pneumonoultramicroscopicsilicovolcanoconiosis/Hippopotomonstrosesquippedaliophobia/Supercalifragilisticexpialidocious/Pseudopseudohypoparathyroidism/Electroencephalographically/Immunoelectrophoretically/Psychoneuroendocrinological/Otorhinolaryngological
mkdir right

Environment

No response

Logs / screenshots (optional)

From XCode and Console.app

Conflicting constraints detected: (
        "<NSLayoutConstraint:0x60000cdf72f0 H:|-(2)-[NSImageView:0x1682f0d30]   (active, names: cellName:0x1682f0af0, '|':cellName:0x1682f0af0 )>",
        "<NSLayoutConstraint:0x60000cdf73e0 H:[NSImageView:0x1682f0d30]-(2)-[NSTextField:0x1682f10e0]   (active)>",
        "<NSLayoutConstraint:0x60000cdf7430 NSTextField:0x1682f10e0.trailing == cellName.trailing   (active, names: cellName:0x1682f0af0 )>",
        "<NSLayoutConstraint:0x60000cdf8050 'NSView-Encapsulated-Layout-Width' cellName.width == 2   (active, names: cellName:0x1682f0af0 )>"
    ).

    Will attempt to recover by breaking <NSLayoutConstraint:0x60000cdf73e0 H:[NSImageView:0x1682f0d30]-(2)-[NSTextField:0x1682f10e0]   (active)>.
    Unable to simultaneously satisfy constraints:
    (
        "<NSLayoutConstraint:0x60000cdf72f0 H:|-(2)-[NSImageView:0x1682f0d30]   (active, names: cellName:0x1682f0af0, '|':cellName:0x1682f0af0 )>",
        "<NSLayoutConstraint:0x60000cdf73e0 H:[NSImageView:0x1682f0d30]-(2)-[NSTextField:0x1682f10e0]   (active)>",
        "<NSLayoutConstraint:0x60000cdf7430 NSTextField:0x1682f10e0.trailing == cellName.trailing   (active, names: cellName:0x1682f0af0 )>",
        "<NSLayoutConstraint:0x60000cdf8050 'NSView-Encapsulated-Layout-Width' cellName.width == 2   (active, names: cellName:0x1682f0af0 )>"
    )

    Will attempt to recover by breaking constraint
    <NSLayoutConstraint:0x60000cdf73e0 H:[NSImageView:0x1682f0d30]-(2)-[NSTextField:0x1682f10e0]   (active)>

    Set the NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints to YES to have -[NSWindow visualizeConstraints:] automatically
    called when this happens.  And/or, set a symbolic breakpoint on LAYOUT_CONSTRAINTS_NOT_SATISFIABLE to catch this in the debugger.
    Conflicting constraints detected: (
        "<NSLayoutConstraint:0x60000891b660 H:|-(2)-[NSImageView:0x168209c90]   (active, names: cellName:0x168209a50, '|':cellName:0x168209a50 )>",
        "<NSLayoutConstraint:0x60000891b750 H:[NSImageView:0x168209c90]-(2)-[NSTextField:0x16820a040]   (active)>",
        "<NSLayoutConstraint:0x60000891b7a0 NSTextField:0x16820a040.trailing == cellName.trailing   (active, names: cellName:0x168209a50 )>",
        "<NSLayoutConstraint:0x60000891c0f0 'NSView-Encapsulated-Layout-Width' cellName.width == 0   (active, names: cellName:0x168209a50 )>"
    ).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions