Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPython console widget size changes on startup if vertical panes are combined #17945

Closed
mrclary opened this issue May 20, 2022 · 6 comments
Closed

Comments

@mrclary
Copy link
Contributor

mrclary commented May 20, 2022

Description

What steps will reproduce the problem?

Beginning with a clean Spyder configuration

  1. Open two vertical pane widgets, i.g. Outline and Project
  2. Restart Spyder: notice that IPython console height remains unchanged
  3. Combine both vertical pane widgets
  4. Restart Spyder: notice that IPython console height is reduced
  5. Restart Spyder: notice that IPython console height is reduced further
  6. This continues until a minimum allowed height is achieved.

layout

Versions

  • Spyder version: 5.4.0.dev0 (9e341c0)
  • Python version: 3.9.5
  • Qt version: 5.15.2
  • PyQt5 version: 5.15.6
  • Operating System: Darwin 20.6.0

Dependencies

# Mandatory:
applaunchservices >=0.1.7            :  0.3.0 (OK)
atomicwrites >=1.2.0                 :  1.4.0 (OK)
chardet >=2.0.0                      :  4.0.0 (OK)
cloudpickle >=0.5.0                  :  2.0.0 (OK)
cookiecutter >=1.6.0                 :  1.7.3 (OK)
diff_match_patch >=20181111          :  20200713 (OK)
intervaltree >=3.0.2                 :  3.1.0 (OK)
IPython >=7.31.1;<8.0.0              :  7.33.0 (OK)
jedi >=0.17.2;<0.19.0                :  0.18.1 (OK)
jellyfish >=0.7                      :  0.9.0 (OK)
jsonschema >=3.2.0                   :  4.5.1 (OK)
keyring >=17.0.0                     :  23.5.0 (OK)
nbconvert >=4.0                      :  6.5.0 (OK)
numpydoc >=0.6.0                     :  1.3.1 (OK)
parso >=0.7.0;<0.9.0                 :  0.8.3 (OK)
pexpect >=4.4.0                      :  4.8.0 (OK)
pickleshare >=0.4                    :  0.7.5 (OK)
psutil >=5.3                         :  5.9.0 (OK)
pygments >=2.0                       :  2.12.0 (OK)
pylint >=2.5.0                       :  2.13.8 (OK)
pyls_spyder >=0.4.0                  :  0.4.0 (OK)
pylsp >=1.4.1;<1.5.0                 :  1.4.1 (OK)
pylsp_black >=1.2.0                  :  1.2.1 (OK)
qdarkstyle >=3.0.2;<3.1.0            :  3.0.3 (OK)
qstylizer >=0.1.10                   :  0.2.1 (OK)
qtawesome >=1.0.2                    :  1.1.1 (OK)
qtconsole >=5.3.0;<5.4.0             :  5.4.0.dev0 (OK)
qtpy >=2.1.0                         :  2.1.0 (OK)
rtree >=0.9.7                        :  1.0.0 (OK)
setuptools >=49.6.0                  :  62.2.0 (OK)
sphinx >=0.6.6                       :  4.5.0 (OK)
spyder_kernels >=2.3.0;<2.4.0        :  2.4.0.dev0 (OK)
textdistance >=4.2.0                 :  4.2.2 (OK)
three_merge >=0.1.1                  :  0.1.1 (OK)
watchdog >=0.10.3                    :  2.1.7 (OK)
zmq >=17                             :  22.3.0 (OK)

# Optional:
cython >=0.21                        :  None (NOK)
matplotlib >=3.0.0                   :  None (NOK)
numpy >=1.7                          :  None (NOK)
pandas >=1.1.1                       :  None (NOK)
scipy >=0.17.0                       :  None (NOK)
sympy >=0.7.3                        :  None (NOK)

# Spyder plugins:
spyder_terminal.terminalplugin 1.2.2 :  1.2.2 (OK)
@mrclary
Copy link
Contributor Author

mrclary commented May 21, 2022

So this does not affect spyder installed from source in a conda environment, but does affect spyder installed from source in the local pyenv environment. Respective pip lists below.

