Re: Icons on Linux

Jeroen van der Zijp <[email protected]>
Newsgroups gmane.comp.lib.fox-toolkit.user
Organization FOX Toolkit
Message-ID <[email protected]>
On Thu, 12 Aug 2021 16:06:03 +0200
Ingo Foerster <[email protected]> wrote:

>Hello,
>but this is exact the problem I have. I set an icon to the top-level window.
>But it is not shown in the ubuntu taskbar. There I have an
>"Toolbutton" with no Icon.
>
>I use the
>setMiniIcon(foxburnerIconSmall);
>setIcon(foxburnerIconBig);
>
>Inside the dialog creator:
>KDataFOXLibDlg::KDataFOXLibDlg(FXApp *app, const FXString &title)
>    : FXDialogBox(app, title, DECOR_ALL, 0, 0, 600, 500, 0, 0, 0, 0, 0, 0)
>
>So maybe the problem is that I read "ico" files with reswrap.exe and
>Ubuntu cannot render this,
>or another issue happen.
>
>The desktop files with a PNG icon are working  well.

I'm not sure what's going on, but perhaps the issue is with the Ico[n] loader.

You're saying that if you use PNG then it works.  But on Windows, you need
ICO files otherwise File Explorer won't show them.

The embedded icons [the ones the Resource Compiler inserts into your .EXE files]
of course also needs ICO files.

Perhaps ICO files aren't deserialized properly from their reswrapped representation.

Try to see if this is the case by sticking that same icon [foxburnerIconSmall
or foxburnerIconBig] onto an FXButton and check if it shows up in the GUI.

If it doesn't show up then there's the issue.

I'm thinking maybe there is an ICO format version that FXICOIcon and FXICOImage
loaders don't understand.  On Windows, the icon shown on the taskbar is snarfed
from the ICON section in your .exe, so the reswrapped and deserialized version
of the icon are not used.  Maybe thats why it shows up there.

On Linux, the icon must be deserialized from its reswrapped, compiled-in data-
array and if its a format we don't understand then the image will be blank.


		-- JVZ
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.