Skip to content

Two Spyder icons on Windows taskbar #426

@mrclary

Description

@mrclary

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

What happened?

After a shortcut is created and the user pins the shortcut to the taskbar, launching the application from the taskbar results in two taskbar icons.
See spyder-ide/spyder#24292.

Expect only one taskbar icon.

Note: the expected behavior is observed if, and only if, "app_user_model_id": "spyder.spyder"

Conda Info

active environment : base
    active env location : C:\Users\rclary\AppData\Local\miniforge3
            shell level : 1
       user config file : C:\Users\rclary\.condarc
 populated config files : C:\Users\rclary\AppData\Local\miniforge3\.condarc
                          C:\Users\rclary\.condarc
          conda version : 25.11.0
    conda-build version : 25.11.1
         python version : 3.12.11.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=icelake
                          __conda=25.11.0=0
                          __cuda=0=0
                          __win=10.0.26100=0
       base environment : C:\Users\rclary\AppData\Local\miniforge3  (writable)
      conda av data dir : C:\Users\rclary\AppData\Local\miniforge3\etc\conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/nodefaults/win-64
                          https://conda.anaconda.org/nodefaults/noarch
          package cache : C:\Users\rclary\AppData\Local\miniforge3\pkgs
                          C:\Users\rclary\.conda\pkgs
                          C:\Users\rclary\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\rclary\.conda\envs
                          C:\Users\rclary\AppData\Local\miniforge3\envs
                          C:\Users\rclary\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/25.11.0 requests/2.32.4 CPython/3.12.11 Windows/11 Windows/10.0.26100 solver/libmamba conda-libmamba-solver/25.4.0 libmambapy/2.1.1
          administrator : False
             netrc file : None
           offline mode : False

Conda Config

==> C:\Users\rclary\AppData\Local\miniforge3\.condarc <==
channels:
  - conda-forge

==> C:\Users\rclary\.condarc <==
envs_dirs:
  - C:\Users\rclary\.conda\envs
channels:
  - conda-forge
  - nodefaults
custom_multichannels:
  local: ('file:///C:/Users/rclary/.conda/conda-bld',)
show_channel_urls: True

==> envvars <==
allow_softlinks: False

Conda list

# packages in environment at C:\Users\rclary\AppData\Local\miniforge3:
#
# Name                         Version          Build               Channel
annotated-types                0.7.0            pyhd8ed1ab_1        conda-forge
appdirs                        1.4.4            pyhd8ed1ab_1        conda-forge
archspec                       0.2.5            pyhd8ed1ab_0        conda-forge
attrs                          25.4.0           pyhcf101f3_1        conda-forge
backports                      1.0              pyhd8ed1ab_5        conda-forge
backports.tarfile              1.2.0            pyhd8ed1ab_1        conda-forge
beautifulsoup4                 4.14.3           pyha770c72_0        conda-forge
boltons                        25.0.0           pyhd8ed1ab_0        conda-forge
brotli-python                  1.1.0            py312h275cf98_3     conda-forge
bzip2                          1.0.8            h2466b09_7          conda-forge
ca-certificates                2025.11.12       h4c7d964_0          conda-forge
cachecontrol                   0.14.3           pyha770c72_0        conda-forge
cachecontrol-with-filecache    0.14.3           pyhd8ed1ab_0        conda-forge
certifi                        2025.11.12       pyhd8ed1ab_0        conda-forge
cffi                           1.17.1           py312h4389bb4_0     conda-forge
chardet                        5.2.0            pyhd8ed1ab_3        conda-forge
charset-normalizer             3.4.2            pyhd8ed1ab_0        conda-forge
click                          8.2.1            pyh7428d3b_0        conda-forge
click-default-group            1.2.4            pyhd8ed1ab_1        conda-forge
colorama                       0.4.6            pyhd8ed1ab_1        conda-forge
conda                          25.11.0          py312h2e8e312_0     conda-forge
conda-build                    25.11.1          py312h5ae4e53_0     conda-forge
conda-index                    0.7.0            pyhd8ed1ab_0        conda-forge
conda-libmamba-solver          25.4.0           pyhd8ed1ab_0        conda-forge
conda-lock                     3.0.4            pyha6a9232_1        conda-forge
conda-package-handling         2.4.0            pyh7900ff3_2        conda-forge
conda-package-streaming        0.12.0           pyhd8ed1ab_0        conda-forge
cpp-expected                   1.1.0            hc790b64_1          conda-forge
crashtest                      0.4.1            pyhd8ed1ab_1        conda-forge
distlib                        0.4.0            pyhd8ed1ab_0        conda-forge
distro                         1.9.0            pyhd8ed1ab_1        conda-forge
dulwich                        0.22.8           py312h2615798_0     conda-forge
ensureconda                    1.4.7            pyh29332c3_0        conda-forge
evalidate                      2.0.5            pyhe01879c_0        conda-forge
filelock                       3.19.1           pyhd8ed1ab_0        conda-forge
fmt                            11.1.4           h5f12afc_1          conda-forge
frozendict                     2.4.6            py312h4389bb4_0     conda-forge
gitdb                          4.0.12           pyhd8ed1ab_0        conda-forge
gitpython                      3.1.45           pyhff2d567_0        conda-forge
h2                             4.2.0            pyhd8ed1ab_0        conda-forge
hpack                          4.1.0            pyhd8ed1ab_0        conda-forge
hyperframe                     6.1.0            pyhd8ed1ab_0        conda-forge
idna                           3.10             pyhd8ed1ab_1        conda-forge
importlib-metadata             8.7.0            pyhe01879c_1        conda-forge
importlib_resources            6.5.2            pyhd8ed1ab_0        conda-forge
jaraco.classes                 3.4.0            pyhd8ed1ab_2        conda-forge
jaraco.context                 6.0.1            pyhd8ed1ab_0        conda-forge
jaraco.functools               4.3.0            pyhd8ed1ab_0        conda-forge
jinja2                         3.1.6            pyhd8ed1ab_0        conda-forge
jsonpatch                      1.33             pyhd8ed1ab_1        conda-forge
jsonpointer                    3.0.0            py312h2e8e312_1     conda-forge
jsonschema                     4.25.1           pyhe01879c_0        conda-forge
jsonschema-specifications      2025.9.1         pyhcf101f3_0        conda-forge
keyring                        25.6.0           pyh7428d3b_0        conda-forge
krb5                           1.21.3           hdf4eb48_0          conda-forge
libarchive                     3.7.7            h5343c79_4          conda-forge
libcurl                        8.14.1           h88aaa65_0          conda-forge
libexpat                       2.7.1            hac47afa_0          conda-forge
libffi                         3.4.6            h537db12_1          conda-forge
libiconv                       1.18             h135ad9c_1          conda-forge
liblief                        0.16.6           hac47afa_1          conda-forge
liblzma                        5.8.1            h2466b09_2          conda-forge
libmamba                       2.1.1            h00a3e12_0          conda-forge
libmambapy                     2.1.1            py312h259b449_0     conda-forge
libsolv                        0.7.34           h8883371_0          conda-forge
libsqlite                      3.50.3           hf5d6505_1          conda-forge
libssh2                        1.11.1           h9aa295b_0          conda-forge
libxml2                        2.13.8           h442d1da_0          conda-forge
libzlib                        1.3.1            h2466b09_2          conda-forge
lz4-c                          1.10.0           h2466b09_1          conda-forge
lzo                            2.10             hcfcfb64_1001       conda-forge
m2-conda-epoch                 20250515         0_x86_64            conda-forge
m2-msys2-runtime               3.6.1.4          hc364b38_6          conda-forge
m2-patch                       2.7.6.3          hc364b38_6          conda-forge
mamba                          2.1.1            hbfb34a1_0          conda-forge
markupsafe                     3.0.2            py312h31fea79_1     conda-forge
mbedtls                        3.6.3.1          he0c23c2_0          conda-forge
menuinst                       2.4.1            py312hbb81ca0_0     conda-forge
miniforge_console_shortcut     1.0              h57928b3_0          conda-forge
more-itertools                 10.7.0           pyhd8ed1ab_0        conda-forge
msgpack-python                 1.1.1            py312hd5eb7cc_0     conda-forge
nlohmann_json                  3.11.3           he0c23c2_1          conda-forge
openssl                        3.6.0            h725018a_0          conda-forge
packaging                      25.0             pyh29332c3_1        conda-forge
pip                            25.1.1           pyh8b19718_0        conda-forge
pkginfo                        1.12.1.2         pyhd8ed1ab_0        conda-forge
platformdirs                   4.3.8            pyhe01879c_0        conda-forge
pluggy                         1.6.0            pyhd8ed1ab_0        conda-forge
psutil                         7.1.3            py312he5662c2_0     conda-forge
py-lief                        0.16.6           py312hbb81ca0_1     conda-forge
pybind11-abi                   4                hd8ed1ab_3          conda-forge
pycosat                        0.6.6            py312h4389bb4_2     conda-forge
pycparser                      2.22             pyh29332c3_1        conda-forge
pydantic                       2.11.7           pyh3cfb1c2_0        conda-forge
pydantic-core                  2.33.2           py312h8422cdd_0     conda-forge
pyproject_hooks                1.2.0            pyhd8ed1ab_1        conda-forge
pysocks                        1.7.1            pyh09c184e_7        conda-forge
python                         3.12.11          h3f84c4b_0_cpython  conda-forge
python-build                   1.3.0            pyhff2d567_0        conda-forge
python-fastjsonschema          2.21.2           pyhe01879c_0        conda-forge
python-installer               0.7.0            pyhff2d567_1        conda-forge
python-libarchive-c            5.3              pyhe01879c_1        conda-forge
python_abi                     3.12             8_cp312             conda-forge
pytz                           2025.2           pyhd8ed1ab_0        conda-forge
pywin32-ctypes                 0.2.3            py312h2e8e312_1     conda-forge
pyyaml                         6.0.2            py312h31fea79_2     conda-forge
referencing                    0.37.0           pyhcf101f3_0        conda-forge
reproc                         14.2.5.post0     h2466b09_0          conda-forge
reproc-cpp                     14.2.5.post0     he0c23c2_0          conda-forge
requests                       2.32.4           pyhd8ed1ab_0        conda-forge
requests-toolbelt              1.0.0            pyhd8ed1ab_1        conda-forge
ripgrep                        15.1.0           h77a83cd_0          conda-forge
rpds-py                        0.30.0           py312hdabe01f_0     conda-forge
ruamel.yaml                    0.18.14          py312h4389bb4_0     conda-forge
ruamel.yaml.clib               0.2.8            py312h4389bb4_1     conda-forge
semver                         3.0.4            pyhd8ed1ab_0        conda-forge
setuptools                     80.9.0           pyhff2d567_0        conda-forge
shellingham                    1.5.4            pyhd8ed1ab_1        conda-forge
simdjson                       3.12.3           hc790b64_0          conda-forge
smmap                          5.0.2            pyhd8ed1ab_0        conda-forge
soupsieve                      2.8              pyhd8ed1ab_0        conda-forge
tk                             8.6.13           h2c6b04d_2          conda-forge
tomli                          2.2.1            pyhe01879c_2        conda-forge
tomlkit                        0.13.3           pyha770c72_0        conda-forge
tqdm                           4.67.1           pyhd8ed1ab_1        conda-forge
trove-classifiers              2025.8.6.13      pyhd8ed1ab_0        conda-forge
truststore                     0.10.1           pyh29332c3_0        conda-forge
typing-extensions              4.14.1           h4440ef1_0          conda-forge
typing-inspection              0.4.1            pyhd8ed1ab_0        conda-forge
typing_extensions              4.14.1           pyhe01879c_0        conda-forge
tzdata                         2025b            h78e105d_0          conda-forge
ucrt                           10.0.22621.0     h57928b3_1          conda-forge
urllib3                        2.5.0            pyhd8ed1ab_0        conda-forge
vc                             14.3             h41ae7f8_31         conda-forge
vc14_runtime                   14.44.35208      h818238b_31         conda-forge
vcomp14                        14.44.35208      h818238b_31         conda-forge
virtualenv                     20.34.0          pyhd8ed1ab_0        conda-forge
wheel                          0.45.1           pyhd8ed1ab_1        conda-forge
win_inet_pton                  1.1.0            pyh7428d3b_8        conda-forge
yaml                           0.2.5            h6a83c73_3          conda-forge
yaml-cpp                       0.8.0            he0c23c2_0          conda-forge
zipp                           3.23.0           pyhd8ed1ab_0        conda-forge
zstandard                      0.23.0           py312h4389bb4_2     conda-forge
zstd                           1.5.7            hbeecb71_2          conda-forge

Additional Context

To reproduce:

  1. Install Spyder.
    conda create -n spy611 python=3.12 spyder=6.1.1
    
  2. Pin the shortcut to the taskbar, launch, and notice two icons.
  3. Unpin from the taskbar and remove the shortcut.
    menuinst --prefix C:\Users\rclary\.conda\envs\spy611 --remove spyder
    
  4. Modify spyder-menu.json to have "app_user_model_id": "spyder.spyder".
  5. Create shortcut.
    menuinst --prefix C:\Users\rclary\.conda\envs\spy611 --install spyder
    
  6. Pin the shortcut to the taskbar, launch, and notice only one icon, as expected.

I've tried this with conda=24.5.0 and conda=25.11.0; menuinst=2.1.2, menuinst=2.3.1, and menuinst=2.4.1. All exhibiting the same behavior. I've also tried various values of app_user_model_id:

  • Any variation in the capitalization of spyder.spyder works properly, e.g. Spyder.Spyder, SPYDER.SPYDER, ...
  • Any variation other than capitalization results in two icons, e.g. spyderide.Spyder6, spyder-ide.spyder, spyde6.spyder, ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    type::bugdescribes erroneous operation, use severity::* to classify the type

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions