No, I tell a lie: GTK 1 _does_ support icons, at least partially. Ooh.

[originally from svn r7064]
This commit is contained in:
Simon Tatham 2007-01-06 18:27:00 +00:00
Родитель a8bdd536c8
Коммит 334ef0824c
6 изменённых файлов: 635 добавлений и 0 удалений

Просмотреть файл

@ -2216,6 +2216,16 @@ int do_config_box(const char *title, Config *cfg, int midsession,
dp.retval = 0;
dp.window = window;
{
/* in gtkwin.c */
extern void set_window_icon(GtkWidget *window,
const char *const *const *icon,
int n_icon);
extern const char *const *const cfg_icon[];
extern const int n_cfg_icon;
set_window_icon(window, cfg_icon, n_cfg_icon);
}
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_widget_show(window);

Просмотреть файл

@ -3301,6 +3301,35 @@ static void update_savedsess_menu(GtkMenuItem *menuitem, gpointer data)
get_sesslist(&sesslist, FALSE); /* free up */
}
void set_window_icon(GtkWidget *window, const char *const *const *icon,
int n_icon)
{
GdkPixmap *iconpm;
#if GTK_CHECK_VERSION(2,0,0)
GList *iconlist;
int n;
#endif
if (!n_icon)
return;
gtk_widget_realize(window);
iconpm = gdk_pixmap_create_from_xpm_d(window->window, NULL,
NULL, (gchar **)icon[0]);
gdk_window_set_icon(window->window, NULL, iconpm, NULL);
#if GTK_CHECK_VERSION(2,0,0)
iconlist = NULL;
for (n = 0; n < n_icon; n++) {
iconlist =
g_list_append(iconlist,
gdk_pixbuf_new_from_xpm_data((const gchar **)
icon[n]));
}
gdk_window_set_icon_list(window->window, iconlist);
#endif
}
void update_specials_menu(void *frontend)
{
struct gui_data *inst = (struct gui_data *)frontend;
@ -3552,6 +3581,12 @@ int pt_main(int argc, char **argv)
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK);
{
extern const char *const *const main_icon[];
extern const int n_main_icon;
set_window_icon(inst->window, main_icon, n_main_icon);
}
gtk_widget_show(inst->window);
set_window_background(inst);

150
unix/xpmptcfg.c Normal file
Просмотреть файл

