[KDE/Mac] Review Request 128162: ecm_add_app_icon : accept SVG icons on OS X when KIconThemes is installed (WIP)

René J.V. Bertin rjvbertin at gmail.com
Tue Jun 14 13:41:35 UTC 2016



> On June 12, 2016, 8:14 p.m., René J.V. Bertin wrote:
> > modules/ECMAddAppIcon.cmake, line 82
> > <https://git.reviewboard.kde.org/r/128162/diff/1/?file=468331#file468331line82>
> >
> >     Note to self: there must be a better way to take only the 1st file if more than 1 is given? (RTFM...)
> 
> Aleix Pol Gonzalez wrote:
>     Ping to your self note?
> 
> René J.V. Bertin wrote:
>     I haven't yet had the time to dive into this question or even think about how to formulate a useful Google search. (But if someone has the answer or a pointer I'm not too proud to take it ;))

How about this alternative which makes the issue a bit of a moot point:

Currently, `ecm_add_app_icon` takes a list of png images, and uses `iconutil` to generate an `icns` resource from the usable images. AFAICT pixmaps in deviant sizes are simply ignored as long as `iconutil` doesn't raise any errors.
I could do something vaguele comparable while processing .svg input files: loop over all arguments and return after the first successful conversion. Typically that would be after the 1st (and usually only) file, but this method would also allow developers to specify multiple locations to search, if the svg file isn't shipped with the project. That might be of use for building when there's no standard icon theme directory.


- René J.V.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128162/#review96381
-----------------------------------------------------------


On June 12, 2016, 8:12 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128162/
> -----------------------------------------------------------
> 
> (Updated June 12, 2016, 8:12 p.m.)
> 
> 
> Review request for Extra Cmake Modules and KDE Software on Mac OS X.
> 
> 
> Repository: extra-cmake-modules
> 
> 
> Description
> -------
> 
> KIconThemes installs a nice little utility on OS X which generates a very complete `.icns` icon file from SVG and compressed SVG.
> I've made a quick modification to `ecm_add_app_icon` so that it will use that utility on OS X, when `ksvg2icns` is found in the path and when the icon extension is `.svg` or `.svgz` (or else it will go about its business as usual). 
> If `ksvg2icns` fails an `AUTHOR_WARNING` is posted, otherwise the icon is registered and the function returns to its caller.
> 
> I haven't taken any steps to ensure that only a single SVG image is passed in; I presume that the current implementation will lead to ksvg2icns failure when multiple files are specified.
> 
> The advantage of using SVG images is that any image will do. This is particularly useful for projects that do not provide their own icon files. In most cases that means that one has to work with icons that are not named appropriately, and that require creating temporary copies or symlinks in the build directory with names that are acceptable to `ecm_add_app_icon`.
> 
> 
> Diffs
> -----
> 
>   modules/ECMAddAppIcon.cmake ca64314 
> 
> Diff: https://git.reviewboard.kde.org/r/128162/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.9 with my MacPorts install (KF5 5.22.0 and Qt 5.6.0 in /opt/local), using kdesvn as a test-app.
> 
> 
> File Attachments
> ----------------
> 
> screenshot of the Finder's Get Info window for kdesvn5; icon created from `sc-apps-kdesvn.svgz`
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/06/12/40eeb46f-814e-463f-ab9b-28fe938a6261__Screen_Shot_2016-06-12_at_20.07.51.png
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160614/9058d585/attachment-0001.html>


More information about the kde-mac mailing list