Opened 2 years ago

Closed 2 years ago

#9823 closed defect (fixed)

Mac scrollbar behavior

Reported by: olibclarke@… Owned by: Eric Pettersen
Priority: normal Milestone:
Component: UI Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-13.5.2-arm64-arm-64bit
ChimeraX Version: 1.7.dev202309090115 (2023-09-09 01:15:43 UTC)
Description
Glitchy scrollbars on MacOS in preferences pane (See screen recording):

https://www.dropbox.com/scl/fi/307ny86yil2vqkleccu9t/chimerax_scrolling_glitch.mov?rlkey=v48d7qmpjivijcd4cxvk9g79k&dl=0

Log:
> camera ortho

> cofr centerOfView

> mousemode alt rightMode "contour level"

> mousemode rightMode clip

> mousemode alt leftMode "translate selected models"

> mousemode shift leftMode "rotate selected models"

> alias cofron cofr centerofview showpivot true

> alias cofroff cofr centerofview showpivot false

> alias symclip cofr centerofview; clip near -$1 far $1 position cofr

> alias cootmode surface cap false; surface style solid; lighting flat;
> graphics silhouettes false; style stick; ~rib; color ##num_residues gold;
> color byhet ; disp; ~disp @H*; style solvent ball; size ballscale 0.1; size
> stickradius 0.07; transparency 70; cofr centerofview; clip near -10 far 10
> position cofr; color ##~num_residues cornflower blue

> alias cootmode_mesh surface cap false; surface style mesh; lighting flat;
> graphics silhouettes false; style stick; ~rib; color ##num_residues gold;
> color byhet ; disp; ~disp @H*; style solvent ball; size ballscale 0.1; size
> stickradius 0.07; cofr centerofview; clip near -10 far 10 position cofr;
> color ##~num_residues #3d60ffff; transparency 50

> alias ca_and_sidechains ~rib $1; ~surf $1; ~disp $1; disp @CA&protein&$1;
> disp @P&nucleic&$1; style $1 stick; disp sidechain&$1; disp
> ~backbone&nucleic&$1; size stickradius 0.1; size pseudobondradius 0.1

> alias ca_trace ~rib $1; ~surf $1; ~disp $1; disp @CA&protein&$1; disp
> @P&nucleic&$1; style $1 stick; size stickradius 0.1; size pseudobondradius
> 0.1

> alias map_sphere_15 surface unzone ##~num_residues; sel; close #10000;
> marker #10000 position cofr; sel ~sel; surface zone ##~num_residues
> nearAtoms sel distance 15; close #10000

> alias map_unsphere surface unzone ##~num_residues

> alias default_mol_display ~disp; rib; rainbow chain palette RdYlBu-5;
> lighting soft

> alias hidemaps surface unzone ##~num_residues; sel; close #10000; marker
> #10000 position cofr; sel ~sel; surface zone ##~num_residues nearAtoms sel
> distance 0; close #10000

> alias showmaps surface unzone ##~num_residues

> alias caps_off surface cap false

> alias caps_on surface cap true

> alias selbetween ks ri

> alias helix setattr $1 res is_helix true

> alias strand setattr $1 res is_strand true

> alias coil setattr $1 res is_strand false; setattr $1 res is_helix false

> buttonpanel Shortcuts rows 3 columns 4

> buttonpanel Shortcuts add Vol_Viewer command "tool show 'Volume Viewer'"

> buttonpanel Shortcuts add Model_Panel command "tool show Models"

> buttonpanel Shortcuts add Log command "tool show Log"

> buttonpanel Shortcuts add default_disp command default_mol_display

> buttonpanel Shortcuts add map_sphere command map_sphere_15

> buttonpanel Shortcuts add map_unsphere command map_unsphere

> buttonpanel Shortcuts add cofron command cofron

> buttonpanel Shortcuts add cofroff command cofroff

> buttonpanel Shortcuts add cootmode command cootmode

> buttonpanel Shortcuts add mark_cofr command "marker #10000 position cofr"

> buttonpanel Shortcuts add hidemaps command hidemaps

> buttonpanel Shortcuts add showmaps command showmaps

> volume defaultvalues limitVoxelCount false voxelLimitForPlane
> 1000000000000000 voxelLimitForOpen 1000000000000000 saveSettings true

Saved volume settings  
UCSF ChimeraX version: 1.7.dev202309090115 (2023-09-09)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open
> /Users/oc2188/Library/CloudStorage/Dropbox/ankyrin_complex_final_maps_and_models/consensus_DONE/consensus_refinement_rh_ar15_mask_DONE/resolve_cryo_em_0_DONE/denmod_map_resample.mrc
> format mrc

Opened denmod_map_resample.mrc as #1, grid size 266,266,266, pixel 0.415,
shown at level 1.69, step 1, values float32  

> mousemode alt control leftMode "pick blobs"

> select #1

2 models selected  

> select clear

> measure blob #!1.1 triangleNumber 472660 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 699.14  
area = 2145.5  
size = 44.746 21.794 22.478  
  

> measure blob #!1.1 triangleNumber 473011 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 699.14  
area = 2145.5  
size = 44.746 21.794 22.478  
  

> measure blob #!1.1 triangleNumber 38592 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 4.3265  
area = 19.119  
size = 5.6089 1.7176 1.3921  
  

> measure blob #!1.1 triangleNumber 408663 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 59.724  
area = 180.42  
size = 14.546 9.687 6.496  
  

> measure blob #!1.1 triangleNumber 172718 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 330.64  
area = 988.79  
size = 43.2 15.003 13.376  
  

> measure blob #!1.1 triangleNumber 517395 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 298.09  
area = 899.08  
size = 34.861 12.821 13.423  
  

> measure blob #!1.1 triangleNumber 391527 color #0000ccff

Surface denmod_map_resample.mrc #1.1 blob:  
volume = 472.95  
area = 1485  
size = 38.54 19.372 20.59  
  

> help mousemode

> surface splitbycolor #1

> select #1

2 models selected  

> select #1

2 models selected  

> tool show Models

> hide #!2 models

> show #!2 models

> hide #!1 models

> select #2.2

1 model selected  

> color sel red

Failed to send bug report. Bug report server www.rbvi.ucsf.edu is unavailable  




OpenGL version: 4.1 Metal - 83.1
OpenGL renderer: Apple M2 Max
OpenGL vendor: Apple

Python: 3.11.2
Locale: UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac14,5
      Model Number: Z17J00171LL/A
      Chip: Apple M2 Max
      Total Number of Cores: 12 (8 performance and 4 efficiency)
      Memory: 64 GB
      System Firmware Version: 8422.141.2
      OS Loader Version: 8422.141.2

Software:

    System Software Overview:

      System Version: macOS 13.5.2 (22G91)
      Kernel Version: Darwin 22.6.0
      Time since boot: 1 day, 4 hours, 32 minutes

Graphics/Displays:

    Apple M2 Max:

      Chipset Model: Apple M2 Max
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 30
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3024 x 1964 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: Yes
          Connection Type: Internal


Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    appnope: 0.1.3
    asttokens: 2.4.0
    Babel: 2.12.1
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 0.10.0
    certifi: 2022.12.7
    cftime: 1.6.2
    charset-normalizer: 3.2.0
    ChimeraX-AddCharge: 1.5.11
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.47.2
    ChimeraX-AtomicLibrary: 10.0.8
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.10.5
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.0.3
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.4
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.7.dev202309090115
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.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.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.8
    ChimeraX-ListInfo: 1.2
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9
    ChimeraX-Map: 1.1.4
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.1.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.12
    ChimeraX-ModelPanel: 1.4
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.1
    ChimeraX-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10.2
    ChimeraX-PDB: 2.7.2
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 3.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.9.1
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12.2
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.31.5
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.1
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.1.4
    contourpy: 1.1.0
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.7.0
    decorator: 5.1.1
    docutils: 0.19
    executing: 1.2.0
    filelock: 3.9.0
    fonttools: 4.42.1
    funcparserlib: 1.0.1
    glfw: 2.6.2
    grako: 3.16.5
    h5py: 3.9.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.38
    imagecodecs: 2023.7.10
    imagesize: 1.4.1
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.1.0
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.2.0
    jupyter-core: 5.3.1
    jupyterlab-widgets: 3.0.8
    kiwisolver: 1.4.5
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.3
    matplotlib: 3.7.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.7
    netCDF4: 1.6.2
    networkx: 3.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.5
    numpy: 1.25.1
    openvr: 1.23.701
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 10.0.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.10.0
    prompt-toolkit: 3.0.39
    psutil: 5.9.5
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.16.1
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.2801
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine-commercial: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    python-dateutil: 2.8.2
    pytz: 2023.3.post1
    pyzmq: 25.1.1
    qtconsole: 5.4.3
    QtPy: 2.4.0
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.11.1
    setuptools: 67.4.0
    setuptools-scm: 7.0.5
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.7
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.5
    sphinxcontrib-htmlhelp: 2.0.4
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.6
    sphinxcontrib-serializinghtml: 1.1.9
    stack-data: 0.6.2
    superqt: 0.5.0
    tables: 3.8.0
    tcia-utils: 1.5.1
    tifffile: 2023.7.18
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.3.3
    traitlets: 5.9.0
    typing-extensions: 4.7.1
    tzdata: 2023.3
    urllib3: 2.0.4
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.8

Attachments (1)

PastedGraphic-1.png (465.2 KB ) - added by olibclarke@… 2 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (13)

comment:1 by Eric Pettersen, 2 years ago

Component: UnassignedUI
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionMac scrollbar behavior

comment:2 by Eric Pettersen, 2 years ago

Resolution: not a bug
Status: acceptedclosed

Hi Oli,

Pretty sure this is a Mac "feature". The startup-commands text area is scrollable, but so is the entire Startup pane area. This puts the scrollbars of the text area close to the pane's scrollbars, so as you approach the text scrollbars they "leap away" from the pane scrollbars so that you don't accidentally scroll one when you meant the other. You can still scroll the text area while only being in the translucent area between the scrollbars -- you don't have to be directly over the text area scrollbar.

--Eric

comment:3 by olibclarke@…, 2 years ago

Hmmm\u2026 I\u2019m not so sure, as it is not a feature I have encountered in any other Mac app (or at least not in such an exaggerated fashion)\u2026 but if it is a feature that can\u2019t be turned off I understand, it just feels kind of buggy, and the translucent area is very large and obscures text. 

Is there a reason to have the entire startup pane be scrollable in addition to the text box? I guess for very small screens it makes sense, or for the future when there are more preferences..?

Oli

comment:4 by Eric Pettersen, 2 years ago

We are not doing anything to "turn on" this behavior. The pane areas are handled generically and they are all scrollable as needed -- they don't base their scrolling behavior on the widgets they contain. If you make some of the other preference areas short enough, you will see that they become scrollable.

comment:5 by Eric Pettersen, 2 years ago

Resolution: not a bug
Status: closedreopened

comment:6 by Eric Pettersen, 2 years ago

Resolution: limitation
Status: reopenedclosed

comment:7 by olibclarke@…, 2 years ago

Got it, I guess I was wondering if there was any underlying setting that controls how wide the translucent area is when the textbox scrollbar is activated on hover - right now it seems very wide


comment:8 by olibclarke@…, 2 years ago

And if I set the display of scrollbars to “always show scrollbars” in Mac system settings, this is what it looks like (the second set of scrollbars are unusable):

Added by email2trac


by olibclarke@…, 2 years ago

Attachment: PastedGraphic-1.png added

Added by email2trac

comment:9 by Eric Pettersen, 2 years ago

Yes, I saw that too, but the scrolling all works for me.

comment:10 by Eric Pettersen, 2 years ago

Resolution: limitation
Status: closedreopened

I still don't know that there's anything I can do about this (probably still a Qt/Mac issue), but the behavior persists even if I make the pane big enough that it doesn't need its outside scrollers.

comment:11 by Eric Pettersen, 2 years ago

The behavior happens on Windows also, so its not a mac-only thing

comment:12 by Eric Pettersen, 2 years ago

Resolution: fixed
Status: reopenedclosed

The startup-commands widget sets its initial width/height via a stylesheet and this apparently confuses Qt's scrolling mechanisms. Removed the specification of initial width/height.

Fix: https://github.com/RBVI/ChimeraX/commit/59d58380bd4b602b7eca4a64a173f028c00189fa

Note: See TracTickets for help on using tickets.