Selective Transparency - configuration (Jaron Omega <jaron@sock-stream.net>).
SVN revision: 10506
This commit is contained in:
parent
ec266936d3
commit
f549bae73e
20
src/E.h
20
src/E.h
|
@ -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 @@ typedef struct
|
|||
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 SettingsTooltips(void);
|
|||
void SettingsAudio(void);
|
||||
void SettingsSpecialFX(void);
|
||||
void SettingsBackground(Background * bg);
|
||||
void SettingsSelectiveTransparency(void);
|
||||
void SettingsIconbox(char *name);
|
||||
void SettingsGroups(EWin * ewin);
|
||||
void SettingsDefaultGroupControl(void);
|
||||
|
|
11
src/conf.h
11
src/conf.h
|
@ -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
|
||||
|
|
44
src/config.c
44
src/config.c
|
@ -902,9 +902,41 @@ Config_Control(FILE * ConfigFile)
|
|||
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 @@ SaveUserControlConfig(FILE * autosavefile)
|
|||
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
|
||||
|
|
55
src/iclass.c
55
src/iclass.c
|
@ -394,11 +394,52 @@ ImageStateMakePmapMask(ImageState * is, Drawable win, PmapMask * pmm,
|
|||
{
|
||||
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 +469,7 @@ ImageStateMakePmapMask(ImageState * is, Drawable win, PmapMask * pmm,
|
|||
imlib_image_has_alpha()));
|
||||
|
||||
#ifdef ENABLE_TRANSPARENCY
|
||||
if (trans)
|
||||
if (flags != ICLASS_ATTR_OPAQUE)
|
||||
{
|
||||
Window cr;
|
||||
Pixmap bg;
|
||||
|
@ -440,7 +481,7 @@ ImageStateMakePmapMask(ImageState * is, Drawable win, PmapMask * pmm,
|
|||
{
|
||||
/* 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 +502,19 @@ ImageStateMakePmapMask(ImageState * is, Drawable win, PmapMask * pmm,
|
|||
{
|
||||
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
|
||||
|
|
435
src/settings.c
435
src/settings.c
|
@ -2443,6 +2443,16 @@ static char tmp_hiq;
|
|||
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 @@ CB_ConfigureBG(int val, void *data)
|
|||
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 @@ CB_ThemeTransparency(int val, void *data)
|
|||
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 @@ SettingsBackground(Background * bg)
|
|||
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 @@ SettingsBackground(Background * bg)
|
|||
|
||||
#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 @@ SettingsBackground(Background * bg)
|
|||
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);
|
||||
|
|
10
src/setup.c
10
src/setup.c
|
@ -437,6 +437,16 @@ SetupX(void)
|
|||
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();
|
||||
|
|
Loading…
Reference in New Issue