@ -0,0 +1,150 @@
/* XPM */
static const char *const cfg_icon_0[] = {
/* columns rows colors chars-per-pixel */
"16 16 9 1",
" c black",
". c navy",
"X c blue",
"o c #808000",
"O c yellow",
"+ c #808080",
"@ c #C0C0C0",
"# c gray100",
"$ c None",
/* pixels */
"$$$ $$$$$$$$$$$",
"$$ OO $$$$$$$$$$",
"$ $ oO $$$$",
" o #+oO+##@+ $$$",
" oO+.OO.XX@+ $$$",
"$ oOOOO.XX@+ $$$",
"$$ oooOO.X@+ $$$",
"$$ +..oOO.@+ $$$",
"$$ #XX.oOO++ $$$",
"$$ @@@@+oOO $$",
"$ ++++++ oOO++ $",
" ########+oOO $",
" #@@@@@+++ oOO $",
"$ oOO ",
"$$$$$$$$$$$$ oO ",
"$$$$$$$$$$$$$ $"
};
/* XPM */
static const char *const cfg_icon_1[] = {
/* columns rows colors chars-per-pixel */
"32 32 9 1",
" c black",
". c navy",
"X c blue",
"o c #808000",
"O c yellow",
"+ c #808080",
"@ c #C0C0C0",
"# c gray100",
"$ c None",
/* pixels */
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$ OO $$$$$$$$$$$$$$$$$$$$$$",
"$$$$$ ooOO $$$$$$$$$$$$$$$$$$$$$",
"$$$$$$ ooOO $$$$$$$$",
"$$ $$$ oOO @@@@@@@@@@@+ $$$$$$$",
"$ oO $ oOOO @@@@@@@@@++ $$$$$$$",
"$ oOO oOOOO #######@+++ $$$$$$$",
"$$ oOOOOOOO ........@+++ $$$$$$$",
"$$ ooOOOOOOO XXXXXXX@+++ $$$$$$$",
"$$$ ooooooOOO XXXXXX@+++ $$$$$$$",
"$$$$ oo ooOOO XXXXX@+++ $$$$$$$",
"$$$$$ X ooOOO XXXX@+++ $$$$$$$",
"$$$$$ #.XX ooOOO XXX@+++ $$$$$$$",
"$$$$$ #.XXX ooOOO XX@+++ $$$$$$$",
"$$$$$ #.XXXX ooOOO X@+++ $$$$$$$",
"$$$$$ #.XXXXX ooOOO @+++ $$$$$$$",
"$$$$$ ######## ooOOO +++ $$$$$$$",
"$$$$$ #@@@@@@@@ ooOOO + $$$",
"$$$$ @+++++++++ ooOOO @@@@#+ $$",
"$$$ @ ooOOO @@#++ $$",
"$$ @@@@@@@@@@@@@@@ ooOOO #+++ $$",
"$ ################# ooOOO +++ $$",
"$ #@@@@@@@@@@@@@@@@@ ooOOO ++ $$",
"$ #@@@@@@@@@@@@+ ooOOO $$$",
"$ @+++++++++++++++++++ ooOOO $$$",
"$$ ooOOO $$",
"$$$$$$$$$$$$$$$$$$$$$$$$ ooO $$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$ o $$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
};
/* XPM */
static const char *const cfg_icon_2[] = {
/* columns rows colors chars-per-pixel */
"48 48 9 1",
" c black",
". c navy",
"X c blue",
"o c #808000",
"O c yellow",
"+ c #808080",
"@ c #C0C0C0",
"# c gray100",
"$ c None",
/* pixels */
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$ OO $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$ oOOOO $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$ ooOOO $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$$ ooOOO $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$$$ oOOO $$$$$$$$$$$",
"$$$ $$$$$$ oOOO @@@@@@@@@@@@@@@@@@@+ $$$$$$$$$$",
"$$ oO $$$$$ oOOOO @@@@@@@@@@@@@@@@@++ $$$$$$$$$$",
"$$ ooO $$$ oOOOO @@@@@@@@@@@@@@@@+++ $$$$$$$$$$",
"$$$ oOO OOOOO ###############@++++ $$$$$$$$$$",
"$$$ ooOOOOOOOOOOO +++++++++++++@+++++ $$$$$$$$$$",
"$$$ ooOOOOOOOOOOOO ............#+++++ $$$$$$$$$$",
"$$$$ oooOOOOoOOOOOO XXXXXXXXXXX#+++++ $$$$$$$$$$",
"$$$$$ oooooooOOOOOOO XXXXXXXXXX#+++++ $$$$$$$$$$",
"$$$$$$ oo ooOOOOOOO XXXXXXXXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ + ooOOOOOOO XXXXXXXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+. ooOOOOOOO XXXXXXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.X ooOOOOOOO XXXXXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XX ooOOOOOOO XXXXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XXX ooOOOOOOO XXXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XXXX ooOOOOOOO XXX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XXXXX ooOOOOOOO XX#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XXXXXX ooOOOOOOO X#+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XXXXXXX ooOOOOOOO #+++++ $$$$$$$$$$",
"$$$$$$$$$ #+.XXXXXXXX ooOOOOOOO +++++ $$$$$$$$$$",
"$$$$$$$$$ #@########## ooOOOOOOO ++++ $$$$$$$$$$",
"$$$$$$$$ #@@@@@@@@@@@@ ooOOOOOOO ++ $$$$",
"$$$$$$$ @ #@@@@@@@@@@@@@ ooOOOOOOO @@@@@##+ $$$",
"$$$$$$ @@ @++++++++++++++ ooOOOOOOO @@@@##++ $$$",
"$$$$$ @@@ ooOOOOOOO @@##+++ $$$",
"$$$$ @@@@@@@@@@@@@@@@@@@@@@ ooOOOOOOO ##++++ $$$",
"$$$ ######################## ooOOOOOOO @++++ $$$",
"$$$ ######################### ooOOOOOOO ++++ $$$",
"$$$ ##@@@@@@@@@@@@@@@@@@@@@@@@ ooOOOOOOO +++ $$$",
"$$$ ##@@@@@@@@@@@@@@@@@@@@@@@@@ ooOOOOOOO + $$$$",
"$$$ ##@@@@@@@@@@@@@@@@@@ ooOOOOOOO $$$$$",
"$$$ @@+++++++++++++++++++++++++++ ooOOOOOOO $$$$",
"$$$$ ooOOOOOOO $$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ooOOOOO $$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ooOOO $$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ooO $$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ o $$$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
};
const char *const *const cfg_icon[] = {
cfg_icon_0,
cfg_icon_1,
cfg_icon_2,
};
const int n_cfg_icon = 3;

143
unix/xpmpterm.c Normal file
Просмотреть файл

@ -0,0 +1,143 @@
/* XPM */
static const char *const main_icon_0[] = {
/* columns rows colors chars-per-pixel */
"16 16 6 1",
" c black",
". c blue",
"X c #808080",
"o c #C0C0C0",
"O c gray100",
"+ c None",
/* pixels */
"++++++++++++++++",
"++++++++++++++++",
"+++ ++++",
"++ OOOOOOOoX +++",
"++ O......oX +++",
"++ O......oX +++",
"++ O......oX +++",
"++ O......oX +++",
"++ O......oX +++",
"++ ooooooooX ++",
"+ XXXXXXXXXXOX +",
" OOOOOOOOOOOoX +",
" OoooooXXXXoXX +",
"+ ++",
"++++++++++++++++",
"++++++++++++++++"
};
/* XPM */
static const char *const main_icon_1[] = {
/* columns rows colors chars-per-pixel */
"32 32 7 1",
" c black",
". c navy",
"X c blue",
"o c #808080",
"O c #C0C0C0",
"+ c gray100",
"@ c None",
/* pixels */
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@ @@@@@@@@",
"@@@@@@@ OOOOOOOOOOOOOOOo @@@@@@@",
"@@@@@@ OOOOOOOOOOOOOOOoo @@@@@@@",
"@@@@@ ++++++++++++++Oooo @@@@@@@",
"@@@@@ +.............Oooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ +.XXXXXXXXXXXXOooo @@@@@@@",
"@@@@@ ++++++++++++++Oooo @@@@@@@",
"@@@@@ +OOOOOOOOOOOOOooo @@@",
"@@@@ Oooooooooooooooo OOOO+o @@",
"@@@ O OOOO+oo @@",
"@@ OOOOOOOOOOOOOOOOOOOOOO+ooo @@",
"@ +++++++++++++++++++++++Oooo @@",
"@ +OOOOOOOOOOOOOOOOOOOOOOoooo @@",
"@ +OOOOOOOOOOOOo oOOooo @@@",
"@ Ooooooooooooooooooooooooo @@@@",
"@@ @@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
};
/* XPM */
static const char *const main_icon_2[] = {
/* columns rows colors chars-per-pixel */
"48 48 7 1",
" c black",
". c navy",
"X c blue",
"o c #808080",
"O c #C0C0C0",
"+ c gray100",
"@ c None",
/* pixels */
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@ @@@@@@@@@@@",
"@@@@@@@@@@@@ OOOOOOOOOOOOOOOOOOOOOOOo @@@@@@@@@@",
"@@@@@@@@@@@ OOOOOOOOOOOOOOOOOOOOOOOoo @@@@@@@@@@",
"@@@@@@@@@@ OOOOOOOOOOOOOOOOOOOOOOOooo @@@@@@@@@@",
"@@@@@@@@@ ++++++++++++++++++++++Ooooo @@@@@@@@@@",
"@@@@@@@@@ +ooooooooooooooooooooOooooo @@@@@@@@@@",
"@@@@@@@@@ +o...................+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +o.XXXXXXXXXXXXXXXXXX+ooooo @@@@@@@@@@",
"@@@@@@@@@ +O++++++++++++++++++++ooooo @@@@@@@@@@",
"@@@@@@@@ +OOOOOOOOOOOOOOOOOOOOOoooo @@@@",
"@@@@@@@ O +OOOOOOOOOOOOOOOOOOOOOooo OOOOO++o @@@",
"@@@@@@ OO Oooooooooooooooooooooooo OOOOO++oo @@@",
"@@@@@ OOO OOOOO++ooo @@@",
"@@@@ OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO++oooo @@@",
"@@@ +++++++++++++++++++++++++++++++++++Ooooo @@@",
"@@@ ++++++++++++++++++++++++++++++++++Oooooo @@@",
"@@@ ++OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooo @@@",
"@@@ ++OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooo @@@@",
"@@@ ++OOOOOOOOOOOOOOOOOO oOOOoooo @@@@@",
"@@@ OOooooooooooooooooooooooooooooooooooo @@@@@@",
"@@@@ @@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
};
const char *const *const main_icon[] = {
main_icon_0,
main_icon_1,
main_icon_2,
};
const int n_main_icon = 3;

