Skip to content

Application icon fixes - #337

Closed
pinotree wants to merge 4 commits into
amule-project:masterfrom
pinotree:icon-fixes
Closed

Application icon fixes#337
pinotree wants to merge 4 commits into
amule-project:masterfrom
pinotree:icon-fixes

Conversation

@pinotree

Copy link
Copy Markdown
  • install the PNG version of the application icon in the XDG hicolor icon theme
  • drop the XPM version of the application icon, no more needed since the PNG version is properly shipped
  • install amulegui.xpm in cmake in the same way it is done with autotools
  • drop a no more needed XPM icon

pinotree added 4 commits July 10, 2022 08:45
Install the 128px PNG application icon in the XDG hicolor icon theme,
so it is used as icon for the desktop file.
Now that the PNG version of the application icon is properly installed,
the XPM version is no more needed. Hence drop it, together with any
other reference that install a version with the same name.
Install the top-level amulegui.xpm for amulegui rather than
src/aMule.xpm (which is not even square); this way, both autotools and
cmake install the same icon for amulegui.
@mrjimenez

Copy link
Copy Markdown
Contributor

Does not compile on my machine.

Fix the conflicts and the problem:

[ 98%] Building CXX object src/CMakeFiles/amule.dir/PartFileConvertDlg.cpp.o
In file included from /usr/include/wx-3.2/wx/event.h:21,
                 from /usr/include/wx-3.2/wx/app.h:19,
                 from /home/user/programs/amule/cvswork/amule/src/amuleDlg.cpp:26:
/home/user/programs/amule/cvswork/amule/src/amuleDlg.cpp: In constructor ‘CamuleDlg::CamuleDlg(wxWindow*, const wxString&, wxPoint, wxSize)’:
/home/user/programs/amule/cvswork/amule/src/amuleDlg.cpp:212:24: error: ‘aMule_xpm’ was not declared in this scope
  212 |         SetIcon(wxICON(aMule));
      |                        ^~~~~
