Opened 4 years ago
Last modified 4 years ago
#6487 assigned defect
Mac multitouch sometimes broken with Qt 6
| Reported by: | Owned by: | Zach Pearson | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Window Toolkit | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-12.3-arm64-arm-64bit
ChimeraX Version: 1.4.dev202203271748 (2022-03-27 17:48:18 UTC)
Description
In Qt 6 ChimeraX the Mac multitouch trackpad seems to stop working so that 2,3,4 finger drags do nothing. It appears to be associated with floating non-docked window such as the AlphaFold Run panel, or maybe the Help viewer. When multitouch stops working the main window also often stops resizing its panes. The main window can be resized by hand but none of the panels adjust to the new size. Docking the floating window fixes that resize problem but does not seem to fix the multitouch problem. Iconifying and uniconifying also does not fix multitouch. I vaguely recall that multitouch can be recovered by some trick, but don't recall the trick.
Log:
UCSF ChimeraX version: 1.4.dev202203271748 (2022-03-27)
© 2016-2022 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 30495 fromDatabase emdb
Summary of feedback from opening 30495 fetched from emdb
---
note | Fetching compressed map 30495 from
ftp://ftp.wwpdb.org/pub/emdb/structures/EMD-30495/map/emd_30495.map.gz
Opened emdb 30495 as #1, grid size 220,220,220, pixel 1.09, shown at level
0.000223, step 1, values float32
> volume #1 level 1.059
> lighting soft
> ui tool show AlphaFold
> alphafold predict
> MQPPPPGPLGDCLRDWEDLQQDFQNIQETHRLYRLKLEELTKLQNNCTSSITRQKKRLQELALALKKCKPSLPAEAEGAAQELENQMKERQGLFFDMEAYLPKKNGLYLSLVLGNVNVTLLSKQAKFAYKDEYEKFKLYLTIILILISFTCRFLLNSRVTDAAFNFLLVWYYCTLTIRESILINNGSRIKGWWVFHHYVSTFLSGVMLTWPDGLMYQKFRNQFLSFSMYQSFVQFLQYYYQSGCLYRLRALGERHTMDLTVEGFQSWMWRGLTFLLPFLFFGHFWQLFNALTLFNLAQDPQCKEWQVLMCGFPFLLLFLGNFFTTLRVVHHKFHSQRHGSKKD,MQPPPPGPLGDCLRDWEDLQQDFQNIQETHRLYRLKLEELTKLQNNCTSSITRQKKRLQELALALKKCKPSLPAEAEGAAQELENQMKERQGLFFDMEAYLPKKNGLYLSLVLGNVNVTLLSKQAKFAYKDEYEKFKLYLTIILILISFTCRFLLNSRVTDAAFNFLLVWYYCTLTIRESILINNGSRIKGWWVFHHYVSTFLSGVMLTWPDGLMYQKFRNQFLSFSMYQSFVQFLQYYYQSGCLYRLRALGERHTMDLTVEGFQSWMWRGLTFLLPFLFFGHFWQLFNALTLFNLAQDPQCKEWQVLMCGFPFLLLFLGNFFTTLRVVHHKFHSQRHGSKKD
Running AlphaFold prediction
> alphafold match
> MQPPPPGPLGDCLRDWEDLQQDFQNIQETHRLYRLKLEELTKLQNNCTSSITRQKKRLQELALALKKCKPSLPAEAEGAAQELENQMKERQGLFFDMEAYLPKKNGLYLSLVLGNVNVTLLSKQAKFAYKDEYEKFKLYLTIILILISFTCRFLLNSRVTDAAFNFLLVWYYCTLTIRESILINNGSRIKGWWVFHHYVSTFLSGVMLTWPDGLMYQKFRNQFLSFSMYQSFVQFLQYYYQSGCLYRLRALGERHTMDLTVEGFQSWMWRGLTFLLPFLFFGHFWQLFNALTLFNLAQDPQCKEWQVLMCGFPFLLLFLGNFFTTLRVVHHKFHSQRHGSKKD
Fetching compressed AlphaFold Q9BXJ8 from
https://alphafold.ebi.ac.uk/files/AF-Q9BXJ8-F1-model_v2.cif
1 AlphaFold model found using sequence similarity searches: Q9BXJ8 (1
sequences)
Sequence Similarity
---
AlphaFold Model| Query Sequence| Identity %| Coverage %
TACAN_HUMAN | MQPPP...GSKKD | 100.0 | 100.0
Opened 1 AlphaFold model
> ui mousemode right "translate selected models"
> select clear
> select /A:317
8 atoms, 7 bonds, 1 residue, 1 model selected
> view matrix models #2,1,0,0,106.98,0,1,0,112.4,0,0,1,122.55
> view matrix models #2,1,0,0,108.69,0,1,0,112.19,0,0,1,125.47
> zoom 3
> view matrix models
> #2,-0.22271,0.2224,-0.94918,121.77,0.64008,0.76774,0.029702,108.61,0.73532,-0.60093,-0.31334,125.56
> view matrix models
> #2,-0.16713,0.45948,-0.87232,122.06,0.45297,0.82165,0.346,108.62,0.87572,-0.33731,-0.34545,125.91
> view matrix models
> #2,-0.25034,0.23345,-0.93959,121.93,0.18446,0.96422,0.19042,111.32,0.95042,-0.12565,-0.28444,126.05
> view matrix models
> #2,-0.25034,0.23345,-0.93959,116.04,0.18446,0.96422,0.19042,113.9,0.95042,-0.12565,-0.28444,133.82
> fitmap #2 inMap #1
Fit molecule AlphaFold TACAN_HUMAN (#2) to map emdb 30495 (#1) using 2871
atoms
average map value = 0.2788, steps = 84
shifted from previous position = 2.54
rotated from previous position = 4.78 degrees
atoms outside contour = 2480, contour level = 1.0585
Position of AlphaFold TACAN_HUMAN (#2) relative to emdb 30495 (#1)
coordinates:
Matrix rotation and translation
-0.32613799 0.21536686 -0.92046245 115.20557228
0.15525917 0.97268331 0.17257395 113.77972000
0.93248518 -0.08662731 -0.35066666 131.40231599
Axis -0.13846559 -0.98984658 -0.03210959
Axis point 5.18693463 0.00000000 97.71103570
Rotation angle (degrees) 110.61340665
Shift along axis -132.79574931
> view matrix models
> #2,-0.32614,0.21537,-0.92046,127.11,0.15526,0.97268,0.17257,131.2,0.93249,-0.086627,-0.35067,127.96
> view matrix models
> #2,-0.32614,0.21537,-0.92046,136.47,0.15526,0.97268,0.17257,122.73,0.93249,-0.086627,-0.35067,125.48
> fitmap #2 inMap #1
Fit molecule AlphaFold TACAN_HUMAN (#2) to map emdb 30495 (#1) using 2871
atoms
average map value = 0.1816, steps = 88
shifted from previous position = 4.29
rotated from previous position = 3.63 degrees
atoms outside contour = 2631, contour level = 1.0585
Position of AlphaFold TACAN_HUMAN (#2) relative to emdb 30495 (#1)
coordinates:
Matrix rotation and translation
-0.30780896 0.17030736 -0.93608175 137.80606836
0.17649055 0.97699495 0.11971610 125.33565293
0.93493568 -0.12835989 -0.33078544 122.55387683
Axis -0.13143782 -0.99131900 0.00327603
Axis point 16.59422618 0.00000000 104.09902998
Rotation angle (degrees) 109.31732261
Shift along axis -141.95905315
> view matrix models
> #2,-0.30781,0.17031,-0.93608,138.04,0.17649,0.97699,0.11972,123.37,0.93494,-0.12836,-0.33079,125.23
> view matrix models
> #2,-0.69343,-0.1354,-0.70769,138.14,-0.054291,0.98921,-0.13607,125.75,0.71848,-0.055934,-0.6933,128.19
> fitmap #2 inMap #1
Fit molecule AlphaFold TACAN_HUMAN (#2) to map emdb 30495 (#1) using 2871
atoms
average map value = 0.2608, steps = 128
shifted from previous position = 5.9
rotated from previous position = 9.29 degrees
atoms outside contour = 2541, contour level = 1.0585
Position of AlphaFold TACAN_HUMAN (#2) relative to emdb 30495 (#1)
coordinates:
Matrix rotation and translation
-0.75388114 0.00571278 -0.65698599 134.12216283
0.03862389 0.99861815 -0.03563688 122.18177061
0.65587455 -0.05224133 -0.75306004 131.04638273
Axis -0.01264255 -0.99960604 0.02505837
Axis point 41.18383025 0.00000000 91.88417825
Rotation angle (degrees) 138.95215875
Shift along axis -120.54547424
> volume gaussian #1 sDev 2
Opened emdb 30495 gaussian as #3, grid size 220,220,220, pixel 1.09, shown at
step 1, values float32
> volume #3 level 0.2677
> fitmap #2 inMap #3
Fit molecule AlphaFold TACAN_HUMAN (#2) to map emdb 30495 gaussian (#3) using
2871 atoms
average map value = 0.2741, steps = 108
shifted from previous position = 4.46
rotated from previous position = 10.4 degrees
atoms outside contour = 1437, contour level = 0.26768
Position of AlphaFold TACAN_HUMAN (#2) relative to emdb 30495 gaussian (#3)
coordinates:
Matrix rotation and translation
-0.80102483 0.10351049 -0.58961411 131.38781535
0.03575221 0.99145122 0.12548409 125.17310161
0.59756255 0.07943586 -0.79787777 133.04487453
Axis -0.03869599 -0.99762743 -0.05693973
Axis point 42.56490128 0.00000000 83.79257727
Rotation angle (degrees) 143.48736719
Shift along axis -137.53583979
OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple
Locale: UTF-8
Qt version: PyQt6 6.2.3, Qt 6.2.3
Qt platform: cocoa
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro18,2
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 32 GB
System Firmware Version: 7459.101.2
OS Loader Version: 7459.101.2
Software:
System Software Overview:
System Version: macOS 12.3 (21E230)
Kernel Version: Darwin 21.4.0
Time since boot: 11 days 16:45
Graphics/Displays:
Apple M1 Max:
Chipset Model: Apple M1 Max
Type: GPU
Bus: Built-In
Total Number of Cores: 32
Vendor: Apple (0x106b)
Metal Family: Supported, Metal GPUFamily Apple 7
Displays:
Color LCD:
Display Type: Built-in Liquid Retina XDR Display
Resolution: 3456 x 2234 Retina
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: No
Connection Type: Internal
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
appnope: 0.1.2
Babel: 2.9.1
backcall: 0.2.0
blockdiag: 3.0.0
certifi: 2021.10.8
charset-normalizer: 2.0.12
ChimeraX-AddCharge: 1.2.3
ChimeraX-AddH: 2.1.11
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.36.3
ChimeraX-AtomicLibrary: 6.1.1
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.1
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.0
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.6.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.2
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.2
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.1
ChimeraX-CommandLine: 1.2.2
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.4.dev202203271748
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1.5
ChimeraX-Dssp: 2.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.2
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.5
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.6
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.7
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.5.5
ChimeraX-ModelPanel: 1.3.2
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.8
ChimeraX-PDB: 2.6.6
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
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.5
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.8
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.0.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.16.3
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.1.2
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
cxservices: 1.1
cycler: 0.11.0
Cython: 0.29.26
debugpy: 1.5.1
decorator: 5.1.1
docutils: 0.17.1
entrypoints: 0.4
filelock: 3.4.2
fonttools: 4.31.2
funcparserlib: 1.0.0a0
grako: 3.16.5
html2text: 2020.1.16
idna: 3.3
ihm: 0.27
imagesize: 1.3.0
ipykernel: 6.6.1
ipython: 7.31.1
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.0.3
jupyter-client: 7.1.0
jupyter-core: 4.9.2
kiwisolver: 1.4.0
line-profiler: 3.4.0
lxml: 4.7.1
lz4: 3.1.10
MarkupSafe: 2.1.1
matplotlib: 3.5.1
matplotlib-inline: 0.1.3
msgpack: 1.0.3
nest-asyncio: 1.5.4
networkx: 2.6.3
numpy: 1.22.1
openvr: 1.16.802
packaging: 21.0
ParmEd: 3.4.3
parso: 0.8.3
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 9.0.1
pip: 21.3.1
pkginfo: 1.8.2
prompt-toolkit: 3.0.28
psutil: 5.9.0
ptyprocess: 0.7.0
pycollada: 0.7.2
pydicom: 2.2.2
Pygments: 2.11.2
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.7
PyQt6: 6.2.3
PyQt6-Qt6: 6.2.4
PyQt6-sip: 13.2.0
PyQt6-WebEngine: 6.2.1
PyQt6-WebEngine-Qt6: 6.2.4
python-dateutil: 2.8.2
pytz: 2022.1
pyzmq: 22.3.0
qtconsole: 5.2.2
QtPy: 2.0.1
requests: 2.27.1
scipy: 1.7.3
setuptools: 59.8.0
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 4.3.2
sphinx-autodoc-typehints: 1.15.2
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.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-community: 1.0.0
tifffile: 2021.11.2
tinyarray: 1.2.4
tornado: 6.1
traitlets: 5.1.1
urllib3: 1.26.9
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.37.1
wheel-filename: 1.3.0
Change History (3)
comment:1 by , 4 years ago
| Component: | Unassigned → Window Toolkit |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Mac multitouch sometimes broken with Qt 6 |
comment:2 by , 4 years ago
comment:3 by , 4 years ago
The Qt 5 multitouch support on Mac was broken -- the Qt APIs to enable it on a QWindow either did not exist or were broken. So ChimeraX resorts to some very ugly hack of running a bit of Objective C code to enable it. Maybe in Qt 6 it is possible to enable multitouch events on the graphics QWindow so that hack is not needed. And that may resolve this bug where multitouch stops working sometimes when floating windows are present.
It would be worth search our tickets for "multitouch" because I may have already tried this, and I may have reported a Qt bug about it years ago.
enablemultitouch_mac.m:20:9: warning: 'setAcceptsTouchEvents:' is deprecated: first deprecated in macOS 10.12.2 - Use allowedTouchTypes instead [-Wdeprecated-declarations] [view setAcceptsTouchEvents:YES]; ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:227:16: note: property 'acceptsTouchEvents' is declared deprecated here @property BOOL acceptsTouchEvents API_DEPRECATED("Use allowedTouchTypes instead", macos(10.6,10.12.2)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:227:16: note: 'setAcceptsTouchEvents:' has been explicitly marked deprecated here 1 warning generated. enablemultitouch_mac.m:20:9: warning: 'setAcceptsTouchEvents:' is deprecated: first deprecated in macOS 10.12.2 - Use allowedTouchTypes instead [-Wdeprecated-declarations] [view setAcceptsTouchEvents:YES]; ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:227:16: note: property 'acceptsTouchEvents' is declared deprecated here @property BOOL acceptsTouchEvents API_DEPRECATED("Use allowedTouchTypes instead", macos(10.6,10.12.2)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:227:16: note: 'setAcceptsTouchEvents:' has been explicitly marked deprecated hereThese build-time warnings may or may not have something to do with it; will investigate.