150
unix/xpmpucfg.c Normal file
Просмотреть файл

@ -0,0 +1,150 @@
/* XPM */
static const char *const cfg_icon_0[] = {
/* columns rows colors chars-per-pixel */
"16 16 9 1",
" c black",
". c navy",
"X c blue",
"o c #808000",
"O c yellow",
"+ c #808080",
"@ c #C0C0C0",
"# c gray100",
"$ c None",
/* pixels */
"$$$ $ $$$",
"$$ OO #####@+ $$",
"$ $ oO+XXX.++ $$",
" o $ oO.X.O++ $$",
" oO OO .O.@+ $",
"$ oOOOOoO+@@+++ ",
"$$ oooOOoO ++@+ ",
"$$ oooOO +++++ ",
"$ ##+OooOO $",
"$ #.O..+oOO $$$$",
"$ +O.XX@ oOO $$$",
"$ +.XXX@+ oOO $$",
"$ @@@@@@++ oOO $",
" ++++++++@+ oOO ",
" #@@@@+++++ oO ",
"$ $$ $"
};
/* XPM */
static const char *const cfg_icon_1[] = {
/* columns rows colors chars-per-pixel */
"32 32 9 1",
" c black",
". c navy",
"X c blue",
"o c #808000",
"O c yellow",
"+ c #808080",
"@ c #C0C0C0",
"# c gray100",
"$ c None",
/* pixels */
"$$$$$$$$$$$$$$$$ $$$$",
"$$$$$$ $$$$$$$ @@@@@@@@@@@+ $$$",
"$$$$$ OO $$$$ ##########@++ $$$",
"$$$$$ ooOO $$$ #.........@++ $$$",
"$$$$$$ ooOO $$ #.XXXXXXXX@++ $$$",
"$$ $$$ oOO $$ #.XXXX XX@++ $$$",
"$ oO $$ oOOO $ #.XXX O XX@++ $$$",
"$ oOO oOOOO $ #.X O XXX@++ $$$",
"$$ oOOOOOOO $$ #. OO XXXX@++ $$$",
"$$ ooOOOOOOO $ # OO XXXXX@++ $$$",
"$$$ ooooooOOO OO ######@++ $",
"$$$$ oo ooOOO OO +++++++++ @#+ ",
"$$$$$$ $ ooOOO @#++ ",
"$$$$$$$$$$ ooOOO OOO #######@++ ",
"$$$$$$$$$ O ooOOO @@@@@@@@+++ ",
"$$$$$ ooOOO @@+ +@++ $",
"$$$$ @@@@@@@ ooOOO $$",
"$$$ ####### OO ooOOO $$$$$$$$$$$",
"$$$ #..... OO @ ooOOO $$$$$$$$$$",
"$$$ #.XXX OO X@+ ooOOO $$$$$$$$$",
"$$$ #.XX O XX@++ ooOOO $$$$$$$$",
"$$$ #.X O XXXX@++ ooOOO $$$$$$$",
"$$$ #.X XXXXX@++ $ ooOOO $$$$$$",
"$$$ #.XXXXXXXX@++ $$ ooOOO $$$$$",
"$$$ #.XXXXXXXX@++ $$$ ooOOO $$$$",
"$$$ ##########@++ $$ ooOOO $$$",
"$$ @+++++++++++ @#+ $$ ooOOO $$",
"$ @ @#++ $$$ ooO $$$",
" ################@++ $$$$ o $$$$",
" #@@@@@@@@@@@@@@@+++ $$$$$ $$$$$",
" #@@@@@@@@+ +@++ $$$$$$$$$$$$",
"$ $$$$$$$$$$$$$"
};
/* XPM */
static const char *const cfg_icon_2[] = {
/* columns rows colors chars-per-pixel */
"48 48 9 1",
" c black",
". c navy",
"X c blue",
"o c #808000",
"O c yellow",
"+ c #808080",
"@ c #C0C0C0",
"# c gray100",
"$ c None",
/* pixels */
"$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$",
"$$$$$$$$$$$$$$$$$$$$$$$ @@@@@@@@@@@@@@@@@+ $$$$$",
"$$$$$$$$$ $$$$$$$$$$$ @@@@@@@@@@@@@@@@@++ $$$$$",
"$$$$$$$$ OO $$$$$$$ ################@+++ $$$$$",
"$$$$$$$$ oOOOO $$$$$$ #++++++++++++++@++++ $$$$$",
"$$$$$$$$$ ooOOO $$$$$ #+.............#++++ $$$$$",
"$$$$$$$$$$ ooOOO $$$$ #+.XXXXXXXXXXXX#++++ $$$$$",
"$$$$$$$$$$$ oOOO $$$$ #+.XXXXXXXXXXXX#++++ $$$$$",
"$$$ $$$$$$ oOOO $$$$ #+.XXXXXXX XXX#++++ $$$$$",
"$$ oO $$$$$ oOOOO $$$ #+.XXXXXX O XXX#++++ $$$$$",
"$$ ooO $$$$ oOOOO $$$ #+.XXXXX O XXXX#++++ $$$$$",
"$$$ oOO OOOOO $$$$ #+.XXX O XXXXX#++++ $$$$$",
"$$$ ooOOOOOOOOOOO $$$ #+.XX OO XXXXXX#++++ $$$$$",
"$$$ ooOOOOOOOOOOOO $$ #+.X OO XXXXXXX#++++ $$$$$",
"$$$$ oooOOOOoOOOOOO $ #@ OO #########++++ $",
"$$$$$ oooooooOOOOOOO # OOO @@@@@@@@@@+++ @@##+ ",
"$$$$$$ oo ooOOOOOOO OO +++++++++++++ @@##++ ",
"$$$$$$$$$ $ ooOOOOOOO O @@##+++ ",
"$$$$$$$$$$$$$ ooOOOOOOO ##############@+++ ",
"$$$$$$$$$$$$$$ ooOOOOOOO OOOO ############@++++ ",
"$$$$$$$$$$$$$$$ ooOOOOOOO O @@@@@@@@@@@@@+++++ ",
"$$$$$$$$$$$$$$$ ooOOOOOOO @@@@@+ @@++++ $",
"$$$$$$$$$$$$$$ OO ooOOOOOOO +++++++++++++++++ $$",
"$$$$$$$$$$$$$$$ ooOOOOOOO $$$",
"$$$$$$$ ooOOOOOOO $$$$$$$$$$$$$$$$$$",
"$$$$$$ @@@@@@@@@@ O ooOOOOOOO $$$$$$$$$$$$$$$$$",
"$$$$$ @@@@@@@@@@ OOO ooOOOOOOO $$$$$$$$$$$$$$$$",
"$$$$ ########## OO #@ ooOOOOOOO $$$$$$$$$$$$$$$",
"$$$$ #++++++++ OO ++@++ ooOOOOOOO $$$$$$$$$$$$$$",
"$$$$ #+...... OO ...#+++ ooOOOOOOO $$$$$$$$$$$$$",
"$$$$ #+.XXXX O XXXX#++++ ooOOOOOOO $$$$$$$$$$$$",
"$$$$ #+.XXX O XXXXXX#++++ ooOOOOOOO $$$$$$$$$$$",
"$$$$ #+.XX O XXXXXXX#++++ $ ooOOOOOOO $$$$$$$$$$",
"$$$$ #+.XX XXXXXXXX#++++ $$ ooOOOOOOO $$$$$$$$$",
"$$$$ #+.XXXXXXXXXXXX#++++ $$$ ooOOOOOOO $$$$$$$$",
"$$$$ #+.XXXXXXXXXXXX#++++ $$$$ ooOOOOOOO $$$$$$$",
"$$$$ #+.XXXXXXXXXXXX#++++ $$$$$ ooOOOOOOO $$$$$$",
"$$$$ #+.XXXXXXXXXXXX#++++ $$$$$$ ooOOOOOOO $$$$$",
"$$$$ #@##############++++ $$$ ooOOOOOOO $$$$",
"$$$ #@@@@@@@@@@@@@@@+++ @@##+ $$$ ooOOOOOOO $$$",
"$$ @ @+++++++++++++++++ @@##++ $$$$ ooOOOOO $$$$",
"$ @@ @@##+++ $$$$$ ooOOO $$$$$",
" #########################@+++ $$$$$$ ooO $$$$$$",
" ########################@++++ $$$$$$$ o $$$$$$$",
" ##@@@@@@@@@@@@@@@@@@@@@@+++++ $$$$$$$$ $$$$$$$$",
" ##@@@@@@@@@@@@+ @@++++ $$$$$$$$$$$$$$$$$$",
" @@+++++++++++++++++++++++++ $$$$$$$$$$$$$$$$$$$",
"$ $$$$$$$$$$$$$$$$$$$$"
};
const char *const *const cfg_icon[] = {
cfg_icon_0,
cfg_icon_1,
cfg_icon_2,
};
const int n_cfg_icon = 3;

