fl_open_display();Pixmap p = XCreateBitmapFromData(fl_display, DefaultRootWindow(fl_display), (char *)icon32_bits, icon32_width, icon32_height);window->icon((char *)p);[CODE=CPP]
/** Author: Greg Ercolano */
/** Compile your programs with LDFLAGS="$LDFLAGS -lXpm" */
/** set the icon from Xpm char ** data */
#include <X11/xpm.h>
inline void set_icon(Fl_Window* main, char ** xpm_data){
if( !main ){ return; }
else if( !main->shown() ){ main->show(); }
Pixmap icon_pixmap;
Pixmap icon_mask;
int isXpm = XpmCreatePixmapFromData(fl_display, DefaultRootWindow(fl_display), xpm_data, &icon_pixmap, &icon_mask, NULL );
if(isXpm != XpmSuccess){ return; }
XWMHints hints;
hints.flags = IconPixmapHint | IconMaskHint;
hints.icon_pixmap = icon_pixmap;
hints.icon_mask = icon_mask;
XSetWMHints (fl_display, fl_xid(main), &hints);
hints.flags = 0;
hints.icon_pixmap = 0;
hints.icon_mask = 0;
icon_pixmap = 0;
icon_mask = 0;
}
[/CODE]
icon_pix=new Fl_Pixmap(icon_xpm);icon_img=new Fl_RGB_Image((uchar *) icon_pix, Fl_Color(0));window->icon(icon_img);icon_pix=new Fl_Pixmap(icon_xpm);icon_img=new Fl_RGB_Image((uchar *) icon_pix, icon_pix->w(), icon_pix->h(), icon_pix->d(), icon_pix->ld());window->icon(icon_img);static Pixmap p = XCreateBitmapFromData(fl_display, DefaultRootWindow(fl_display), (char *)icon_bits, icon_width, icon_height);window->icon((char *)p);static Pixmap p;Pixmap mask;XpmCreatePixmapFromData(fl_display, DefaultRootWindow(fl_display), (char **)icon_xpm, &p, &mask, 0);window->icon((char *)p);*Greg suggestion (w/o X calls):icon_pix=new Fl_Pixmap(icon_xpm);icon_img=new Fl_RGB_Image((uchar *) icon_pix, Fl_Color(0));window->icon(icon_img);will not compile, because of second line: Fl_RGB_Image(uchar*, Fl_Color) doesn't exist in my fltk version (maybe added in 1.3.3 ?)
[Desktop Entry]
Name=Example
Icon=example
Exec=example
Terminal=false
Type=Application
Categories=System
Fl_Double_Window* ExampleClass::make_window() {
{ win = new Fl_Double_Window(480, 330, "EXAMPLE");
/*more code*/
win->xclass("example");
}
}
Fl_Pixmap win_pixmap(icon_xpm);
Fl_RGB_Image win_icon(&win_pixmap, Fl_Color(0));
win->icon(&win_icon);