Bug 144694

Summary: yast2 icon: too low resolution
Product: [openSUSE] openSUSE 11.0 Reporter: Christian Boltz <suse-beta>
Component: YaST2Assignee: Stefan Hundhammer <shundhammer>
Status: VERIFIED FIXED QA Contact: Klaus Kämpf <kkaempf>
Severity: Minor    
Priority: P5 - None CC: aj, benderamp, felix, quentin.jackson
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: SuSE Linux 10.1   
Whiteboard: maint:released:11.2:28218
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: proposed icons
ugly yast icons in kde4 taskbar

Description Christian Boltz 2006-01-22 22:30:38 UTC
I noticed that the YaST2 icon seems to have a very low resolution.

To see what I mean:
- start yast2 while running KDE
- press Alt-Tab and have a detailed look at the YaST2 icon - it looks "pixely"
  and seems to 16x16 only :-(

Please add a better icon to the YaST2 window(s).
Comment 1 Dirk Mueller 2006-01-23 16:34:44 UTC
yast icons come from yast. 
Comment 2 Stefan Hundhammer 2006-01-24 10:17:06 UTC
I don't have any other icons. Both our icon designers got fired, remember?
Comment 3 Christian Boltz 2006-01-24 12:47:50 UTC
What about an icon based on (CD1)/suse/setup/slide/pic/10_devel.png ?

I'll attach a PNG with this image scaled down to the relevant sizes - just have a look at it.
(BTW: You should keep the 16x16 icon as is. The image I've used as base is too detailed for 16x16.)

If needed/wanted, I can provide the icons as separate images.
Comment 4 Stefan Hundhammer 2006-01-24 12:51:07 UTC
Stuff like this would be an icon designer's job. I only package those icons. I will take over the icon designer's job, too.
Comment 5 Christian Boltz 2006-01-24 16:22:02 UTC
Created attachment 64800 [details]
proposed icons
Comment 6 Christian Boltz 2006-01-24 16:26:05 UTC
Stefan, I attached the icons to the wrong bug accidently ;-)  - but now they are finally here.

Please have a look at them - if you find them nice and/or useful, I'll provide them as separate images.

BTW: Did I miss any icon size?


> I will take over the icon designer's job, too.

Maybe you forgot a "not" in this sentense? ;-)
Comment 7 Stefan Hundhammer 2006-01-25 10:28:45 UTC
Which part of WONTFIX do you need explained for the third time???
Comment 8 Christian Boltz 2006-01-25 11:44:06 UTC
I understand you are not a icon designer.

This is why *I* provide icons that look like better versions of the existing 16x16 icon.

Just tell me you find the icons I attached nice and I'll send them to you as separate images you can easily package.
Comment 9 Stefan Hundhammer 2006-01-25 12:46:35 UTC
I don't have time to mess around with icons again. And I doubt I will have time before 10.1 is out.
Comment 10 Andreas Jaeger 2006-02-07 19:59:13 UTC
reopening...
Comment 11 Andreas Jaeger 2006-02-07 19:59:56 UTC
Stefan, I propose to do this once 10.1 is out.  So, I mark it as later.
Comment 12 Stefan Hundhammer 2007-01-24 14:37:57 UTC
reopening
Comment 13 Stefan Hundhammer 2007-01-24 14:38:11 UTC
fixed
Comment 14 Christian Boltz 2007-11-15 19:12:20 UTC
I'm sorry to disappoint you, but this is *not* fixed in 10.3 :-(

BTW: If you are still lacking a good 32x32 icon, take the YaST icon from KDE menu -> system.
Comment 16 Anton Moiseev 2008-03-22 12:01:50 UTC
Created attachment 203472 [details]
ugly yast icons in kde4 taskbar
Comment 17 Anton Moiseev 2008-03-22 12:03:48 UTC
Yast icons look ugly on the KDE4 panel - attached screenshot. This were OK in kde3, because in the taskbar program icon was not scaled by default to such a big size, but with kde4 with its default panel look this looks really bad.
Comment 18 Felix Möller 2008-03-22 22:47:16 UTC
I just wanted to report this too. ;) 

I filed yesterday a bug against the oo.org icon with the same problem at bug #372983.
Comment 19 Anton Moiseev 2008-03-24 00:21:35 UTC
Exactly. It seems that the same issue can be reported for a bigger number of applications :) 

It is time to switch to svg icons - as far as I know, kde4 prefers to work with svg.
Comment 20 Stefan Hundhammer 2008-03-26 15:24:18 UTC
After quite some searching where to put this icon, it turns out it is not part of any YaST2 package, but of kdebase*-SuSE*rpm.
Comment 21 Lubos Lunak 2008-03-27 18:27:08 UTC
Comments #16-#19 are bug #371677 and irrelevant here.
Comment 22 Lubos Lunak 2008-03-27 18:47:35 UTC
That icon is not used, KDE falls back to looking up icons by name only if the application window itself does not provide the window, but Yast2 does ('xprop | grep icon' and click on the window), and presumably provides only this small icon. I guess there is QWidget::setWindowIcon() called somewhere with this small icon.
Comment 23 Stefan Hundhammer 2008-03-28 10:22:28 UTC
That's true for all other icons (all icons provided by YCP modules via Wizard::SetDialogIcon() from Wizard.ycp), but not for this one. As a matter of fact, no yast2-*.rpm even provides this icon - see comment #20.

sh @ snell] ...trunk/qt/src 8 % grep -i "set.*icon" *.cc
YQApplication.cc:    setIconBasePath( ICONDIR "/icons/22x22/apps/" );
YQGenericButton.cc:void YQGenericButton::setIcon( const string & iconName )
YQGenericButton.cc:     _qPushButton->setIcon( QIcon() );
YQGenericButton.cc:     _qPushButton->setIcon( icon );
YQImage.cc:     QLabel::setPixmap( icon.pixmap( pixmap.size(), QIcon::Disabled, QIcon::Off) );
YQMultiSelectionBox.cc:     setIcon( 0 /* column */, icon );
YQSelectionBox.cc:      i->setData(Qt::DecorationRole, icon );
YQTable.cc:    // Set icon (if specified)
YQTable.cc:         setData( column, Qt::DecorationRole, icon );
YQTree.cc:          setData( 0, Qt::DecorationRole, icon );
YQWizard.cc:    // Set status icon and color for the current step
YQWizard.cc:    _dialogIcon->setObjectName( "DialogIcon" );
YQWizard.cc:void YQWizard::setDialogIcon( const string & iconName )
YQWizard.cc:            _dialogIcon->setPixmap( icon );
YQWizard.cc:            topLevelWidget()->setWindowIcon( icon );
YQWizard.cc:        topLevelWidget()->setWindowIcon( QIcon() );


http://svn.opensuse.org/svn/yast/trunk/qt/src/YQWizard.cc

void YQWizard::setDialogIcon( const string & iconName )
{
    if ( _dialogIcon )
    {
	if ( ! iconName.empty() )
	{
	    QPixmap icon( iconName.c_str() );

	    if ( icon.isNull() )
		yuiWarning() << "Couldn't load dialog icon \"" << iconName << "\"" << endl;
	    else
	    {
		_dialogIcon->setPixmap( icon );
		topLevelWidget()->setWindowIcon( icon );
	    }
	}
	else
	{
	    _dialogIcon->clear();
	    topLevelWidget()->setWindowIcon( QIcon() );
	}
    }
}


The (Qt) YaST2 control center doesn't contain setWindowIcon() call:

[sh @ snell] ...trunk/control-center/src 7 % grep setWindowIcon *.cpp
[sh @ snell] ...trunk/control-center/src 8 %

Comment 24 Stefan Hundhammer 2008-03-28 10:24:53 UTC
So from what I see, that icon must be a fallback from somewhere.

Of course I can add a setWindowIcon() call to the Qt UI, but how about icon themes then? Won't I get bug reports that that explictly set icon doesn't match the icon theme if a user wishes to use another one?
Comment 25 Lubos Lunak 2008-03-28 13:26:27 UTC
I don't see any code in Qt that'd set the icon by default and e.g. qtconfig does not have any icon. I suggest using a breakpoint to find out where it comes from (maybe directly on XSetWMHints() that sets IconPixmapHint in flags). Also, I think the call is actually QWidget::setIcon() in Qt3.

As for icon themes, the application can set anything as its icon, including e.g. coloring it depending on the status. Just loading an icon from disk based on the app's name is really just a fallback when there's nothing better. I guess the current way is making it up to the application to follow icon themes *shrug*.
Comment 26 Stefan Hundhammer 2008-04-24 14:55:25 UTC
*** Bug 383036 has been marked as a duplicate of this bug. ***
Comment 27 Christian Boltz 2008-04-24 18:29:56 UTC
updating product again - the duplicate is from 11.0 Factory (around beta1).
Comment 28 Stefan Hundhammer 2008-04-29 14:46:10 UTC
Argh - I finally found where this low-res icon comes from: Its an XPM that is compiled into the source.