147
unix/xpmputty.c Normal file
Просмотреть файл

@ -0,0 +1,147 @@
/* XPM */
static const char *const main_icon_0[] = {
/* columns rows colors chars-per-pixel */
"16 16 8 1",
" c black",
". c navy",
"X c blue",
"o c yellow",
"O c #808080",
"+ c #C0C0C0",
"@ c gray100",
"# c None",
/* pixels */
"###### ###",
"##### @@@@@+O ##",
"##### @XXX.OO ##",
"##### @XX.oOO ##",
"##### @..o.+O #",
"##### OooO++OOO ",
"#### oooo OO+O ",
"## oooo OOOOOO ",
"# @@OooOO #",
"# @.o..+O ######",
"# Oo.XX+O ######",
"# O.XXX+O #####",
"# ++++++OOO ####",
" OOOOOOOO+O ####",
" @++++OOOOO ####",
"# #####"
};
/* XPM */
static const char *const main_icon_1[] = {
/* columns rows colors chars-per-pixel */
"32 32 8 1",
" c black",
". c navy",
"X c blue",
"o c yellow",
"O c #808080",
"+ c #C0C0C0",
"@ c gray100",
"# c None",
/* pixels */
"################ ####",
"############### +++++++++++O ###",
"############## @@@@@@@@@@+OO ###",
"############## @.........+OO ###",
"############## @.XXXXXXXX+OO ###",
"############## @.XXXX XX+OO ###",
"############## @.XXX o XX+OO ###",
"############## @.X o XXX+OO ###",
"############## @. oo XXXX+OO ###",
"############## @ oo XXXXX+OO ###",
"############## oo @@@@@@+OO #",
"############# ooo OOOOOOOOO +@O ",
"############ ooo +@OO ",
"########## oooooooo @@@@@@@+OO ",
"######### oooooooo ++++++++OOO ",
"##### ooo +++O O+OO #",
"#### +++++++ ooo ##",
"### @@@@@@@ oo O ##############",
"### @..... oo +OO ##############",
"### @.XXX oo X+OO ##############",
"### @.XX o XX+OO ##############",
"### @.X o XXXX+OO ##############",
"### @.X XXXXX+OO ##############",
"### @.XXXXXXXX+OO ##############",
"### @.XXXXXXXX+OO ##############",
"### @@@@@@@@@@+OO ############",
"## +OOOOOOOOOOO +@O ###########",
"# + +@OO ###########",
" @@@@@@@@@@@@@@@@+OO ###########",
" @+++++++++++++++OOO ###########",
" @++++++++O O+OO ############",
"# #############"
};
/* XPM */
static const char *const main_icon_2[] = {
/* columns rows colors chars-per-pixel */
"48 48 8 1",
" c black",
". c navy",
"X c blue",
"o c yellow",
"O c #808080",
"+ c #C0C0C0",
"@ c gray100",
"# c None",
/* pixels */
"######################## ######",
"####################### +++++++++++++++++O #####",
"###################### +++++++++++++++++OO #####",
"##################### @@@@@@@@@@@@@@@@+OOO #####",
"##################### @OOOOOOOOOOOOOO+OOOO #####",
"##################### @O.............@OOOO #####",
"##################### @O.XXXXXXXXXXXX@OOOO #####",
"##################### @O.XXXXXXXXXXXX@OOOO #####",
"##################### @O.XXXXXXX XXX@OOOO #####",
"##################### @O.XXXXXX o XXX@OOOO #####",
"##################### @O.XXXXX o XXXX@OOOO #####",
"##################### @O.XXX o XXXXX@OOOO #####",
"##################### @O.XX oo XXXXXX@OOOO #####",
"##################### @O.X oo XXXXXXX@OOOO #####",
"##################### @+ oo @@@@@@@@@OOOO #",
"#################### @ ooo ++++++++++OOO ++@@O ",
"################### + oo OOOOOOOOOOOOO ++@@OO ",
"################## + oo ++@@OOO ",
"################# @ ooo @@@@@@@@@@@@@@+OOO ",
"################# oooooooooo @@@@@@@@@@@@+OOOO ",
"################# ooooooooo +++++++++++++OOOOO ",
"############### ooooooooo +++++O ++OOOO #",
"############## oooooooooo OOOOOOOOOOOOOOOOOOO ##",
"############### ooo ###",
"####### oo #######################",
"###### ++++++++++ oo ++O ######################",
"##### ++++++++++ ooo ++OO ######################",
"#### @@@@@@@@@@ oo @+OOO ######################",
"#### @OOOOOOOO oo OO+OOOO ######################",
"#### @O...... oo ...@OOOO ######################",
"#### @O.XXXX o XXXX@OOOO ######################",
"#### @O.XXX o XXXXXX@OOOO ######################",
"#### @O.XX o XXXXXXX@OOOO ######################",
"#### @O.XX XXXXXXXX@OOOO ######################",
"#### @O.XXXXXXXXXXXX@OOOO ######################",
"#### @O.XXXXXXXXXXXX@OOOO ######################",
"#### @O.XXXXXXXXXXXX@OOOO ######################",
"#### @O.XXXXXXXXXXXX@OOOO ######################",
"#### @+@@@@@@@@@@@@@@OOOO ##################",
"### @+++++++++++++++OOO ++@@O #################",
"## + +OOOOOOOOOOOOOOOOO ++@@OO #################",
"# ++ ++@@OOO #################",
" @@@@@@@@@@@@@@@@@@@@@@@@@+OOO #################",
" @@@@@@@@@@@@@@@@@@@@@@@@+OOOO #################",
" @@++++++++++++++++++++++OOOOO #################",
" @@++++++++++++O ++OOOO ##################",
" ++OOOOOOOOOOOOOOOOOOOOOOOOO ###################",
"# ####################"
};
const char *const *const main_icon[] = {
main_icon_0,
main_icon_1,
main_icon_2,
};
const int n_main_icon = 3;