icon factories

edscott wilson garcia edscott at imp.mx
Thu Dec 18 03:43:24 CET 2003

Hey Jazman,

  I started looking at your code for icon factories and I don't
comprendo the need for gtkrc files. I find that gtkrc files to define
widget styles and keybindings, but not as a means for defining icon
themes. I find you statically define the icon file names in the array

static struct _XfceDefaultIcon default_icons[]={...};
The approach I used in the mime_icon module was to create an xml file
(mime.xml) for each theme, so that different file names can be used for
different themes. The equivalent of the default_icons[] array are the
following lines (using the xfce mime type):

  <mime-type type="xfce/newmail" icon="newmail.png"/>
  <mime-type type="xfce/terminal" icon="terminal.png"/>
  <mime-type type="xfce/sound" icon="sound.png"/>
  <mime-type type="xfce/schedule" icon="schedule.png"/>
  <mime-type type="xfce/print" icon="print.png"/>
  <mime-type type="xfce/paint" icon="paint.png"/>
  <mime-type type="xfce/network" icon="network.png"/>
  <mime-type type="xfce/multimedia" icon="multimedia.png"/>
  <mime-type type="xfce/man" icon="man.png"/>
  <mime-type type="xfce/games" icon="games.png"/>
  <mime-type type="xfce/file2" icon="file2.png"/>
  <mime-type type="xfce/file1" icon="file1.png"/>
  <mime-type type="xfce/edit" icon="edit.png"/>
  <mime-type type="xfce/unknown" icon="unknown.png"/>

The mime_icons module is still missing the following types which you

    {XFCE_MINI_EXIT, "minipower.png"},
    {XFCE_MINI_INFO, "miniinfo.png"},
    {XFCE_MINI_LOCK, "minilock.png"},
    {XFCE_MINI_SETUP, "minipalet.png"},
    {XFCE_NOMAIL, "nomail.png"},

Type "xfce/unknown" with icon "unknown.png" is what you refer to as
XFCE_DEFAULT. I rather put the xfce mouse logo as the xfce/default type
since in a more general icon factory scenario it can refer to more
diverse objects.

More information about the Xfce4-dev mailing list