Application icon fixes - #337
Closed
pinotree wants to merge 4 commits into
Closed
Conversation
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.
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.
Contributor
|
Superseded by #464 |
mrjimenez
pushed a commit
to mrjimenez/amule
that referenced
this pull request
Jul 7, 2026
…-application Translations update from Weblate
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
amulegui.xpmin cmake in the same way it is done with autotools