gmake[2]: *** [src/CMakeFiles/amule.dir/build.make:863: src/CMakeFiles/amule.dir/amuleDlg.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:582: src/CMakeFiles/amule.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2

got3nks added a commit to got3nks/amule that referenced this pull request Apr 23, 2026
Linux, Windows and macOS aMule builds were each missing a piece of
the application-icon story:

* **Linux**: amule.png existed in the repo but was never installed,
  so the GTK/KDE/Wayland desktop menu, taskbar and panel couldn't
  resolve `Icon=amule` from amule.desktop and fell back to a generic
  icon.

* **Windows**: amule.rc already declared `amule ICON "amule.ico"` but
  was not referenced from CMakeLists, so windres never embedded the
  icon into the .exe. Explorer file icon, window title bar and
  taskbar all showed Windows' default icon.

* **macOS**: the monolithic aMule target is a .app bundle with
  amule.icns, but amulegui (remote-control GUI) was built as a bare
  executable with no bundle. Launching it gave no Dock icon, no
  proper menu bar and macOS treated it like a CLI tool.

Fixes:

1. Install amule.png into $(datadir)/icons/hicolor/128x128/apps for
   BUILD_MONOLITHIC, on both CMake and autotools. The legacy XPM at
   $(datadir)/pixmaps stays as a fallback.

2. Pull src/amule.rc into target_sources of every WIN32 executable
   alongside version.rc, so windres embeds the .ico. SetIcon(wxICON(aMule))
   in src/amuleDlg.cpp:216 now also resolves on Windows (it was
   already working on GTK via src/aMule.xpm).

3. Give amulegui the same APPLE block that the monolithic aMule has:
   MACOSX_BUNDLE, amule.icns copied into Contents/Resources, ATS
   opt-out via plutil POST_BUILD, install(BUNDLE DESTINATION .).
   Produces aMuleGUI.app with its own Dock/menu/lifecycle identity
   (bundle ID org.amule.aMuleGUI).

PR amule-project#337 proposed the hicolor install for Linux but this is softer
(keeps the XPM fallback) and also handles the Windows and macOS
amulegui gaps, which PR amule-project#337 did not touch.
got3nks added a commit to got3nks/amule that referenced this pull request Apr 23, 2026
Linux, Windows and macOS aMule builds were each missing a piece of
the application-icon story:

* **Linux**: amule.png existed in the repo but was never installed,
  so the GTK/KDE/Wayland desktop menu, taskbar and panel couldn't
  resolve `Icon=amule` from amule.desktop and fell back to a generic
  icon.

* **Windows**: amule.rc already declared `amule ICON "amule.ico"` but
  was not referenced from CMakeLists, so windres never embedded the
  icon into the .exe. Explorer file icon, window title bar and
  taskbar all showed Windows' default icon.

* **macOS**: the monolithic aMule target is a .app bundle with
  amule.icns, but amulegui (remote-control GUI) was built as a bare
  executable with no bundle. Launching it gave no Dock icon, no
  proper menu bar and macOS treated it like a CLI tool.

Fixes:

1. Install amule.png into $(datadir)/icons/hicolor/128x128/apps for
   BUILD_MONOLITHIC, on both CMake and autotools. The legacy XPM at
   $(datadir)/pixmaps stays as a fallback.

2. Pull src/amule.rc into target_sources of every WIN32 executable
   alongside version.rc, so windres embeds the .ico. SetIcon(wxICON(aMule))
   in src/amuleDlg.cpp:216 now also resolves on Windows (it was
   already working on GTK via src/aMule.xpm).

3. Give amulegui the same APPLE block that the monolithic aMule has:
   MACOSX_BUNDLE, amule.icns copied into Contents/Resources, ATS
   opt-out via plutil POST_BUILD, install(BUNDLE DESTINATION .).
   Produces aMuleGUI.app with its own Dock/menu/lifecycle identity
   (bundle ID org.amule.aMuleGUI).

PR amule-project#337 proposed the hicolor install for Linux but this is softer
(keeps the XPM fallback) and also handles the Windows and macOS
amulegui gaps, which PR amule-project#337 did not touch.
got3nks added a commit to got3nks/amule that referenced this pull request Apr 23, 2026
Linux, Windows and macOS aMule builds were each missing a piece of
the application-icon story:

* **Linux**: amule.png existed in the repo but was never installed,
  so the GTK/KDE/Wayland desktop menu, taskbar and panel couldn't
  resolve `Icon=amule` from amule.desktop and fell back to a generic
  icon.

* **Windows**: amule.rc already declared `amule ICON "amule.ico"` but
  was not referenced from CMakeLists, so windres never embedded the
  icon into the .exe. Explorer file icon, window title bar and
  taskbar all showed Windows' default icon.

* **macOS**: the monolithic aMule target is a .app bundle with
  amule.icns, but amulegui (remote-control GUI) was built as a bare
  executable with no bundle. Launching it gave no Dock icon, no
  proper menu bar and macOS treated it like a CLI tool.

Fixes:

1. Install amule.png into $(datadir)/icons/hicolor/128x128/apps for
   BUILD_MONOLITHIC, on both CMake and autotools. The legacy XPM at
   $(datadir)/pixmaps stays as a fallback.

2. Pull src/amule.rc into target_sources of every WIN32 executable
   alongside version.rc, so windres embeds the .ico. SetIcon(wxICON(aMule))
   in src/amuleDlg.cpp:216 now also resolves on Windows (it was
   already working on GTK via src/aMule.xpm).

3. Give amulegui the same APPLE block that the monolithic aMule has:
   MACOSX_BUNDLE, amule.icns copied into Contents/Resources, ATS
   opt-out via plutil POST_BUILD, install(BUNDLE DESTINATION .).
   Produces aMuleGUI.app with its own Dock/menu/lifecycle identity
   (bundle ID org.amule.aMuleGUI).

PR amule-project#337 proposed the hicolor install for Linux but this is softer
(keeps the XPM fallback) and also handles the Windows and macOS
amulegui gaps, which PR amule-project#337 did not touch.
got3nks added a commit to got3nks/amule that referenced this pull request Apr 23, 2026
Linux, Windows and macOS aMule builds were each missing a piece of
the application-icon story:

* **Linux**: amule.png existed in the repo but was never installed,
  so the GTK/KDE/Wayland desktop menu, taskbar and panel couldn't
  resolve `Icon=amule` from amule.desktop and fell back to a generic
  icon.

* **Windows**: amule.rc already declared `amule ICON "amule.ico"` but
  was not referenced from CMakeLists, so windres never embedded the
  icon into the .exe. Explorer file icon, window title bar and
  taskbar all showed Windows' default icon.

* **macOS**: the monolithic aMule target is a .app bundle with
  amule.icns, but amulegui (remote-control GUI) was built as a bare
  executable with no bundle. Launching it gave no Dock icon, no
  proper menu bar and macOS treated it like a CLI tool.

Fixes:

1. Install amule.png into $(datadir)/icons/hicolor/128x128/apps for
   BUILD_MONOLITHIC, on both CMake and autotools. The legacy XPM at
   $(datadir)/pixmaps stays as a fallback.

2. Pull src/amule.rc into target_sources of every WIN32 executable
   alongside version.rc, so windres embeds the .ico. SetIcon(wxICON(aMule))
   in src/amuleDlg.cpp:216 now also resolves on Windows (it was
   already working on GTK via src/aMule.xpm).

3. Give amulegui the same APPLE block that the monolithic aMule has:
   MACOSX_BUNDLE, amule.icns copied into Contents/Resources, ATS
   opt-out via plutil POST_BUILD, install(BUNDLE DESTINATION .).
   Produces aMuleGUI.app with its own Dock/menu/lifecycle identity
   (bundle ID org.amule.aMuleGUI).

PR amule-project#337 proposed the hicolor install for Linux but this is softer
(keeps the XPM fallback) and also handles the Windows and macOS
amulegui gaps, which PR amule-project#337 did not touch.
got3nks added a commit to got3nks/amule that referenced this pull request Apr 23, 2026
Linux, Windows and macOS aMule builds were each missing a piece of
the application-icon story:

* **Linux**: amule.png existed in the repo but was never installed,
  so the GTK/KDE/Wayland desktop menu, taskbar and panel couldn't
  resolve `Icon=amule` from amule.desktop and fell back to a generic
  icon.

* **Windows**: amule.rc already declared `amule ICON "amule.ico"` but
  was not referenced from CMakeLists, so windres never embedded the
  icon into the .exe. Explorer file icon, window title bar and
  taskbar all showed Windows' default icon.

* **macOS**: the monolithic aMule target is a .app bundle with
  amule.icns, but amulegui (remote-control GUI) was built as a bare
  executable with no bundle. Launching it gave no Dock icon, no
  proper menu bar and macOS treated it like a CLI tool.

Fixes:

1. Install amule.png into $(datadir)/icons/hicolor/128x128/apps for
   BUILD_MONOLITHIC, on both CMake and autotools. The legacy XPM at
   $(datadir)/pixmaps stays as a fallback.

2. Pull src/amule.rc into target_sources of every WIN32 executable
   alongside version.rc, so windres embeds the .ico. SetIcon(wxICON(aMule))
   in src/amuleDlg.cpp:216 now also resolves on Windows (it was
   already working on GTK via src/aMule.xpm).

3. Give amulegui the same APPLE block that the monolithic aMule has:
   MACOSX_BUNDLE, amule.icns copied into Contents/Resources, ATS
   opt-out via plutil POST_BUILD, install(BUNDLE DESTINATION .).
   Produces aMuleGUI.app with its own Dock/menu/lifecycle identity
   (bundle ID org.amule.aMuleGUI).

PR amule-project#337 proposed the hicolor install for Linux but this is softer
(keeps the XPM fallback) and also handles the Windows and macOS
amulegui gaps, which PR amule-project#337 did not touch.
mrjimenez pushed a commit that referenced this pull request Apr 23, 2026
Linux, Windows and macOS aMule builds were each missing a piece of
the application-icon story:

* **Linux**: amule.png existed in the repo but was never installed,
  so the GTK/KDE/Wayland desktop menu, taskbar and panel couldn't
  resolve `Icon=amule` from amule.desktop and fell back to a generic
  icon.

* **Windows**: amule.rc already declared `amule ICON "amule.ico"` but
  was not referenced from CMakeLists, so windres never embedded the
  icon into the .exe. Explorer file icon, window title bar and
  taskbar all showed Windows' default icon.

* **macOS**: the monolithic aMule target is a .app bundle with
  amule.icns, but amulegui (remote-control GUI) was built as a bare
  executable with no bundle. Launching it gave no Dock icon, no
  proper menu bar and macOS treated it like a CLI tool.

Fixes:

1. Install amule.png into $(datadir)/icons/hicolor/128x128/apps for
   BUILD_MONOLITHIC, on both CMake and autotools. The legacy XPM at
   $(datadir)/pixmaps stays as a fallback.

2. Pull src/amule.rc into target_sources of every WIN32 executable
   alongside version.rc, so windres embeds the .ico. SetIcon(wxICON(aMule))
   in src/amuleDlg.cpp:216 now also resolves on Windows (it was
   already working on GTK via src/aMule.xpm).

3. Give amulegui the same APPLE block that the monolithic aMule has:
   MACOSX_BUNDLE, amule.icns copied into Contents/Resources, ATS
   opt-out via plutil POST_BUILD, install(BUNDLE DESTINATION .).
   Produces aMuleGUI.app with its own Dock/menu/lifecycle identity
   (bundle ID org.amule.aMuleGUI).

PR #337 proposed the hicolor install for Linux but this is softer
(keeps the XPM fallback) and also handles the Windows and macOS
amulegui gaps, which PR #337 did not touch.
@mrjimenez

Copy link
Copy Markdown
Contributor

Superseded by #464

@mrjimenez mrjimenez closed this Apr 23, 2026
mrjimenez pushed a commit to mrjimenez/amule that referenced this pull request Jul 7, 2026
…-application

Translations update from Weblate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants