=================================== xtb_step Phase G -- File Drop Notes =================================== Three small fixes from your last review: 1. The substep dialogs (Energy, Optimization, Frequencies) need to be sized as large as the top-level xTB step dialog so the results tab is usable without scrolling. Added the same screen-sizing code to ``TkEnergy.create_dialog`` so all three substep dialogs inherit it. 2. The xtb output suggests several citations beyond what we currently add to the references handler -- in particular DFT-D4 dispersion citations (Caldeweyher 2017/2019/2020), which apply when GFN2-xTB is in use (GFN2 uses a D4-style dispersion correction), and Stahn 2023 for CPCM-X solvation. Added these to ``data/references.bib`` and to ``Energy._cite_references`` with appropriate level (level 1 for CPCM-X since it is the primary model citation; level 2 for the D4 papers since they are component citations). 3. The solvent widget hides correctly but its indentation is wrong because the main-column labels have varying lengths. Switched to the Gaussian-step pattern (``w1 - w2 + 30``-style ``columnconfigure``) which ensures the indented label starts at the column-0 value position regardless of how long the main-column labels are. Files in this drop ================== Replace existing ---------------- ``xtb_step/tk_energy.py`` Two changes: * ``create_dialog`` now sizes the dialog to 90% width by 80% height of the screen, centered, immediately after ``super().create_dialog(...)`` returns. Pattern lifted from ``TkxTB.create_dialog``. ``TkOptimization`` and ``TkFrequencies`` inherit this automatically (their ``create_dialog`` calls ``super().create_dialog`` first). * ``reset_energy_frame`` now uses the Gaussian-step indentation idiom: ``widgets`` for the main column, ``widgets2`` for the indented column, ``align_labels`` on each separately, and ``e_frame.columnconfigure(0, minsize=w1 - w2 + 30)`` to size column 0 so column 1's label lines up with column 0's value positions. ``xtb_step/energy.py`` Extended ``_cite_references`` to: * Add a level-1 citation for CPCM-X (Stahn 2023) when CPCM-X is the chosen solvation model. The existing Ehlert 2021 citation remains for ALPB / GBSA. * Add three level-2 component citations (Caldeweyher 2017, 2019, 2020 for DFT-D4) whenever GFN2-xTB is the active method. GFN1, GFN0, and GFN-FF use older / different dispersion treatments and do NOT trigger these. This matches what xtb's own output recommends. The structure of the function is otherwise unchanged -- method-specific citations stay at level 1 keyed off ``method``, solvation citations stay at level 1 keyed off ``solvation_model``, the new component citations are added at level 2 in a clearly labelled block at the bottom. ``xtb_step/data/references.bib`` Four new BibTeX entries appended: * ``Stahn2023`` -- CPCM-X solvation (J. Phys. Chem. A 2023, 127, 7036-7043, DOI 10.1021/acs.jpca.3c04382) * ``Caldeweyher2017`` -- D3-extension dispersion model (J. Chem. Phys. 2017, 147, 034112) * ``Caldeweyher2019`` -- D4 dispersion correction (J. Chem. Phys. 2019, 150, 154122) * ``Caldeweyher2020`` -- D4 dispersion for periodic systems (Phys. Chem. Chem. Phys. 2020, 22, 8499-8512) Not in this drop ================ ``tk_optimization.py`` and ``tk_frequencies.py`` are unchanged from Phase F. They inherit the dialog-sizing change automatically through ``super().create_dialog(...)``. The other modules (``substep.py``, ``frequencies.py``, etc.) and the data files ``properties.csv``, ``seamm-xtb.yml``, ``xtb.ini`` are also unchanged. Test plan after copying ======================== 1. ``make lint && make install && make test`` -- still pass. 2. Open all three substep edit dialogs. All three should now be 90% x 80% of your screen, with the results tab visible without scrolling. 3. Open Energy. Set "Implicit solvation" to "ALPB" (or any non- ``none`` value). The Solvent label should now be visually indented from the left edge so its label starts roughly where the values column starts. Switch back to "none"; solvent disappears. The previous "barely indented" look should be gone. 4. Run a flowchart with GFN2-xTB. The references list should now include three Caldeweyher entries (level 2 -- they appear in the *secondary* references list, not primary). Run the same flowchart with GFN1-xTB or GFN-FF; the Caldeweyher entries should NOT appear. 5. Run a flowchart with CPCM-X solvation. Stahn 2023 should appear in the primary references list. Anything still missing ====================== The xtb output suggests further citations for advanced workflows that are out of scope for v1 of the plug-in: * sTDA-xTB, mass-spec, metadynamics, SPH calculations, ONIOM, DIPRO, the program-package paper (Grimme, Mueller, Hansen 2023). When v1.x or v2 adds the corresponding workflows (MD, metadynamics, TD-xTB), the matching citations should be added here too. For now the level-1 + level-2 set covers what xtb actually used during a single-point / opt / freq run with GFN2-xTB plus optional implicit solvation -- which is exactly what v1 supports. Code style ========== All files compile cleanly, all lines <= 88 characters. The diffs against Phase F are surgical (10-line block added to ``create_dialog``, 6-line block changed in ``reset_energy_frame``, ~30-line block added to ``_cite_references``, 4 new BibTeX entries in ``references.bib``).