+#define GENLIST_PROGRAM_BG_DIALOGUE \
+ program { name: "bg_top"; \
+ signal: "elm,state,top"; \
+ source: "*"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ new st2[31]; \
+ new Float:vl2; \
+ get_state(PART:"2depth", st, 30, vl); \
+ get_state(PART:"bg_dialogue", st2, 30, vl2); \
+ if (!strcmp(st2, "selected") || \
+ !strcmp(st2, "top_selected") || \
+ !strcmp(st2, "center_selected") || \
+ !strcmp(st2, "bottom_selected")) \
+ set_state(PART:"bg_dialogue", "top_selected", 0.0); \
+ else if (!strcmp(st, "2depth")) \
+ set_state(PART:"bg_dialogue", "2depth_top", 0.0); \
+ else \
+ set_state(PART:"bg_dialogue", "top", 0.0); \
+ } \
+ } \
+ program { name: "bg_center"; \
+ signal: "elm,state,center"; \
+ source: "*"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ new st2[31]; \
+ new Float:vl2; \
+ get_state(PART:"2depth", st, 30, vl); \
+ get_state(PART:"bg_dialogue", st2, 30, vl2); \
+ if (!strcmp(st2, "selected") || \
+ !strcmp(st2, "top_selected") || \
+ !strcmp(st2, "center_selected") || \
+ !strcmp(st2, "bottom_selected")) \
+ set_state(PART:"bg_dialogue", "center_selected", 0.0); \
+ else if (!strcmp(st, "2depth")) \
+ set_state(PART:"bg_dialogue", "2depth_center", 0.0); \
+ else \
+ set_state(PART:"bg_dialogue", "center", 0.0); \
+ } \
+ } \
+ program { name: "bg_bottom"; \
+ signal: "elm,state,bottom"; \
+ source: "*"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ new st2[31]; \
+ new Float:vl2; \
+ get_state(PART:"2depth", st, 30, vl); \
+ get_state(PART:"bg_dialogue", st2, 30, vl2); \
+ if (!strcmp(st2, "selected") || \
+ !strcmp(st2, "top_selected") || \
+ !strcmp(st2, "center_selected") || \
+ !strcmp(st2, "bottom_selected")) \
+ set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
+ else if (!strcmp(st, "2depth")) \
+ set_state(PART:"bg_dialogue", "2depth_bottom", 0.0); \
+ else \
+ set_state(PART:"bg_dialogue", "bottom", 0.0); \
+ } \
+ }
+