Added auto_setbg to automatically set your background to the current image

at every switch.


SVN revision: 1477
This commit is contained in:
Michael Jennings 1999-12-01 23:23:17 +00:00
parent 664df20d8c
commit 3fe418dd58
1 changed files with 20 additions and 10 deletions

View File

@ -45,11 +45,16 @@
#define NEXT_PIC() ((void) 0)
#define INC_PIC() do {idx++; if (idx == image_cnt) idx = 0;} while (0)
#define AUTOBG_OFF 0
#define AUTOBG_TILED 1
#define AUTOBG_SCALED 2
#define AUTOBG_PSCALED 3
Epplet_gadget close_button, play_button, pause_button, prev_button, next_button, zoom_button, bg_popup, bg_button, picture;
unsigned long idx = 0, image_cnt = 0;
double delay = 5.0;
char **filenames = NULL, *path, *zoom_cmd;
unsigned char paused = 0;
unsigned char paused = 0, auto_setbg = AUTOBG_OFF;
Window zoom_win = None;
int w = 3, h = 3;
@ -164,31 +169,22 @@ set_background(int tiled, int keep_aspect) {
Esnprintf(bg_name, sizeof(bg_name), "E_SLIDES_BG_%s", filenames[CUR_PIC()]);
Esnprintf(buff, sizeof(buff), "background %s bg.file %s/%s", bg_name, path, filenames[CUR_PIC()]);
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.solid 0 0 0", bg_name);
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.tile %d", bg_name, tiled);
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.keep_aspect %d", bg_name, keep_aspect);
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.xperc %d", bg_name, (tiled ? 0 : 1024));
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.yperc %d", bg_name, (tiled ? 0 : 1024));
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.xjust %d", bg_name, (tiled ? 0 : 512));
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "background %s bg.yjust %d", bg_name, (tiled ? 0 : 512));
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esnprintf(buff, sizeof(buff), "use_bg %s %d", bg_name, current_desk);
fprintf(stderr, "%s\n", buff);
Epplet_send_ipc(buff);
Esync();
}
@ -208,6 +204,12 @@ change_image(void *data) {
Epplet_change_image(picture, (w * 16 - 6), (h * 16 - 6), filenames[idx]);
INC_PIC();
switch (auto_setbg) {
case AUTOBG_TILED: set_background(1, 1); break;
case AUTOBG_SCALED: set_background(0, 0); break;
case AUTOBG_PSCALED: set_background(0, 1); break;
default: break;
}
Epplet_remove_timer("CHANGE_IMAGE");
if (!paused) {
@ -337,6 +339,14 @@ parse_config(void) {
Epplet_add_config("delay", "5.0");
}
zoom_cmd = Epplet_query_config_def("zoom_prog", "ee %s");
s = Epplet_query_config_def("auto_setbg", "off");
if (!strcasecmp(s, "tiled")) {
auto_setbg = AUTOBG_TILED;
} else if (!strcasecmp(s, "scaled")) {
auto_setbg = AUTOBG_SCALED;
} else if (!strcasecmp(s, "scaled_with_aspect")) {
auto_setbg = AUTOBG_PSCALED;
}
}
int