Re: How to install icons for multiple themes

2017-04-22 Thread Albert Astals Cid
El dissabte, 22 d’abril de 2017, a les 1:25:18 CEST, Kevin Kofler va escriure:
> Albert Astals Cid wrote:
> > Humanity does not, ubuntu-mono does not either.
> 
> Of course Ubuntu has to do everything its own way. But I doubt KDE
> applications would want to install to those themes (through ECM) anyway.

I disagree, as a KDE application developer it is probably much easier to 
convince the breeze iconset developers to include your icon that it is to 
convince the Humanity iconset developers.

Cheers,
  Albert

> 
> The concrete problem at hand can easily be fixed in the Breeze icon theme.
> 
> Kevin Kofler




Re: How to install icons for multiple themes

2017-04-21 Thread Kevin Kofler
Albert Astals Cid wrote:
> Humanity does not, ubuntu-mono does not either.

Of course Ubuntu has to do everything its own way. But I doubt KDE 
applications would want to install to those themes (through ECM) anyway.

The concrete problem at hand can easily be fixed in the Breeze icon theme.

Kevin Kofler



Re: How to install icons for multiple themes

2017-04-21 Thread Albert Astals Cid
El divendres, 21 d’abril de 2017, a les 12:33:09 CEST, Kevin Kofler va 
escriure:
> Milian Wolff wrote:
> >> > ECM installs to e.g.:
> >> > 
> >> > /home/milian/projects/compiled/other/share/icons/breeze/16x16/apps/
> >> > hotspot.svgz
> >> > 
> >> > Strace shows me the nearest match it looks into:
> >> > /home/milian/projects/compiled/kf5/share/icons/breeze/apps/16/hotspot.s
> >> > vg
> 
> Pretty much ALL the other icon themes around use the 16x16/apps naming
> scheme.

Humanity does not, ubuntu-mono does not either.

Cheers,
  Albert


Re: How to install icons for multiple themes

2017-04-21 Thread Kevin Kofler
Matthias Klumpp wrote:
> And since the spec allows themes to define arbitrary layouts, there is
> technically nothing wrong with the Breeze theme.

IMHO, doing things differently just because you can, even if it breaks KDE's 
own ECM macros, is not helpful.

Kevin Kofler



Re: How to install icons for multiple themes

2017-04-21 Thread Matthias Klumpp
2017-04-21 12:33 GMT+02:00 Kevin Kofler :
> [...]
> I think it would really be helpful to make Breeze match the de-facto
> standard directory hierarchy.

I asked for this a while back (and also to have PNG additional to SVG
icons for rendering speed improvements) and the bug report was closed
without comment.
And since the spec allows themes to define arbitrary layouts, there is
technically nothing wrong with the Breeze theme.

In any case, ecm_install_icons makes assumptions which are not
guaranteed to be true...

-- 
Debian Developer | Freedesktop-Developer
I welcome VSRE emails. See http://vsre.info/


Re: How to install icons for multiple themes

2017-04-21 Thread Kevin Kofler
Milian Wolff wrote:
>> > ECM installs to e.g.:
>> > 
>> > /home/milian/projects/compiled/other/share/icons/breeze/16x16/apps/
>> > hotspot.svgz
>> > 
>> > Strace shows me the nearest match it looks into:
>> > /home/milian/projects/compiled/kf5/share/icons/breeze/apps/16/hotspot.svg

Pretty much ALL the other icon themes around use the 16x16/apps naming
scheme. I think it even used to be mandated by the fd.o spec. At least all
the ones I have installed (except for Breeze) do so, in alphabetical order:
Adwaita, Bluecurve, crystalsvg, gnome, hicolor, HighContrast, locolor,
oxygen. I am pretty sure most other themes around on the network do, too.
Breeze is really the odd one out.

> sorry for the delay and thanks for the response. The above makes me wonder
> about the functionality of ecm_install_icons. As it stands, it is
> completely broken for anything but the hicolor theme, don't you agree? I
> would say we should fix it there, somehow...

As you can see above, it is only really broken for the Breeze theme.

Instead of removing useful functionality from ECM, wouldn't it make more
sense to fix the Breeze paths to match the other themes?

The Fedora package actually creates a whole hierarchy of empty directories
such as 16x16/apps under Breeze:
http://pkgs.fedoraproject.org/cgit/rpms/breeze-icon-theme.git/tree/breeze-icon-theme.spec#n82

I think it would really be helpful to make Breeze match the de-facto
standard directory hierarchy.

Kevin Kofler



Re: How to install icons for multiple themes

2017-04-20 Thread Milian Wolff
On Donnerstag, 20. April 2017 11:34:39 CEST Matthias Klumpp wrote:
> 2017-04-20 11:30 GMT+02:00 Milian Wolff :
> > [...]
> > Hey Albert,
> > 
> > sorry for the delay and thanks for the response. The above makes me wonder
> > about the functionality of ecm_install_icons. As it stands, it is
> > completely broken for anything but the hicolor theme, don't you agree? I
> > would say we should fix it there, somehow...
> > 
> > It is very unfortunate that the themes can come up with their own path
> > mapping...
> 
> Indeed - unfortunately it's to late to change that now :-/
> 
> > How do other applications deal with this situation? Should the apps only
> > install hicolor, and the other per-theme icons be submitted to the
> > corresponding icon themes?
> 
> That's exactly how this is intended to work, anything except the
> hicolor/locolor default themes is essentially expected to be
> self-contained.

So that means I'll have to rework ecm_install_icons:

- deprecate the THEME argument
- extend documentation

I'll try to find the time for this and submit the patches then.

Thanks everyone

-- 
Milian Wolff
m...@milianw.de
http://milianw.de

signature.asc
Description: This is a digitally signed message part.


Re: How to install icons for multiple themes

2017-04-20 Thread Matthias Klumpp
2017-04-20 11:30 GMT+02:00 Milian Wolff :
> [...]
> Hey Albert,
>
> sorry for the delay and thanks for the response. The above makes me wonder
> about the functionality of ecm_install_icons. As it stands, it is completely
> broken for anything but the hicolor theme, don't you agree? I would say we
> should fix it there, somehow...
>
> It is very unfortunate that the themes can come up with their own path
> mapping...

Indeed - unfortunately it's to late to change that now :-/

> How do other applications deal with this situation? Should the apps only
> install hicolor, and the other per-theme icons be submitted to the
> corresponding icon themes?

That's exactly how this is intended to work, anything except the
hicolor/locolor default themes is essentially expected to be
self-contained.

Cheers,
Matthias

-- 
Debian Developer | Freedesktop-Developer
I welcome VSRE emails. See http://vsre.info/


Re: How to install icons for multiple themes

2017-04-20 Thread Milian Wolff
On Montag, 17. April 2017 23:36:24 CEST Albert Astals Cid wrote:
> El dilluns, 17 d’abril de 2017, a les 22:27:15 CEST, Milian Wolff va 
escriure:
> > Hey all,
> > 
> > how is one supposed to install different versions of icons for different
> > icon themes? Say I have an icon for breeze, breeze-dark and oxygen. I went
> > ahead and plumbed it into CMake with ECM's ecm_install_icons specifying
> > THEME accordingly, but at runtime nothing is found... Only if I install
> > into hicolor does it work for me
> > 
> > Stracing makes me wonder whether the lookup rules match the installation
> > logic...
> > 
> > ECM installs to e.g.:
> > 
> > /home/milian/projects/compiled/other/share/icons/breeze/16x16/apps/
> > hotspot.svgz
> > 
> > Strace shows me the nearest match it looks into:
> > /home/milian/projects/compiled/kf5/share/icons/breeze/apps/16/hotspot.svg
> > 
> > - this is a wrong prefix, but both are listed in XDG_DATA_DIRS
> > - it has the wrong directory structure, i.e. it's apps/16 instead of
> > 16x16/
> > apps
> > - it doesn't look for the svgz variant, even though ecm_install_icons says
> > so
> > 
> > So, clearly something is majorly broken here... If I install into the
> > hicolor theme, things start to work since strace also shows that this path
> > is looked up:
> > 
> > /home/milian/projects/compiled/other/share/icons/hicolor/16x16/apps/
> > hotspot.svgz
> > 
> > So I'm at a loss. At what level is this broken? Is this inside the KDE
> > icon
> > subsystem? Is this in ECM? Am I missing some environment variable?
> > 
> > Any help would be appreciated, thanks
> 
> Generally you can't do what you want to do.
> 
> Themes describe where the icons live on their index.theme
> 
> breeze/index.theme says
> [actions/16]
> Size=16
> Context=Actions
> Type=Fixed
> 
> hicolor/index.theme says
> [16x16/actions]
> Size=16
> Context=Actions
> Type=Threshold
> 
> So unless you hardcode the folder names for every single theme you want to
> support into ecm (and hope they don't change) you can't install stuff into
> multiple themes.
> 
> For the svgz vs svg thing, breeze saying
>   KDE-Extensions=.svg
> is the reason for it.

Hey Albert,

sorry for the delay and thanks for the response. The above makes me wonder 
about the functionality of ecm_install_icons. As it stands, it is completely 
broken for anything but the hicolor theme, don't you agree? I would say we 
should fix it there, somehow...

It is very unfortunate that the themes can come up with their own path 
mapping...

How do other applications deal with this situation? Should the apps only 
install hicolor, and the other per-theme icons be submitted to the 
corresponding icon themes?

Cheers

-- 
Milian Wolff
m...@milianw.de
http://milianw.de

signature.asc
Description: This is a digitally signed message part.


Re: How to install icons for multiple themes

2017-04-17 Thread Albert Astals Cid
El dilluns, 17 d’abril de 2017, a les 22:27:15 CEST, Milian Wolff va escriure:
> Hey all,
> 
> how is one supposed to install different versions of icons for different
> icon themes? Say I have an icon for breeze, breeze-dark and oxygen. I went
> ahead and plumbed it into CMake with ECM's ecm_install_icons specifying
> THEME accordingly, but at runtime nothing is found... Only if I install
> into hicolor does it work for me
> 
> Stracing makes me wonder whether the lookup rules match the installation
> logic...
> 
> ECM installs to e.g.:
> 
> /home/milian/projects/compiled/other/share/icons/breeze/16x16/apps/
> hotspot.svgz
> 
> Strace shows me the nearest match it looks into:
> /home/milian/projects/compiled/kf5/share/icons/breeze/apps/16/hotspot.svg
> 
> - this is a wrong prefix, but both are listed in XDG_DATA_DIRS
> - it has the wrong directory structure, i.e. it's apps/16 instead of 16x16/
> apps
> - it doesn't look for the svgz variant, even though ecm_install_icons says
> so
> 
> So, clearly something is majorly broken here... If I install into the
> hicolor theme, things start to work since strace also shows that this path
> is looked up:
> 
> /home/milian/projects/compiled/other/share/icons/hicolor/16x16/apps/
> hotspot.svgz
> 
> So I'm at a loss. At what level is this broken? Is this inside the KDE icon
> subsystem? Is this in ECM? Am I missing some environment variable?
> 
> Any help would be appreciated, thanks

Generally you can't do what you want to do.

Themes describe where the icons live on their index.theme

breeze/index.theme says
[actions/16]
Size=16
Context=Actions
Type=Fixed

hicolor/index.theme says
[16x16/actions]
Size=16
Context=Actions
Type=Threshold

So unless you hardcode the folder names for every single theme you want to 
support into ecm (and hope they don't change) you can't install stuff into 
multiple themes.

For the svgz vs svg thing, breeze saying
  KDE-Extensions=.svg
is the reason for it.

Cheers,
  Albert


How to install icons for multiple themes

2017-04-17 Thread Milian Wolff
Hey all,

how is one supposed to install different versions of icons for different icon 
themes? Say I have an icon for breeze, breeze-dark and oxygen. I went ahead 
and plumbed it into CMake with ECM's ecm_install_icons specifying THEME 
accordingly, but at runtime nothing is found... Only if I install into hicolor 
does it work for me

Stracing makes me wonder whether the lookup rules match the installation 
logic...

ECM installs to e.g.:

/home/milian/projects/compiled/other/share/icons/breeze/16x16/apps/
hotspot.svgz

Strace shows me the nearest match it looks into:
/home/milian/projects/compiled/kf5/share/icons/breeze/apps/16/hotspot.svg

- this is a wrong prefix, but both are listed in XDG_DATA_DIRS
- it has the wrong directory structure, i.e. it's apps/16 instead of 16x16/
apps
- it doesn't look for the svgz variant, even though ecm_install_icons says so

So, clearly something is majorly broken here... If I install into the hicolor 
theme, things start to work since strace also shows that this path is looked 
up:

/home/milian/projects/compiled/other/share/icons/hicolor/16x16/apps/
hotspot.svgz

So I'm at a loss. At what level is this broken? Is this inside the KDE icon 
subsystem? Is this in ECM? Am I missing some environment variable?

Any help would be appreciated, thanks

-- 
Milian Wolff
m...@milianw.de
http://milianw.de

signature.asc
Description: This is a digitally signed message part.