Skip to content

Arduino Logo appears blurry in the toolbar W8.1 #3473

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
moritzeto opened this issue Jul 6, 2015 · 16 comments
Closed

Arduino Logo appears blurry in the toolbar W8.1 #3473

moritzeto opened this issue Jul 6, 2015 · 16 comments
Labels
OS: Windows Specific to the Windows version of the Arduino IDE
Milestone

Comments

@moritzeto
Copy link

Hi,
I've notticed that in my Windows 8.1 computer, the Arduino Logo that appears in the toolbar is very blurry, but in the desktop its all OK. The first image is from the toolbar, and the second one from the desktop.
arduinologo
arduinologo3

@moritzeto moritzeto changed the title Arduino Logo appears blurry in the toolbar Arduino Logo appears blurry in the toolbar W8.1 Jul 6, 2015
@carlosperate
Copy link
Contributor

Yeah, it seems like it is using the 16x16 version of the icon. Could it have something to do with the fact that is the same icon resolution used in the top left corner of the window?

@ffissore
Copy link
Contributor

ffissore commented Jul 7, 2015

Yes, indeed. It's ugly. That icon is in file IDE\lib\arduino_icon.ico. AFAIK, it's correct. Nonetheless it's ugly so there is something I don't know. I'm no windows hacker and I need some help

@ffissore ffissore added OS: Windows Specific to the Windows version of the Arduino IDE Help wanted Arduino would especially appreciate assistance from the community on this item labels Jul 7, 2015
@ffissore ffissore added this to the Release 1.6.6 milestone Jul 7, 2015
@ffissore
Copy link
Contributor

ffissore commented Jul 7, 2015

Right path is IDE\lib\arduino_icon.ico

@cmaglie
Copy link
Member

cmaglie commented Jul 7, 2015

Maybe it's sufficient to just replace the icon with an hi-res one?

@ffissore ffissore self-assigned this Jul 7, 2015
@ffissore
Copy link
Contributor

ffissore commented Jul 7, 2015

That's the conundrum: that .ico already includes different resolutions of the same icon. Windows is picking up the wrong one when putting it into the app bar. I don't know why

@moritzeto moritzeto reopened this Jul 7, 2015
@carlosperate
Copy link
Contributor

I had quick play with Resource Hacker and the arduino executable. I opened the .exe file and replaced the icon files with a different one, replaced the arduino icon in the lib folder, and reset the thumbnail and icon cache on Windows.

Basically the windows explorer arduino.exe icon comes from the icons stored into the assembled .exe file, and the taskbar and window icon (the one displayed on the top left corner when the arduino window is opened) come from somewhere else.

This post on stack overflow suggests that:

Windows uses the Assembly icon when pinned, and the window icon when unpinned

Which seems to be correct in this case, as the arduino.exe pinned icon (for the original or the modified one) is the assembled full resolution icon.

@ffissore
Copy link
Contributor

ffissore commented Jul 8, 2015

Do you have a fix then?

@carlosperate
Copy link
Contributor

Sorry guys, completely missed the last reply to this issue.
No, I don't have a fix, sounds like a possible bug for launch4j, but I don't really know.

@learn-more
Copy link

In windows you can update both the 'small' and the 'big' icon.
Chances are that (in this case launch4j) does only update one of the 2.
If a window is created, the big icon needs to be set explicitly, if it is not set, it will inherit the small icon.

SendMessage(hwnd, WM_SETICON, ICON_SMALL, hIcon); SendMessage(hwnd, WM_SETICON, ICON_BIG, hIcon);
where hwnd is the window, and hIcon the loaded icon.

@moritzeto
Copy link
Author

Before all, thanks to all of you for trying to answer my question.
Hi learn-more, where do you go for changing what you are saying? ( SendMessage(hwnd, WM_SETICON, ICON_SMALL, hIcon); SendMessage(hwnd, WM_SETICON, ICON_BIG, hIcon); )

@learn-more
Copy link

The location where this should be changed is the location that Creates the native windows form, and glues it to java.
I am assuming this is in launch4j?

@learn-more
Copy link

Some further research shows that the frame's icon is manipulated from Arduino, so it should be possible to do this without altering launch4j.

In Base.java, static public setIcon calls frame.setIconImage.
there is another function in a frame, setIconImages (which takes a list of icons instead of one icon).
By passing this a small and a big icon, the correct icon should be chosen for the frame.

@pfeerick
Copy link
Contributor

After little digging, this is a old issue opened in 2011 in the old google code issue tracker (#469), and there is an apparent fix mentioned here. Basically, it is what @learn-more mentioned above, but apparently in a ready to test form.

This stackoverflow question might give some more insight.

@ffissore ffissore modified the milestones: Release 1.6.6, 1.6.7 Nov 4, 2015
@ffissore
Copy link
Contributor

Thank you @pfeerick, fixed. Fix will be available in next hourly build http://www.arduino.cc/en/Main/Software#hourly

@ffissore ffissore removed the Help wanted Arduino would especially appreciate assistance from the community on this item label Nov 24, 2015
@carlosperate
Copy link
Contributor

Fantastic! 👍

@eried
Copy link

eried commented Dec 19, 2015

This is great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OS: Windows Specific to the Windows version of the Arduino IDE
Projects
None yet
Development

No branches or pull requests

7 participants