Pyenv environment
Package                       Version     Editable project location
----------------------------- ----------- -------------------------------------------------------------------------------
alabaster                     0.7.12
altgraph                      0.17.2
applaunchservices             0.3.0
appnope                       0.1.3
arrow                         1.2.2
astroid                       2.11.5
atomicwrites                  1.4.0
attrs                         21.4.0
autopep8                      1.6.0
Babel                         2.10.1
backcall                      0.2.0
bcrypt                        3.2.2
beautifulsoup4                4.11.1
binaryornot                   0.4.4
black                         22.3.0
bleach                        5.0.0
certifi                       2022.5.18.1
cffi                          1.15.0
chardet                       4.0.0
charset-normalizer            2.0.12
click                         8.1.3
cloudpickle                   2.1.0
coloredlogs                   15.0.1
cookiecutter                  1.7.3
cryptography                  37.0.2
cycler                        0.11.0
Cython                        0.29.30
debugpy                       1.6.0
decorator                     5.1.1
defusedxml                    0.7.1
diff-match-patch              20200713
dill                          0.3.5.1
dmgbuild                      1.5.2
docutils                      0.17.1
ds-store                      1.3.0
entrypoints                   0.4
fastjsonschema                2.15.3
flake8                        4.0.1
fonttools                     4.33.3
humanfriendly                 10.0
idna                          3.3
imagesize                     1.3.0
importlib-metadata            4.11.3
inflection                    0.5.1
intervaltree                  3.1.0
ipykernel                     6.13.0
ipython                       7.33.0
ipython-genutils              0.2.0
isort                         5.10.1
jedi                          0.18.1
jellyfish                     0.9.0
Jinja2                        3.1.2
jinja2-time                   0.2.0
jsonschema                    4.5.1
jupyter-client                7.2.0
jupyter-core                  4.10.0
jupyterlab-pygments           0.2.2
keyring                       23.5.0
kiwisolver                    1.4.2
lazy-object-proxy             1.7.1
mac-alias                     2.2.0
macholib                      1.16
MarkupSafe                    2.1.1
matplotlib                    3.5.2
matplotlib-inline             0.1.3
mccabe                        0.6.1
mistune                       0.8.4
modulegraph                   0.19.2
mpmath                        1.2.1
mypy-extensions               0.4.3
nbclient                      0.6.3
nbconvert                     6.5.0
nbformat                      5.4.0
nest-asyncio                  1.5.5
numpy                         1.22.3
numpydoc                      1.3.1
packaging                     21.3
pandas                        1.4.2
pandocfilters                 1.5.0
paramiko                      2.11.0
parso                         0.8.3
pathspec                      0.9.0
pexpect                       4.8.0
pickleshare                   0.7.5
Pillow                        9.1.1
pip                           22.1
platformdirs                  2.5.2
pluggy                        1.0.0
poyo                          0.5.0
prompt-toolkit                3.0.29
psutil                        5.9.0
ptyprocess                    0.7.0
py2app                        0.28
pycodestyle                   2.8.0
pycparser                     2.21
pydocstyle                    6.1.1
pyflakes                      2.4.0
Pygments                      2.12.0
pylint                        2.13.9
pyls-spyder                   0.4.0
PyNaCl                        1.5.0
pyobjc-core                   8.5
pyobjc-framework-Cocoa        8.5
pyobjc-framework-CoreServices 8.5
pyobjc-framework-FSEvents     8.5
pyparsing                     3.0.9
PyQt5                         5.15.6
PyQt5-Qt5                     5.15.2
PyQt5-sip                     12.10.1
PyQtWebEngine                 5.15.5
PyQtWebEngine-Qt5             5.15.2
pyrsistent                    0.18.1
python-dateutil               2.8.2
python-lsp-black              1.2.1
python-lsp-jsonrpc            1.0.0
python-lsp-server             1.4.1       /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/python-lsp-server
python-slugify                6.1.2
pytz                          2022.1
pyxdg                         0.27
pyzmq                         23.0.0
QDarkStyle                    3.0.3       /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/qdarkstyle
qstylizer                     0.2.1
QtAwesome                     1.1.1
qtconsole                     5.4.0.dev0  /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/qtconsole
QtPy                          2.1.0
requests                      2.27.1
rope                          1.0.0
Rtree                         1.0.0
scipy                         1.8.1
setuptools                    62.3.2
six                           1.16.0
snowballstemmer               2.2.0
sortedcontainers              2.4.0
soupsieve                     2.3.2.post1
Sphinx                        4.5.0
sphinxcontrib-applehelp       1.0.2
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
spyder                        5.4.0.dev0
spyder-kernels                2.4.0.dev0  /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/spyder-kernels
spyder-terminal               1.2.2
sympy                         1.10.1
terminado                     0.15.0
text-unidecode                1.3
textdistance                  4.2.2
three-merge                   0.1.1
tinycss2                      1.1.1
toml                          0.10.2
tomli                         2.0.1
tornado                       6.1
traitlets                     5.2.1.post0
ujson                         5.3.0
urllib3                       1.26.9
watchdog                      2.1.8
wcwidth                       0.2.5
webencodings                  0.5.1
wheel                         0.37.1
wrapt                         1.14.1
wurlitzer                     3.0.2
yapf                          0.32.0
zipp                          3.8.0
Conda environment
Package                       Version     Editable project location
----------------------------- ----------- -------------------------------------------------------------------------------
alabaster                     0.7.12
applaunchservices             0.2.1
appnope                       0.1.3
arrow                         1.2.2
astroid                       2.11.5
atomicwrites                  1.4.0
attrs                         21.4.0
autopep8                      1.6.0
Babel                         2.10.1
backcall                      0.2.0
backports.functools-lru-cache 1.6.4
bcrypt                        3.2.2
beautifulsoup4                4.11.1
binaryornot                   0.4.4
black                         22.3.0
bleach                        5.0.0
brotlipy                      0.7.0
certifi                       2022.5.18.1
cffi                          1.15.0
chardet                       4.0.0
charset-normalizer            2.0.12
click                         8.1.3
cloudpickle                   2.1.0
colorama                      0.4.4
coloredlogs                   15.0.1
cookiecutter                  1.7.3
coverage                      6.3.3
cryptography                  37.0.1
cycler                        0.11.0
Cython                        0.29.30
dataclasses                   0.8
debugpy                       1.6.0
decorator                     5.1.1
defusedxml                    0.7.1
diff-match-patch              20200713
dill                          0.3.5.1
docutils                      0.17.1
entrypoints                   0.4
fastjsonschema                2.15.3
flake8                        4.0.1
flaky                         3.7.0
fonttools                     4.33.3
gmpy2                         2.1.2
humanfriendly                 10.0
idna                          3.3
imagesize                     1.3.0
importlib-metadata            4.11.3
importlib-resources           5.7.1
inflection                    0.5.1
iniconfig                     1.1.1
intervaltree                  3.0.2
ipykernel                     6.13.0
ipython                       7.33.0
ipython-genutils              0.2.0
isort                         5.10.1
jedi                          0.18.1
jellyfish                     0.9.0
Jinja2                        3.0.3
jinja2-time                   0.2.0
jsonschema                    4.5.1
jupyter-client                7.3.1
jupyter-core                  4.10.0
jupyterlab-pygments           0.2.2
keyring                       23.4.0
kiwisolver                    1.4.2
lazy-object-proxy             1.7.1
MarkupSafe                    2.1.1
matplotlib                    3.5.2
matplotlib-inline             0.1.3
mccabe                        0.6.1
mistune                       0.8.4
mpmath                        1.2.1
munkres                       1.1.4
mypy-extensions               0.4.3
nbclient                      0.6.3
nbconvert                     6.5.0
nbformat                      5.4.0
nest-asyncio                  1.5.5
numpy                         1.22.3
numpydoc                      1.3.1
packaging                     21.3
pandas                        1.4.2
pandocfilters                 1.5.0
paramiko                      2.11.0
parso                         0.8.3
pathspec                      0.9.0
pexpect                       4.8.0
pickleshare                   0.7.5
Pillow                        9.1.1
pip                           22.0.4
platformdirs                  2.5.1
pluggy                        1.0.0
poyo                          0.5.0
prompt-toolkit                3.0.29
psutil                        5.9.1
ptyprocess                    0.7.0
py                            1.11.0
pycodestyle                   2.8.0
pycparser                     2.21
pydocstyle                    6.1.1
pyflakes                      2.4.0
Pygments                      2.12.0
pylint                        2.13.9
pyls-spyder                   0.4.0
PyNaCl                        1.5.0
pyOpenSSL                     22.0.0
pyparsing                     3.0.9
PyQt5                         5.12.3
PyQt5_sip                     4.19.18
PyQtChart                     5.12
PyQtWebEngine                 5.12.1
pyrsistent                    0.18.1
PySocks                       1.7.1
pytest                        6.2.5
pytest-cov                    3.0.0
pytest-lazy-fixture           0.6.3
pytest-mock                   3.7.0
pytest-order                  1.0.1
pytest-qt                     4.0.2
python-dateutil               2.8.2
python-lsp-black              1.2.1
python-lsp-jsonrpc            1.0.0
python-lsp-server             1.4.1       /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/python-lsp-server
python-slugify                6.1.2
pytz                          2022.1
pyxdg                         0.27
PyYAML                        6.0
pyzmq                         23.0.0
QDarkStyle                    3.0.3       /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/qdarkstyle
qstylizer                     0.2.1
QtAwesome                     1.1.1
qtconsole                     5.4.0.dev0  /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/qtconsole
QtPy                          2.1.0
requests                      2.27.1
rope                          1.0.0
Rtree                         1.0.0
scipy                         1.8.1
setuptools                    62.3.2
six                           1.16.0
snowballstemmer               2.2.0
sortedcontainers              2.4.0
soupsieve                     2.3.1
Sphinx                        4.5.0
sphinxcontrib-applehelp       1.0.2
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
spyder                        5.4.0.dev0
spyder-kernels                2.4.0.dev0  /Users/rclary/Documents/Repos/Spyder-IDE/spyder/external-deps/spyder-kernels
spyder-terminal               1.2.2
sympy                         1.10.1
terminado                     0.15.0
text-unidecode                1.3
textdistance                  4.2.2
three-merge                   0.1.1
tinycss2                      1.1.1
toml                          0.10.2
tomli                         2.0.1
tornado                       6.1
traitlets                     5.2.1.post0
typed-ast                     1.5.3
typing_extensions             4.2.0
ujson                         5.3.0
unicodedata2                  14.0.0
Unidecode                     1.3.4
urllib3                       1.26.9
watchdog                      2.1.8
wcwidth                       0.2.5
webencodings                  0.5.1
wheel                         0.37.1
wrapt                         1.14.1
wurlitzer                     3.0.2
yapf                          0.32.0
zipp                          3.8.0

@mrclary
Copy link
Contributor Author

mrclary commented May 21, 2022

This actually does affect conda environments as well. The above pip lists reveal a difference in that the pyenv environment had PyQt5 5.15.6 and conda had PyQt5 5.12.3. The conda environment was built with micromamba, so there is a problem with their package resolver, since building the same environment with mamba provides PyQt5 5.15.4. This conda environment does manifest the OP behavior.

@mrclary
Copy link
Contributor Author

mrclary commented May 21, 2022

I don't know if this is a PyQt5 5.15.x bug or if this is on our end...

@ccordoba12
Copy link
Member

I think this is an issue with PyQt 5.15 and the code we use to save layouts, but I don't know why it happens.

@dalthviz, please take a look at this one.

@dalthviz
Copy link
Member

Just in case, checking on Windows I was able to experience an even stranger behavior. For me the panes on the first vertical space get also a lot of horizontal space:

imagen

@mrclary
Copy link
Contributor Author

mrclary commented May 23, 2022

Just in case, checking on Windows I was able to experience an even stranger behavior. For me the panes on the first vertical space get also a lot of horizontal space:

Although not shown in my original gif posted, I also see this at times on macOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants