#5137 closed defect (fixed)
Toolbar appearance changed on Mac
| Reported by: | Owned by: | Zach Pearson | |
|---|---|---|---|
| Priority: | blocker | Milestone: | 1.3 |
| Component: | UI | Version: | |
| Keywords: | Cc: | Greg Couch, Eric Pettersen, Elaine Meng | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-10.15.7-x86_64-i386-64bit
ChimeraX Version: 1.3.dev202108251821 (2021-08-25 18:21:58 UTC)
Description
A change to the Toolbar formatting has made the spacing between category names and the icons even greater than before -- ie even uglier. Commit was August 30 by Zach. The new appearance uses less vertical space for the tabs which is good, but overall appearance is worse.
Log:
UCSF ChimeraX version: 1.3.dev202108251821 (2021-08-25)
© 2016-2021 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 5r43
Summary of feedback from opening 5r43 fetched from pdb
---
notes | Fetching compressed mmCIF 5r43 from
http://files.rcsb.org/download/5r43.cif
Fetching CCD MLA from http://ligand-expo.rcsb.org/reports/M/MLA/MLA.cif
Fetching CCD IOD from http://ligand-expo.rcsb.org/reports/I/IOD/IOD.cif
5r43 title:
Crystal Structure of deuterated gamma-Chymotrypsin at pH 7.5, cryo temperature
[more info...]
Chain information for 5r43 #1
---
Chain | Description | UniProt
A | Chymotrypsinogen A | CTRA_BOVIN
B | Chymotrypsinogen A | CTRA_BOVIN
C | Chymotrypsinogen A | CTRA_BOVIN
D | peptide SWPW |
E | peptide TPGVY |
Non-standard residues in 5r43 #1
---
IOD — iodide ion
MLA — malonic acid (dicarboxylic acid C3; propanediolic acid;
methanedicarboxylic acid)
> show cartoons
> hide atoms
> ui tool show AlphaFold
> alphafold match #1/A
1 UniProt id does not have an AlphaFold database model: P00766 (chain A)
No AlphaFold model with similar sequence for chain A
Opened 0 AlphaFold model
> alphafold search #1/A
ChimeraX REST job id: job_nwl1j4lr
BlastProtein finished.
Parsing BLAST results.
> select /A:1-10
68 atoms, 69 bonds, 10 residues, 1 model selected
> select /B:16-146
980 atoms, 1001 bonds, 131 residues, 1 model selected
> alphafold match #1/B
1 UniProt id does not have an AlphaFold database model: P00766 (chain B)
Fetching compressed AlphaFold P17538 from
https://alphafold.ebi.ac.uk/files/AF-P17538-F1-model_v1.cif
1 AlphaFold model found using sequence similarity searches: P17538 (chain B)
AlphaFold chains matching 5r43
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
B | CTRB1_HUMAN | P17538 | 0.53 | 131 | 131 | 83
Opened 1 AlphaFold model
> color #2 lightgray
> color #2::same_sequence=false red
> hide #1 models
> show #1 models
> alphafold match #1/C
1 UniProt id does not have an AlphaFold database model: P00766 (chain C)
1 AlphaFold model found using sequence similarity searches: P17538 (chain C)
AlphaFold chains matching 5r43
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
C | CTRB1_HUMAN | P17538 | 0.62 | 98 | 97 | 81
Opened 1 AlphaFold model
> alphafold search #1/C
ChimeraX REST job id: job_560pdysu
BlastProtein finished.
Parsing BLAST results.
> alphafold fetch Q561U4 alignTo #1/C
Fetching compressed AlphaFold Q561U4 from
https://alphafold.ebi.ac.uk/files/AF-Q561U4-F1-model_v1.cif
AlphaFold chains matching chain C
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
C | | Q561U4 | 0.65 | 97 | 97 | 68
> hide #1 models
> close #2
> hide #4 models
> show #4 models
> hide #4 models
> show #4 models
> alphafold fetch G3V8J3 alignTo #1/C
Fetching compressed AlphaFold G3V8J3 from
https://alphafold.ebi.ac.uk/files/AF-G3V8J3-F1-model_v1.cif
AlphaFold chains matching chain C
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
C | | G3V8J3 | 0.74 | 98 | 97 | 54
> open 7p4z format mmcif fromDatabase pdb
7p4z title:
Crystal structure of avidin from hen egg white in space group C2 [more
info...]
Chain information for 7p4z #5
---
Chain | Description | UniProt
A B | Avidin | AVID_CHICK
Non-standard residues in 7p4z #5
---
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)
7p4z mmCIF Assemblies
---
1| author_and_software_defined_assembly
> close #1-4
> alphafold match #1/C
No protein sequences specified
> alphafold match #5/A
1 UniProt id does not have an AlphaFold database model: P02701 (chain A)
No AlphaFold model with similar sequence for chain A
Opened 0 AlphaFold model
> alphafold search #5/A
ChimeraX REST job id: job_fp52nm5o
BlastProtein finished.
Parsing BLAST results.
> alphafold fetch A0A2R8PXI9 alignTo #5/A
AlphaFold chains matching chain A
---
Chain| UniProt Name| UniProt Id| RMSD| Length| Seen| % Id
A | | A0A2R8PXI9 | 1.90 | 122 | 116 | 40
> alphafold predict #5/A
Running AlphaFold prediction
AlphaFold prediction finished
Results in /Users/goddard/Downloads/ChimeraX/AlphaFold/prediction_9
Chain information for best_model.pdb #2
---
Chain | Description
A | No description available
OpenGL version: 4.1 ATI-3.10.19
OpenGL renderer: AMD Radeon Pro Vega 20 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro15,3
Processor Name: 8-Core Intel Core i9
Processor Speed: 2.4 GHz
Number of Processors: 1
Total Number of Cores: 8
L2 Cache (per Core): 256 KB
L3 Cache: 16 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
Boot ROM Version: 1554.100.64.0.0 (iBridge: 18.16.14556.0.0,0)
Software:
System Software Overview:
System Version: macOS 10.15.7 (19H1030)
Kernel Version: Darwin 19.6.0
Time since boot: 103 days 1:11
Graphics/Displays:
Intel UHD Graphics 630:
Chipset Model: Intel UHD Graphics 630
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Vendor: Intel
Device ID: 0x3e9b
Revision ID: 0x0002
Automatic Graphics Switching: Supported
gMux Version: 5.0.0
Metal: Supported, feature set macOS GPUFamily2 v1
Radeon Pro Vega 20:
Chipset Model: Radeon Pro Vega 20
Type: GPU
Bus: PCIe
PCIe Lane Width: x8
VRAM (Total): 4 GB
Vendor: AMD (0x1002)
Device ID: 0x69af
Revision ID: 0x00c0
ROM Revision: 113-D2060I-087
VBIOS Version: 113-D20601MA0T-016
Option ROM Version: 113-D20601MA0T-016
EFI Driver Version: 01.01.087
Automatic Graphics Switching: Supported
gMux Version: 5.0.0
Metal: Supported, feature set macOS GPUFamily2 v1
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2880 x 1800 Retina
Framebuffer Depth: 24-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: No
Connection Type: Internal
Locale: (None, 'UTF-8')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
appnope: 0.1.2
Babel: 2.9.1
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2021.5.30
cftime: 1.5.0
chardet: 4.0.0
charset-normalizer: 2.0.4
ChimeraX-AddCharge: 1.1.4
ChimeraX-AddH: 2.1.10
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.1
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.28.1
ChimeraX-AtomicLibrary: 4.1
ChimeraX-AtomSearch: 2.0
ChimeraX-AtomSearchLibrary: 1.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.0
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.5.3
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.1
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.1
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.3.3
ChimeraX-CommandLine: 1.1.4
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.3.dev202108251821
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.2
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1.4
ChimeraX-DistUI: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.1
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1
ChimeraX-Hbonds: 2.1
ChimeraX-Help: 1.2
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ItemsInspection: 1.0
ChimeraX-Label: 1.1
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.4
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 2.0
ChimeraX-MDcrds: 2.4
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.3
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.1
ChimeraX-ModelPanel: 1.1
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.2
ChimeraX-OpenCommand: 1.7
ChimeraX-PDB: 2.5.1
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.1
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.4.1
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.1
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.6
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-Struts: 1.0
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1
ChimeraX-ToolshedUtils: 1.2
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.12
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.0.1
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0
ChimeraX-WebServices: 1.0
ChimeraX-Zone: 1.0
colorama: 0.4.4
comtypes: 1.1.10
cxservices: 1.0.1
cycler: 0.10.0
Cython: 0.29.23
decorator: 5.0.9
distlib: 0.3.1
docutils: 0.17.1
filelock: 3.0.12
funcparserlib: 0.3.6
grako: 3.16.5
h5py: 3.3.0
html2text: 2020.1.16
idna: 2.10
ihm: 0.20
imagecodecs: 2021.4.28
imagesize: 1.2.0
ipykernel: 5.5.5
ipython: 7.23.1
ipython-genutils: 0.2.0
jedi: 0.18.0
Jinja2: 2.11.3
jupyter-client: 6.1.12
jupyter-core: 4.7.1
kiwisolver: 1.3.1
lxml: 4.6.3
lz4: 3.1.3
MarkupSafe: 1.1.1
matplotlib: 3.4.2
matplotlib-inline: 0.1.2
msgpack: 1.0.2
netCDF4: 1.5.6
networkx: 2.6.2
numexpr: 2.7.3
numpy: 1.21.0
numpydoc: 1.1.0
openvr: 1.16.801
packaging: 21.0
ParmEd: 3.2.0
parso: 0.8.2
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 8.2.0
pip: 21.1.1
pkginfo: 1.7.0
prompt-toolkit: 3.0.19
psutil: 5.8.0
ptyprocess: 0.7.0
pycollada: 0.7.1
pydicom: 2.1.2
Pygments: 2.9.0
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 2.4.7
PyQt5: 5.15.2
PyQt5-sip: 12.8.1
PyQtWebEngine: 5.15.2
python-dateutil: 2.8.1
pytz: 2021.1
pyzmq: 22.2.1
qtconsole: 5.1.0
QtPy: 1.9.0
RandomWords: 0.3.0
requests: 2.25.1
scipy: 1.6.3
setuptools: 57.0.0
sfftk-rw: 0.7.0.post1
six: 1.16.0
snowballstemmer: 2.1.0
sortedcontainers: 2.4.0
Sphinx: 4.0.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 2.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
suds-jurko: 0.6
tifffile: 2021.4.8
tinyarray: 1.2.3
tornado: 6.1
traitlets: 5.0.5
urllib3: 1.26.6
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.36.2
wheel-filename: 1.3.0
Attachments (5)
Change History (16)
comment:1 by , 4 years ago
| Component: | Unassigned → UI |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Toolbar appearance changed on Mac |
by , 4 years ago
| Attachment: | toolbar.png added |
|---|
comment:2 by , 4 years ago
Oh, good eye! That was hard to see since even though the spacing is greater the labels are pretty close to where they used to be.
I think the main reason for the wonky spacing is that the Graphics -> Background section is the tallest thing in the toolbar and sets the height of all the other sections too. It also looks like instead of shrinking overall the whole thing just expanded to fit the new space.
Anyway as for fixes -- besides reverting the commit, setting the height of QTabWidgets to a fixed 102px and adding a 4px bottom margin to QLabels made the spacing even slightly closer than before (and the 4 pixel offset looks better imo). The main thing I dislike about this fix is that the tab bar is resizable but setting a fixed height on the child widget means it won't grow with the tab bar. What's frustrating is that after many iterations, I haven't yet found the correct incantation of padding-margin-spacing-border pixel values to get the same behavior that I know is possible from seeing the button spacing condensed by the 102px fixed height. But when I try to fix the margins/padding, Qt wants to cut labels off instead of bringing things closer together!
It may be fair to say that commit was premature.
I got interested in the toolbar for an unrelated bug that I thought was ours, but is not: https://bugreports.qt.io/browse/QTBUG-86513 (about the file-folder like blue lines that come off the unfocused tabs)
by , 4 years ago
| Attachment: | Screen Shot 2021-09-01 at 00.33.54.png added |
|---|
Upstream QT bug affecting macOS >= Big Sur (file folder like blue bars coming off unfocused tabs)
by , 4 years ago
| Attachment: | Screen Shot 2021-09-01 at 00.35.32.png added |
|---|
Default vs fixed 102px height w/ 4px bottom margin on labels
comment:3 by , 4 years ago
| Cc: | added |
|---|
I thought those blue vertical lines between the toolbar tab names on Big Sur were a feature and an improvement! I am serious.
But reducing the vertical size of the toolbar is something we would like. But you are on a doomed quest. Qt widget padding on Mac is a nightmare as you can see by looking at all the posts about it over the years. I have spent probably 20-40 hours tinkering with style settings to get Mac spacing better in UI panels. Most of the time it backfires, breaks behavior (like menu buttons can only be clicked at certain places on the button!). Then it breaks when a new macOS comes out or a new Qt comes out. The lesson I have learned is if you tweek the widget style on Mac you are in for pain. Non-default style on Mac simply gets used so rarely that it is a mess. One especially deadly problem is changing style causes native Mac widgets to get replaced by a completely different implementation of Qt generic widgets. No way to know what style settings will cause this. We generally want native widgets for best appearance.
At any rate, if you want to mess with the Toolbar spacing you can, but it is very important to get it right since every user sees and uses this, and a huge time sink of undocumented and unstable Qt behaviors so beware.
If the background colors in the Graphics Toolbar are forcing the overall vertical size larger, those 3 colors can be horizontally laid out buttons instead of vertically stacked -- there is plenty of unused width on the Graphics Toolbar.
Greg wrote the toolbar gui.
comment:4 by , 4 years ago
| Milestone: | → 1.3 |
|---|
This change should be reverted, or improved before release.
comment:5 by , 4 years ago
| Priority: | normal → blocker |
|---|
comment:6 by , 4 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Reverted in this commit but I'd be interested in trying again in Qt6.
comment:7 by , 4 years ago
It looked like the toolbar height was forced to be large with this change due to the graphics tab background color 3 stacked colors. But when I layed out those colors horizontally it did not change the excessive height. Attached an image.
by , 4 years ago
| Attachment: | bgcolor.png added |
|---|
Toolbar height still excessive when graphics tab background colors laid out horizontally.
comment:8 by , 4 years ago
I had asked Greg a little bit about the spacing last week.
The other sections I thought might be responsible for the height were Atoms, Cartoons, and Surfaces under Molecule Display, but I didn't experimented with them for lack of a good alternative.
comment:9 by , 4 years ago
I tested molecule display atoms/cartoons/surfaces and graphics background color all laid out horizontally, so no vertical layout in any tabs, and it did not reduce the height of the toolbar.
comment:10 by , 4 years ago
Looking at your most recent attachment I notice the macOS tab bar background I took out in the reverted commit is still out. Did you reinstall the ui bundle? I only ask because I just tried to get the change by reinstalling the toolbar bundle absentmindedly, so I was really confused for a second when it didn't take effect.
comment:11 by , 4 years ago
Yes, the image I attached was with your style change. I tested horizontal instead of stacked layout both with your style change and without it, did not reduce height in either case.
Comparison of former toolbar appearance left and current appearance right.