Hi, Here's a patch to todays pull. Biggest change is how to manage the settings. There is a 'Advanced Settings' button that spawns a new dialog for picking and choosing.
Jaron Omega [EMAIL PROTECTED] -------------------------------CUT HERE---------------------------- diff -ur e16/e/src/E.h e16.st/e/src/E.h --- e16/e/src/E.h 2004-06-07 09:46:07.000000000 -0700 +++ e16.st/e/src/E.h 2004-06-12 13:49:45.000000000 -0700 @@ -78,6 +78,10 @@ #define ST_PAGER 9 #define ST_WARPLIST 10 +#define ICLASS_ATTR_OPAQUE 0 /* No transparency */ +#define ICLASS_ATTR_BG 1 /* Background transparency*/ +#define ICLASS_ATTR_GLASS 2 /* Glass transparency */ + #else #include <Imlib.h> @@ -1229,6 +1233,21 @@ char warpiconified; char warpfocused; } warplist; +#if USE_IMLIB2 + struct + { + int border; + int widget; + int iconbox; + int menu; + int menu_item; + int tooltip; + int dialog; + int hilight; + int pager; + int warplist; + } st_trans; +#endif int deskmode; int movemode; int resizemode; @@ -2538,6 +2557,7 @@ void SettingsAudio(void); void SettingsSpecialFX(void); void SettingsBackground(Background * bg); +void SettingsSelectiveTransparency(void); void SettingsIconbox(char *name); void SettingsGroups(EWin * ewin); void SettingsDefaultGroupControl(void); diff -ur e16/e/src/conf.h e16.st/e/src/conf.h --- e16/e/src/conf.h 2004-02-11 07:39:12.000000000 -0800 +++ e16.st/e/src/conf.h 2004-06-09 23:42:48.000000000 -0700 @@ -143,6 +143,17 @@ #define CONTROL_GROUP_SWAPMOVE 1372 #define CONTROL_THEME_TRANSPARENCY 1373 +#define CONTROL_ST_BORDER 1375 +#define CONTROL_ST_WIDGET 1376 +#define CONTROL_ST_ICONBOX 1377 +#define CONTROL_ST_MENU 1378 +#define CONTROL_ST_MENU_ITEM 1379 +#define CONTROL_ST_TOOLTIP 1380 +#define CONTROL_ST_DIALOG 1381 +#define CONTROL_ST_HILIGHT 1382 +#define CONTROL_ST_PAGER 1383 +#define CONTROL_ST_WARPLIST 1384 + #define ICLASS_NAME 350 #define ICLASS_NORMAL 351 #define ICLASS_CLICKED 352 diff -ur e16/e/src/config.c e16.st/e/src/config.c --- e16/e/src/config.c 2004-05-07 15:29:30.000000000 -0700 +++ e16.st/e/src/config.c 2004-06-09 23:46:54.000000000 -0700 @@ -902,9 +902,41 @@ case CONTROL_USER_BG: Conf.backgrounds.user = i2; break; +#ifdef USE_IMLIB2 case CONTROL_THEME_TRANSPARENCY: Conf.theme.transparency = i2; break; + case CONTROL_ST_BORDER: + Conf.st_trans.border = i2; + break; + case CONTROL_ST_WIDGET: + Conf.st_trans.widget = i2; + break; + case CONTROL_ST_ICONBOX: + Conf.st_trans.iconbox = i2; + break; + case CONTROL_ST_MENU: + Conf.st_trans.menu = i2; + break; + case CONTROL_ST_MENU_ITEM: + Conf.st_trans.menu_item = i2; + break; + case CONTROL_ST_TOOLTIP: + Conf.st_trans.tooltip = i2; + break; + case CONTROL_ST_DIALOG: + Conf.st_trans.dialog = i2; + break; + case CONTROL_ST_HILIGHT: + Conf.st_trans.hilight = i2; + break; + case CONTROL_ST_PAGER: + Conf.st_trans.pager = i2; + break; + case CONTROL_ST_WARPLIST: + Conf.st_trans.warplist = i2; + break; +#endif case CONTROL_DOCKSTARTPOS: sscanf(s, "%*s %d %d ", &Conf.dock.startx, &Conf.dock.starty); break; @@ -3898,7 +3930,19 @@ fprintf(autosavefile, "1368 %i\n", (int)Conf.tooltips.showroottooltip); fprintf(autosavefile, "1369 %i %i %i\n", (int)Conf.pagers.sel_button, (int)Conf.pagers.win_button, (int)Conf.pagers.menu_button); +#ifdef USE_IMLIB2 fprintf(autosavefile, "1373 %i\n", (int)Conf.theme.transparency); + fprintf(autosavefile, "1375 %i\n", (int)Conf.st_trans.border); + fprintf(autosavefile, "1376 %i\n", (int)Conf.st_trans.widget); + fprintf(autosavefile, "1377 %i\n", (int)Conf.st_trans.iconbox); + fprintf(autosavefile, "1378 %i\n", (int)Conf.st_trans.menu); + fprintf(autosavefile, "1379 %i\n", (int)Conf.st_trans.menu_item); + fprintf(autosavefile, "1380 %i\n", (int)Conf.st_trans.tooltip); + fprintf(autosavefile, "1381 %i\n", (int)Conf.st_trans.dialog); + fprintf(autosavefile, "1382 %i\n", (int)Conf.st_trans.hilight); + fprintf(autosavefile, "1383 %i\n", (int)Conf.st_trans.pager); + fprintf(autosavefile, "1384 %i\n", (int)Conf.st_trans.warplist); +#endif #ifdef HAS_XINERAMA fprintf(autosavefile, "2013 %i\n", (int)Conf.extra_head); #endif diff -ur e16/e/src/iclass.c e16.st/e/src/iclass.c --- e16/e/src/iclass.c 2004-06-03 11:04:44.000000000 -0700 +++ e16.st/e/src/iclass.c 2004-06-09 23:43:40.000000000 -0700 @@ -394,11 +394,51 @@ { int apply, trans; int ww, hh; + int flags; PmapMask pmml; #ifdef ENABLE_TRANSPARENCY Imlib_Image *ii = NULL; + switch(image_type) { + case ST_UNKNWN: + flags = ICLASS_ATTR_OPAQUE; + break; + case ST_BORDER: + flags = Conf.st_trans.border; + break; + case ST_WIDGET: + flags = Conf.st_trans.widget; + break; + case ST_ICONBOX: + flags = Conf.st_trans.iconbox; + break; + case ST_MENU: + flags = Conf.st_trans.menu; + break; + case ST_MENU_ITEM: + flags = Conf.st_trans.menu_item; + break; + case ST_TOOLTIP: + flags = Conf.st_trans.tooltip; + break; + case ST_DIALOG: + flags = Conf.st_trans.dialog; + break; + case ST_HILIGHT: + flags = Conf.st_trans.hilight; + break; + case ST_PAGER: + flags = Conf.st_trans.pager; + break; + case ST_WARPLIST: + flags = Conf.st_trans.warplist; + break; + default: + flags = ICLASS_ATTR_OPAQUE; + break; + } + /* * is->transparent flags: * 0x01: Use desktop background pixmap as base @@ -428,7 +468,7 @@ imlib_image_has_alpha())); #ifdef ENABLE_TRANSPARENCY - if (trans) + if (flags != ICLASS_ATTR_OPAQUE) { Window cr; Pixmap bg; @@ -440,7 +480,7 @@ { /* Create the background base image */ bg = BackgroundGetPixmap(desks.desk[desks.current].bg); - if ((is->transparent & 0x02) != 0 || bg == None) + if (flags == ICLASS_ATTR_GLASS || bg == None) bg = VRoot.win; imlib_context_set_drawable(bg); ii = imlib_create_image_from_drawable(0, xx, yy, w, h, 1); @@ -461,13 +501,17 @@ { imlib_context_set_blend(1); #ifdef ENABLE_THEME_TRANSPARENCY - imlib_context_set_color_modifier(icm); + if(flags != ICLASS_ATTR_OPAQUE) { + imlib_context_set_color_modifier(icm); + } #endif imlib_context_set_operation(IMLIB_OP_COPY); imlib_blend_image_onto_image(is->im, 0, 0, 0, ww, hh, 0, 0, w, h); imlib_context_set_blend(0); #ifdef ENABLE_THEME_TRANSPARENCY - imlib_context_set_color_modifier(NULL); + if(flags != ICLASS_ATTR_OPAQUE) { + imlib_context_set_color_modifier(NULL); + } #if 0 /* Do we ever need to free it? */ imlib_free_color_modifier(); #endif diff -ur e16/e/src/menus.c e16.st/e/src/menus.c --- e16/e/src/menus.c 2004-06-08 08:28:31.000000000 -0700 +++ e16.st/e/src/menus.c 2004-06-12 16:15:13.000000000 -0700 @@ -556,6 +556,7 @@ m->redraw = (Conf.theme.transparency || IclassIsTransparent(m->style->bg_iclass)) ? 1 : -1; + if (m->win) MenuRealize(m); @@ -2637,7 +2638,7 @@ int fy[256]; int tx[256]; int ty[256]; - int i; + int i, t; int xdist = 0, ydist = 0; if (ewin2->x + ewin2->w > VRoot.w) @@ -2672,6 +2673,7 @@ if (Conf.warpmenus) XWarpPointer(disp, None, mi->win, 0, 0, 0, 0, mi->text_w / 2, mi->text_h / 2); + } } } diff -ur e16/e/src/settings.c e16.st/e/src/settings.c --- e16/e/src/settings.c 2004-06-06 09:38:17.000000000 -0700 +++ e16.st/e/src/settings.c 2004-06-12 17:00:59.000000000 -0700 @@ -2443,6 +2443,16 @@ static char tmp_userbg; static int tmp_bg_timeout; static int tmp_theme_transparency; +static int tmp_st_border; +static int tmp_st_widget; +static int tmp_st_menu; +static int tmp_st_menu_item; +static int tmp_st_tooltip; +static int tmp_st_dialog; +static int tmp_st_hilight; +static int tmp_st_pager; +static int tmp_st_iconbox; +static int tmp_st_warplist; static void BG_RedrawView(char nuke_old); @@ -2456,9 +2466,22 @@ Conf.backgrounds.timeout = tmp_bg_timeout; Conf.backgrounds.hiquality = tmp_hiq; Conf.backgrounds.user = tmp_userbg; + #ifdef ENABLE_THEME_TRANSPARENCY + Conf.st_trans.border = tmp_st_border; + Conf.st_trans.widget = tmp_st_widget; + Conf.st_trans.menu = tmp_st_menu; + Conf.st_trans.menu_item = tmp_st_menu_item; + Conf.st_trans.tooltip = tmp_st_tooltip; + Conf.st_trans.dialog = tmp_st_dialog; + Conf.st_trans.hilight = tmp_st_hilight; + Conf.st_trans.pager = tmp_st_pager; + Conf.st_trans.iconbox = tmp_st_iconbox; + Conf.st_trans.warplist = tmp_st_warplist; + TransparencySet(tmp_theme_transparency); #endif + ESetColor(&(tmp_bg->bg_solid), tmp_bg_r, tmp_bg_g, tmp_bg_b); tmp_bg->bg_tile = tmp_bg_tile; tmp_bg->bg.keep_aspect = tmp_bg_keep_aspect; @@ -3148,6 +3171,395 @@ return; val = 0; } +static void +CB_AdvancedSettings(int val, void *data) +{ + if(data == NULL && val == 0) { + SettingsSelectiveTransparency(); + } + return; +} + +void +SettingsSelectiveTransparency(void) +{ + Dialog *d; + + /* Dialog *dexp; */ + DItem *table, *di; + DItem *radio_border, *radio_widget, *radio_iconbox, + *radio_menu, *radio_menu_item, *radio_tooltip, + *radio_dialog, *radio_hilight, *radio_pager, + *radio_warplist; + + if ((d = + FindItem("CONFIGURE_SELECTIVETRANSPARENCY", 0, LIST_FINDBY_NAME, + LIST_TYPE_DIALOG))) + { + SoundPlay("SOUND_SETTINGS_ACTIVE"); + ShowDialog(d); + return; + } + SoundPlay("SOUND_SETTINGS_SELECTIVETRANSPARENCY"); + + tmp_st_border = Conf.st_trans.border; + tmp_st_widget = Conf.st_trans.widget; + tmp_st_iconbox = Conf.st_trans.iconbox; + tmp_st_menu = Conf.st_trans.menu; + tmp_st_menu_item = Conf.st_trans.menu_item; + tmp_st_tooltip = Conf.st_trans.tooltip; + tmp_st_dialog = Conf.st_trans.dialog; + tmp_st_hilight = Conf.st_trans.hilight; + tmp_st_pager = Conf.st_trans.pager; + tmp_st_warplist = Conf.st_trans.warplist; + + d = DialogCreate("CONFIGURE_SELECTIVETRANSPARENCY"); + DialogSetTitle(d, _("Selective Transparency Settings")); + + table = DialogInitItem(d); + DialogItemTableSetOptions(table, 11, 0, 0, 0); + + if (Conf.dialogs.headers) + { + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemTextSetText(di, + _("Enlightenment Selective Transparency\n" + "Settings Dialog\n")); + + di = DialogAddItem(table, DITEM_SEPARATOR); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSeparatorSetOrientation(di, 0); + } + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Changes Might Require Restart:")); + + di = DialogAddItem(table, DITEM_SEPARATOR); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 2, 10); + DialogItemSetFill(di, 1, 0); + DialogItemSeparatorSetOrientation(di, 0); + + di = DialogAddItem(table, DITEM_NONE); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Borders:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Menus:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Menu Items:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Hilights:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Dialog:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("E Widgets:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Tooltips:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Pager:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Warplist:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Iconbox:")); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Opaque")); + + radio_border = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_border); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_menu = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_menu); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_menu_item = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_menu_item); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_hilight = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_hilight); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_dialog = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_dialog); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_widget = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_widget); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_tooltip = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_tooltip); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_pager = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_pager); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_warplist = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_warplist); + DialogItemRadioButtonGroupSetVal(di, 0); + + radio_iconbox = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_iconbox); + DialogItemRadioButtonGroupSetVal(di, 0); + + di = DialogAddItem(table, DITEM_SEPARATOR); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 4, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSeparatorSetOrientation(di, 0); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 8, 8); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Transparency Style:")); + + di = DialogAddItem(table, DITEM_SEPARATOR); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 2, 4); + DialogItemSetFill(di, 1, 0); + DialogItemSeparatorSetOrientation(di, 0); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Background")); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_border); + DialogItemRadioButtonGroupSetVal(di, 1); + DialogItemRadioButtonGroupSetValPtr(radio_border, &tmp_st_border); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_menu); + DialogItemRadioButtonGroupSetVal(di, 1); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_menu_item); + DialogItemRadioButtonGroupSetVal(di, 1); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_hilight); + DialogItemRadioButtonGroupSetVal(di, 1); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_dialog); + DialogItemRadioButtonGroupSetVal(di, 1); + DialogItemRadioButtonGroupSetValPtr(radio_dialog, &tmp_st_dialog); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_widget); + DialogItemRadioButtonGroupSetVal(di, 1); + DialogItemRadioButtonGroupSetValPtr(radio_widget, &tmp_st_widget); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_tooltip); + DialogItemRadioButtonGroupSetVal(di, 1); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_pager); + DialogItemRadioButtonGroupSetVal(di, 1); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_warplist); + DialogItemRadioButtonGroupSetVal(di, 1); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_iconbox); + DialogItemRadioButtonGroupSetVal(di, 1); + DialogItemRadioButtonGroupSetValPtr(radio_iconbox, &tmp_st_iconbox); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _("Glass")); + + di = DialogAddItem(table, DITEM_NONE); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_menu); + DialogItemRadioButtonGroupSetVal(di, 2); + DialogItemRadioButtonGroupSetValPtr(radio_menu, &tmp_st_menu); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_menu_item); + DialogItemRadioButtonGroupSetVal(di, 2); + DialogItemRadioButtonGroupSetValPtr(radio_menu_item, &tmp_st_menu_item); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_hilight); + DialogItemRadioButtonGroupSetVal(di, 2); + DialogItemRadioButtonGroupSetValPtr(radio_hilight, &tmp_st_hilight); + + di = DialogAddItem(table, DITEM_NONE); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + + di = DialogAddItem(table, DITEM_NONE); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_tooltip); + DialogItemRadioButtonGroupSetVal(di, 2); + DialogItemRadioButtonGroupSetValPtr(radio_tooltip, &tmp_st_tooltip); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_pager); + DialogItemRadioButtonGroupSetVal(di, 2); + DialogItemRadioButtonGroupSetValPtr(radio_pager, &tmp_st_pager); + + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemRadioButtonSetFirst(di, radio_warplist); + DialogItemRadioButtonGroupSetVal(di, 2); + DialogItemRadioButtonGroupSetValPtr(radio_warplist, &tmp_st_warplist); + + di = DialogAddItem(table, DITEM_NONE); + DialogItemSetPadding(di, 2, 20, 2, 2); + DialogItemSetFill(di, 1, 0); + + di = DialogAddItem(table, DITEM_SEPARATOR); + DialogItemSetColSpan(di, 12); + DialogItemSetPadding(di, 2, 2, 4, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSeparatorSetOrientation(di, 0); + + DialogAddButton(d, _("OK"), CB_ConfigureBG, 1); + DialogAddButton(d, _("Apply"), CB_ConfigureBG, 0); + DialogAddButton(d, _("Close"), CB_ConfigureBG, 1); + DialogSetExitFunction(d, CB_ConfigureBG, 2, d); + DialogBindKey(d, "Escape", CB_SettingsEscape, 0, d); + DialogBindKey(d, "Return", CB_ConfigureBG, 0, d); + + ShowDialog(d); +} #endif void @@ -3182,6 +3594,19 @@ tmp_bg_timeout = Conf.backgrounds.timeout; tmp_theme_transparency = Conf.theme.transparency; +#ifdef USE_IMLIB2 + tmp_st_border = Conf.st_trans.border; + tmp_st_widget = Conf.st_trans.widget; + tmp_st_iconbox = Conf.st_trans.iconbox; + tmp_st_menu = Conf.st_trans.menu; + tmp_st_menu_item = Conf.st_trans.menu_item; + tmp_st_tooltip = Conf.st_trans.tooltip; + tmp_st_dialog = Conf.st_trans.dialog; + tmp_st_hilight = Conf.st_trans.hilight; + tmp_st_pager = Conf.st_trans.pager; + tmp_st_warplist = Conf.st_trans.warplist; +#endif + d = bg_sel_dialog = DialogCreate("CONFIGURE_BG"); DialogSetTitle(d, _("Desktop Background Settings")); @@ -3547,7 +3972,7 @@ #ifdef ENABLE_THEME_TRANSPARENCY di = label = DialogAddItem(table, DITEM_TEXT); - DialogItemSetColSpan(di, 3); + DialogItemSetColSpan(di, 2); DialogItemSetPadding(di, 2, 2, 2, 2); DialogItemSetFill(di, 1, 0); DialogItemSetAlign(di, 512, 512); @@ -3555,6 +3980,14 @@ tmp_theme_transparency); DialogItemTextSetText(di, s); + di = DialogAddItem(table, DITEM_BUTTON); + DialogItemSetColSpan(di, 1); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 0, 0); + DialogItemSetAlign(di, 1024, 512); + DialogItemButtonSetText(di, _("Advanced Settings\n")); + DialogItemSetCallback(di, CB_AdvancedSettings, 0, NULL); + di = DialogAddItem(table, DITEM_SLIDER); DialogItemSetColSpan(di, 3); DialogItemSliderSetMinLength(di, 10); diff -ur e16/e/src/setup.c e16.st/e/src/setup.c --- e16/e/src/setup.c 2004-05-31 12:47:35.000000000 -0700 +++ e16.st/e/src/setup.c 2004-06-10 00:47:26.000000000 -0700 @@ -437,6 +437,16 @@ Conf.manual_placement = 0; Conf.edge_flip_resistance = 15; +#ifdef USE_IMLIB2 + Conf.st_trans.menu = ICLASS_ATTR_GLASS; + Conf.st_trans.menu_item = ICLASS_ATTR_OPAQUE; + Conf.st_trans.tooltip = ICLASS_ATTR_GLASS; + Conf.st_trans.widget = ICLASS_ATTR_OPAQUE; + Conf.st_trans.border = ICLASS_ATTR_OPAQUE; + Conf.st_trans.iconbox = ICLASS_ATTR_OPAQUE; + Conf.st_trans.dialog = ICLASS_ATTR_BG; +#endif + ScreenInit(); MenusInit(); ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. >From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ enlightenment-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel