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

Reply via email to