Now explicitly loading the "yast.png" icon from the current YaST2 theme.
Comment 29 Stefan Hundhammer 2008-04-29 14:47:34 UTC
Please notice that this fix will very likely not be in Beta2 yet.
Comment 30 Christian Boltz 2008-08-10 21:14:53 UTC
VERIFIED in 11.0 final - YaST now has a nice icon in all sizes I tested.

Thanks for searching that hard and for fixing it!
Comment 31 Swamp Workflow Management 2009-10-30 09:36:57 UTC
Update released for: yast2-control-center
Products:
openSUSE 11.2 (debug, i586, x86_64)
Comment 35 Swamp Workflow Management 2020-04-22 16:16:49 UTC
SUSE-SU-2020:1066-1: An update that solves 9 vulnerabilities and has 14 fixes is now available.

Category: security (moderate)
Bug References: 1040519,1048688,1077718,1111180,1114157,1114169,1115904,1125357,1129734,1132852,1133817,1135773,1145498,1146206,1148426,1149110,1149535,1151206,1165402,1165643,1166290,1167240,144694
CVE References: CVE-2017-5637,CVE-2018-10851,CVE-2018-14626,CVE-2019-0201,CVE-2019-11596,CVE-2019-15026,CVE-2019-3871,CVE-2020-5247,CVE-2020-9543
Sources used:
SUSE OpenStack Cloud Crowbar 8 (src):    crowbar-core-5.0+git.1585575551.16781d00d-3.38.1, crowbar-ha-5.0+git.1585316176.344190f-3.32.1, crowbar-openstack-5.0+git.1585304226.2164b7895-4.37.1, documentation-suse-openstack-cloud-deployment-8.20200319-1.23.1, documentation-suse-openstack-cloud-supplement-8.20200319-1.23.1, documentation-suse-openstack-cloud-upstream-admin-8.20200319-1.23.1, documentation-suse-openstack-cloud-upstream-user-8.20200319-1.23.1, memcached-1.5.17-3.3.1, openstack-manila-5.1.1~dev5-3.26.2, openstack-manila-doc-5.1.1~dev5-3.26.1, openstack-neutron-11.0.9~dev63-3.30.2, openstack-neutron-doc-11.0.9~dev63-3.30.1, openstack-nova-16.1.9~dev61-3.35.2, openstack-nova-doc-16.1.9~dev61-3.35.1, python-amqp-2.4.2-3.9.1, rubygem-puma-2.16.0-3.6.1, zookeeper-3.4.10-3.6.1
SUSE OpenStack Cloud 8 (src):    ardana-ansible-8.0+git.1583432621.24fa60e-3.70.1, ardana-barbican-8.0+git.1585152761.8ef3d61-4.33.1, ardana-db-8.0+git.1583944923.03cca6c-3.31.1, ardana-monasca-8.0+git.1583944894.38f023a-3.24.1, ardana-mq-8.0+git.1583944811.dc14403-3.19.1, ardana-neutron-8.0+git.1584715262.e4ea620-3.39.1, ardana-octavia-8.0+git.1585171918.418f5cf-3.26.1, ardana-tempest-8.0+git.1585311051.6ab5488-3.33.1, documentation-suse-openstack-cloud-installation-8.20200319-1.23.1, documentation-suse-openstack-cloud-operations-8.20200319-1.23.1, documentation-suse-openstack-cloud-opsconsole-8.20200319-1.23.1, documentation-suse-openstack-cloud-planning-8.20200319-1.23.1, documentation-suse-openstack-cloud-security-8.20200319-1.23.1, documentation-suse-openstack-cloud-supplement-8.20200319-1.23.1, documentation-suse-openstack-cloud-upstream-admin-8.20200319-1.23.1, documentation-suse-openstack-cloud-upstream-user-8.20200319-1.23.1, documentation-suse-openstack-cloud-user-8.20200319-1.23.1, memcached-1.5.17-3.3.1, openstack-manila-5.1.1~dev5-3.26.2, openstack-manila-doc-5.1.1~dev5-3.26.1, openstack-neutron-11.0.9~dev63-3.30.2, openstack-neutron-doc-11.0.9~dev63-3.30.1, openstack-nova-16.1.9~dev61-3.35.2, openstack-nova-doc-16.1.9~dev61-3.35.1, pdns-4.1.2-3.6.1, python-amqp-2.4.2-3.9.1, venv-openstack-aodh-5.1.1~dev7-12.24.1, venv-openstack-barbican-5.0.2~dev3-12.25.1, venv-openstack-ceilometer-9.0.8~dev7-12.22.1, venv-openstack-cinder-11.2.3~dev23-14.25.1, venv-openstack-designate-5.0.3~dev7-12.23.1, venv-openstack-freezer-5.0.0.0~xrc2~dev2-10.20.1, venv-openstack-glance-15.0.3~dev3-12.23.1, venv-openstack-heat-9.0.8~dev22-12.25.1, venv-openstack-ironic-9.1.8~dev8-12.25.1, venv-openstack-keystone-12.0.4~dev5-11.26.1, venv-openstack-magnum-5.0.2_5.0.2_5.0.2~dev31-11.24.1, venv-openstack-manila-5.1.1~dev5-12.29.1, venv-openstack-monasca-ceilometer-1.5.1_1.5.1_1.5.1~dev3-8.20.1, venv-openstack-murano-4.0.2~dev2-12.20.1, venv-openstack-neutron-11.0.9~dev63-13.28.1, venv-openstack-nova-16.1.9~dev61-11.26.1, venv-openstack-octavia-1.0.6~dev3-12.25.1, venv-openstack-sahara-7.0.5~dev4-11.24.1, venv-openstack-trove-8.0.2~dev2-11.24.1, zookeeper-3.4.10-3.6.1
HPE Helion Openstack 8 (src):    ardana-ansible-8.0+git.1583432621.24fa60e-3.70.1, ardana-barbican-8.0+git.1585152761.8ef3d61-4.33.1, ardana-db-8.0+git.1583944923.03cca6c-3.31.1, ardana-monasca-8.0+git.1583944894.38f023a-3.24.1, ardana-mq-8.0+git.1583944811.dc14403-3.19.1, ardana-neutron-8.0+git.1584715262.e4ea620-3.39.1, ardana-octavia-8.0+git.1585171918.418f5cf-3.26.1, ardana-tempest-8.0+git.1585311051.6ab5488-3.33.1, documentation-hpe-helion-openstack-installation-8.20200319-1.23.1, documentation-hpe-helion-openstack-operations-8.20200319-1.23.1, documentation-hpe-helion-openstack-opsconsole-8.20200319-1.23.1, documentation-hpe-helion-openstack-planning-8.20200319-1.23.1, documentation-hpe-helion-openstack-security-8.20200319-1.23.1, documentation-hpe-helion-openstack-user-8.20200319-1.23.1, memcached-1.5.17-3.3.1, openstack-manila-5.1.1~dev5-3.26.2, openstack-manila-doc-5.1.1~dev5-3.26.1, openstack-neutron-11.0.9~dev63-3.30.2, openstack-neutron-doc-11.0.9~dev63-3.30.1, openstack-nova-16.1.9~dev61-3.35.2, openstack-nova-doc-16.1.9~dev61-3.35.1, pdns-4.1.2-3.6.1, python-amqp-2.4.2-3.9.1, venv-openstack-aodh-5.1.1~dev7-12.24.1, venv-openstack-barbican-5.0.2~dev3-12.25.1, venv-openstack-ceilometer-9.0.8~dev7-12.22.1, venv-openstack-cinder-11.2.3~dev23-14.25.1, venv-openstack-designate-5.0.3~dev7-12.23.1, venv-openstack-freezer-5.0.0.0~xrc2~dev2-10.20.1, venv-openstack-glance-15.0.3~dev3-12.23.1, venv-openstack-heat-9.0.8~dev22-12.25.1, venv-openstack-ironic-9.1.8~dev8-12.25.1, venv-openstack-keystone-12.0.4~dev5-11.26.1, venv-openstack-magnum-5.0.2_5.0.2_5.0.2~dev31-11.24.1, venv-openstack-manila-5.1.1~dev5-12.29.1, venv-openstack-monasca-ceilometer-1.5.1_1.5.1_1.5.1~dev3-8.20.1, venv-openstack-murano-4.0.2~dev2-12.20.1, venv-openstack-neutron-11.0.9~dev63-13.28.1, venv-openstack-nova-16.1.9~dev61-11.26.1, venv-openstack-octavia-1.0.6~dev3-12.25.1, venv-openstack-sahara-7.0.5~dev4-11.24.1, venv-openstack-trove-8.0.2~dev2-11.24.1, zookeeper-3.4.10-3.6.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.