summaryrefslogtreecommitdiff
path: root/multimedia/xine-ui/patches
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/xine-ui/patches')
-rw-r--r--multimedia/xine-ui/patches/patch-ai123
-rw-r--r--multimedia/xine-ui/patches/patch-aq15
-rw-r--r--multimedia/xine-ui/patches/patch-ar27
-rw-r--r--multimedia/xine-ui/patches/patch-as24
-rw-r--r--multimedia/xine-ui/patches/patch-au20
-rw-r--r--multimedia/xine-ui/patches/patch-av22
-rw-r--r--multimedia/xine-ui/patches/patch-aw40
-rw-r--r--multimedia/xine-ui/patches/patch-ax13
-rw-r--r--multimedia/xine-ui/patches/patch-ay13
-rw-r--r--multimedia/xine-ui/patches/patch-az22
-rw-r--r--multimedia/xine-ui/patches/patch-ba17
-rw-r--r--multimedia/xine-ui/patches/patch-bb31
-rw-r--r--multimedia/xine-ui/patches/patch-bc14
13 files changed, 372 insertions, 9 deletions
diff --git a/multimedia/xine-ui/patches/patch-ai b/multimedia/xine-ui/patches/patch-ai
index dd7f4e1f024..c559e6b6832 100644
--- a/multimedia/xine-ui/patches/patch-ai
+++ b/multimedia/xine-ui/patches/patch-ai
@@ -1,7 +1,7 @@
-$NetBSD: patch-ai,v 1.1 2004/05/12 16:42:49 drochner Exp $
+$NetBSD: patch-ai,v 1.1.22.1 2007/03/05 12:11:42 ghen Exp $
---- src/xitk/xine-remote.c.orig 2004-05-11 23:39:22.000000000 +0200
-+++ src/xitk/xine-remote.c 2004-05-11 23:45:24.000000000 +0200
+--- src/xitk/xine-remote.c.orig 2005-07-16 21:05:32.000000000 +0200
++++ src/xitk/xine-remote.c 2007-02-17 22:24:26.000000000 +0100
@@ -30,6 +30,7 @@
#endif
/* required for strncasecmp() */
@@ -30,3 +30,120 @@ $NetBSD: patch-ai,v 1.1 2004/05/12 16:42:49 drochner Exp $
#include "common.h"
+@@ -638,7 +639,7 @@ static int write_to_console(session_t *s
+ va_end(args);
+
+ pthread_mutex_lock(&session->console_mutex);
+- err = write_to_console_unlocked(session, buf);
++ err = write_to_console_unlocked(session, "%s", buf);
+ pthread_mutex_unlock(&session->console_mutex);
+
+ return err;
+@@ -998,7 +999,7 @@ static void *select_thread(void *data) {
+ write_to_console_unlocked_nocr(session, "\b \b");
+ pos--;
+ }
+- write_to_console_unlocked(session, obuffer);
++ write_to_console_unlocked(session, "%s", obuffer);
+
+ rl_crlf();
+ rl_forced_update_display();
+@@ -1082,7 +1083,7 @@ static void client_handle_command(sessio
+
+ *pp = '\0';
+
+- if((sock_write(session->socket, buf)) == -1) {
++ if((sock_write(session->socket, "%s", buf)) == -1) {
+ session->running = 0;
+ }
+ }
+@@ -1094,7 +1095,7 @@ static void client_handle_command(sessio
+
+ /* Perhaps a ';' separated commands, so send anyway to server */
+ if(found == 0) {
+- sock_write(session->socket, (char *)command);
++ sock_write(session->socket, "%s", (char *)command);
+ }
+
+ if((!strncasecmp(cmd, "exit", strlen(cmd))) || (!strncasecmp(cmd, "halt", strlen(cmd)))) {
+@@ -1714,7 +1715,7 @@ static void do_commands(commands_t *cmd,
+ i++;
+ }
+ sprintf(buf, "%s.\n", buf);
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+
+ static void do_help(commands_t *cmd, client_info_t *client_info) {
+@@ -1760,7 +1761,7 @@ static void do_help(commands_t *cmd, cli
+ }
+
+ sprintf(buf, "%s\n", buf);
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+ else {
+ int i;
+@@ -2096,7 +2097,7 @@ static void do_get(commands_t *cmd, clie
+ sprintf(buf, "%s%s", buf, "*UNKNOWN*");
+
+ sprintf(buf, "%s%c", buf, '\n');
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+ else if(is_arg_contain(client_info, 1, "speed")) {
+ char buf[64];
+@@ -2116,7 +2117,7 @@ static void do_get(commands_t *cmd, clie
+ sprintf(buf, "%s%s", buf, "*UNKNOWN*");
+
+ sprintf(buf, "%s%c", buf, '\n');
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+ else if(is_arg_contain(client_info, 1, "position")) {
+ char buf[64];
+@@ -2128,7 +2129,7 @@ static void do_get(commands_t *cmd, clie
+ &pos_time,
+ &length_time);
+ snprintf(buf, sizeof(buf), "%s: %d\n", "Current position", pos_time);
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+ else if(is_arg_contain(client_info, 1, "length")) {
+ char buf[64];
+@@ -2140,7 +2141,7 @@ static void do_get(commands_t *cmd, clie
+ &pos_time,
+ &length_time);
+ snprintf(buf, sizeof(buf), "%s: %d\n", "Current length", length_time);
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+ else if(is_arg_contain(client_info, 1, "loop")) {
+ char buf[64];
+@@ -2169,7 +2170,7 @@ static void do_get(commands_t *cmd, clie
+ }
+
+ sprintf(buf, "%s.\n", buf);
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+ }
+ }
+ else if(nargs >= 2) {
+@@ -2552,7 +2553,7 @@ static void do_halt(commands_t *cmd, cli
+ static void network_messenger(void *data, char *message) {
+ int socket = (int) data;
+
+- sock_write(socket, message);
++ sock_write(socket, "%s", message);
+ }
+
+ static void do_snap(commands_t *cmd, client_info_t *client_info) {
+@@ -2577,7 +2578,7 @@ static void say_hello(client_info_t *cli
+ else {
+ snprintf(buf, sizeof(buf), "%s %s %s\n", PACKAGE, VERSION, "remote server. Nice to meet you.");
+ }
+- sock_write(client_info->socket, buf);
++ sock_write(client_info->socket, "%s", buf);
+
+ }
+
diff --git a/multimedia/xine-ui/patches/patch-aq b/multimedia/xine-ui/patches/patch-aq
index 735ed737e98..64ba45643f6 100644
--- a/multimedia/xine-ui/patches/patch-aq
+++ b/multimedia/xine-ui/patches/patch-aq
@@ -1,7 +1,7 @@
-$NetBSD: patch-aq,v 1.1 2006/04/21 11:11:26 drochner Exp $
+$NetBSD: patch-aq,v 1.1.8.1 2007/03/05 12:11:42 ghen Exp $
---- src/xitk/main.c.orig 2006-04-20 11:59:48.000000000 +0200
-+++ src/xitk/main.c
+--- src/xitk/main.c.orig 2007-02-17 22:10:56.000000000 +0100
++++ src/xitk/main.c 2007-02-17 22:10:38.000000000 +0100
@@ -456,7 +456,7 @@ static void print_formatted(char *title,
int len;
char *blanks = " ";
@@ -29,3 +29,12 @@ $NetBSD: patch-aq,v 1.1 2006/04/21 11:11:26 drochner Exp $
printf(".\n\n");
}
+@@ -1249,7 +1249,7 @@ static void event_listener(void *user_da
+ snprintf(buffer, sizeof(buffer), "%s [%d%%]\n", pevent->description, pevent->percent);
+ gGui->mrl_overrided = 3;
+ panel_set_title(buffer);
+- osd_display_info(buffer);
++ osd_display_info("%s", buffer);
+ }
+ break;
+
diff --git a/multimedia/xine-ui/patches/patch-ar b/multimedia/xine-ui/patches/patch-ar
index a018321f625..84e7b64c4db 100644
--- a/multimedia/xine-ui/patches/patch-ar
+++ b/multimedia/xine-ui/patches/patch-ar
@@ -1,8 +1,29 @@
-$NetBSD: patch-ar,v 1.1 2006/04/21 11:11:26 drochner Exp $
+$NetBSD: patch-ar,v 1.1.8.1 2007/03/05 12:11:42 ghen Exp $
---- src/xitk/xine-toolkit/xitk.c.orig 2006-04-21 12:52:41.000000000 +0200
+--- src/xitk/xine-toolkit/xitk.c.orig 2005-05-21 00:02:05.000000000 +0200
+++ src/xitk/xine-toolkit/xitk.c
-@@ -1877,7 +1877,7 @@ void xitk_init(Display *display, XColor
+@@ -147,7 +147,7 @@ typedef struct {
+
+ struct timeval keypress;
+
+- KeyCode ignore_keys[3];
++ KeyCode ignore_keys[2];
+
+ pthread_t *tips_thread;
+ unsigned long tips_timeout;
+@@ -1805,9 +1805,8 @@ void xitk_init(Display *display, XColor
+ xitk_x_error = 0;
+ gXitk->x_error_handler = NULL;
+ gXitk->modalw = None;
+- gXitk->ignore_keys[0] = XKeysymToKeycode(display, XK_Scroll_Lock);
+- gXitk->ignore_keys[1] = XKeysymToKeycode(display, XK_Num_Lock);
+- gXitk->ignore_keys[2] = XKeysymToKeycode(display, XK_Caps_Lock);
++ gXitk->ignore_keys[0] = XKeysymToKeycode(display, XK_Shift_L);
++ gXitk->ignore_keys[1] = XKeysymToKeycode(display, XK_Control_L);
+ gXitk->tips_timeout = TIPS_TIMEOUT;
+ XGetInputFocus(display, &(gXitk->parent.window), &(gXitk->parent.focus));
+
+@@ -1877,7 +1876,7 @@ void xitk_init(Display *display, XColor
sprintf(buffer, "%s%s", buffer, " ]-");
if(verbosity)
diff --git a/multimedia/xine-ui/patches/patch-as b/multimedia/xine-ui/patches/patch-as
new file mode 100644
index 00000000000..6f9833ca246
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-as
@@ -0,0 +1,24 @@
+$NetBSD: patch-as,v 1.1.2.2 2007/03/05 12:11:42 ghen Exp $
+
+--- src/xitk/videowin.c.orig 2007-01-08 18:39:40.000000000 +0100
++++ src/xitk/videowin.c
+@@ -1449,8 +1449,8 @@ void video_window_init (window_attribute
+ gVw->desktopHeight = DisplayHeight(gGui->video_display, gGui->video_screen);
+
+ #ifdef HAVE_XTESTEXTENSION
+- gVw->fake_keys[0] = XKeysymToKeycode(gGui->video_display, XK_Scroll_Lock);
+- gVw->fake_keys[1] = XKeysymToKeycode(gGui->video_display, XK_Num_Lock);
++ gVw->fake_keys[0] = XKeysymToKeycode(gGui->video_display, XK_Shift_L);
++ gVw->fake_keys[1] = XKeysymToKeycode(gGui->video_display, XK_Control_L);
+ gVw->fake_key_cur = 0;
+ #endif
+
+@@ -2151,8 +2151,6 @@ void video_window_reset_ssaver(void) {
+ XLockDisplay(gGui->video_display);
+ XTestFakeKeyEvent(gGui->video_display, gVw->fake_keys[gVw->fake_key_cur], True, CurrentTime);
+ XTestFakeKeyEvent(gGui->video_display, gVw->fake_keys[gVw->fake_key_cur], False, CurrentTime);
+- XTestFakeKeyEvent(gGui->video_display, gVw->fake_keys[gVw->fake_key_cur], True, CurrentTime);
+- XTestFakeKeyEvent(gGui->video_display, gVw->fake_keys[gVw->fake_key_cur], False, CurrentTime);
+ XSync(gGui->video_display, False);
+ XUnlockDisplay(gGui->video_display);
+ }
diff --git a/multimedia/xine-ui/patches/patch-au b/multimedia/xine-ui/patches/patch-au
new file mode 100644
index 00000000000..06622a3a9a4
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-au
@@ -0,0 +1,20 @@
+$NetBSD: patch-au,v 1.1.2.2 2007/03/05 12:11:42 ghen Exp $
+
+--- src/fb/osd.c.orig 2003-12-01 18:23:27.000000000 +0100
++++ src/fb/osd.c 2007-02-17 21:56:02.000000000 +0100
+@@ -589,7 +589,7 @@ void osd_display_spu_lang(void) {
+ }
+
+ sprintf(buffer, "Subtitles: %s", lang);
+- osd_display_info(buffer);
++ osd_display_info("%s", buffer);
+ }
+
+ void osd_display_audio_lang(void) {
+@@ -618,5 +618,5 @@ void osd_display_audio_lang(void) {
+ }
+
+ sprintf(buffer, "Audio Channel: %s", lang);
+- osd_display_info(buffer);
++ osd_display_info("%s", buffer);
+ }
diff --git a/multimedia/xine-ui/patches/patch-av b/multimedia/xine-ui/patches/patch-av
new file mode 100644
index 00000000000..0aa0ed49aaa
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-av
@@ -0,0 +1,22 @@
+$NetBSD: patch-av,v 1.1.2.2 2007/03/05 12:11:42 ghen Exp $
+
+--- src/xitk/actions.c.orig 2005-07-24 04:40:36.000000000 +0200
++++ src/xitk/actions.c 2007-02-17 21:56:02.000000000 +0100
+@@ -398,7 +398,7 @@ int gui_xine_play(xine_stream_t *stream,
+
+
+ if(v_unhandled && a_unhandled) {
+- xine_error(buffer);
++ xine_error("%s", buffer);
+ return 0;
+ }
+
+@@ -416,7 +416,7 @@ int gui_xine_play(xine_stream_t *stream,
+ xw = xitk_window_dialog_yesno_with_width(gGui->imlib_data, _("Start Playback ?"),
+ start_anyway_yesno, start_anyway_yesno,
+ NULL, 400, ALIGN_CENTER,
+- buffer);
++ "%s", buffer);
+ XLockDisplay(gGui->display);
+ if(!gGui->use_root_window && gGui->video_display == gGui->display)
+ XSetTransientForHint(gGui->display, xitk_window_get_window(xw), gGui->video_window);
diff --git a/multimedia/xine-ui/patches/patch-aw b/multimedia/xine-ui/patches/patch-aw
new file mode 100644
index 00000000000..0840801d691
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-aw
@@ -0,0 +1,40 @@
+$NetBSD: patch-aw,v 1.1.2.2 2007/03/05 12:11:42 ghen Exp $
+
+--- src/xitk/errors.c.orig 2005-02-07 19:16:28.000000000 +0100
++++ src/xitk/errors.c 2007-02-17 21:56:02.000000000 +0100
+@@ -68,7 +68,7 @@ static void errors_create_window(char *t
+ _("Done"), _("More..."),
+ NULL, _errors_display_log,
+ NULL, 400, ALIGN_CENTER,
+- message);
++ "%s", message);
+
+ xitk_window_set_parent_window(xw, gGui->video_window);
+
+@@ -125,7 +125,7 @@ void xine_error(char *message, ...) {
+ } else {
+ xitk_window_t *xw;
+
+- xw = xitk_window_dialog_error(gGui->imlib_data, buf2);
++ xw = xitk_window_dialog_error(gGui->imlib_data, "%s", buf2);
+
+ if(!gGui->use_root_window && gGui->video_display == gGui->display) {
+ XLockDisplay(gGui->display);
+@@ -228,7 +228,7 @@ void xine_info(char *message, ...) {
+ } else {
+ xitk_window_t *xw;
+
+- xw = xitk_window_dialog_info(gGui->imlib_data, buf2);
++ xw = xitk_window_dialog_info(gGui->imlib_data, "%s", buf2);
+
+ if(!gGui->use_root_window && gGui->video_display == gGui->display) {
+ XLockDisplay(gGui->display);
+@@ -354,7 +354,7 @@ void too_slow_window(void) {
+ _("Disable this warning."),
+ checked, _dont_show_too_slow_again,
+ NULL, 500, ALIGN_CENTER,
+- message);
++ "%s", message);
+ if(!gGui->use_root_window && gGui->video_display == gGui->display) {
+ XLockDisplay(gGui->display);
+ XSetTransientForHint(gGui->display, xitk_window_get_window(xw), gGui->video_window);
diff --git a/multimedia/xine-ui/patches/patch-ax b/multimedia/xine-ui/patches/patch-ax
new file mode 100644
index 00000000000..571dc5c1eae
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-ax
@@ -0,0 +1,13 @@
+$NetBSD: patch-ax,v 1.1.2.2 2007/03/05 12:11:43 ghen Exp $
+
+--- src/xitk/file_browser.c.orig 2005-05-29 12:43:40.000000000 +0200
++++ src/xitk/file_browser.c 2007-02-17 21:56:02.000000000 +0100
+@@ -1012,7 +1012,7 @@ static void fb_delete_file(xitk_widget_t
+ xitk_window_dialog_yesno(gGui->imlib_data, _("Confirm deletion ?"),
+ fb_delete_file_cb,
+ fb_delete_file_cb,
+- (void *)fb, ALIGN_DEFAULT, buf);
++ (void *)fb, ALIGN_DEFAULT, "%s", buf);
+ }
+ }
+
diff --git a/multimedia/xine-ui/patches/patch-ay b/multimedia/xine-ui/patches/patch-ay
new file mode 100644
index 00000000000..abecfa3dc4d
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-ay
@@ -0,0 +1,13 @@
+$NetBSD: patch-ay,v 1.1.2.2 2007/03/05 12:11:43 ghen Exp $
+
+--- src/xitk/kbindings.c.orig 2005-07-16 21:05:31.000000000 +0200
++++ src/xitk/kbindings.c 2007-02-17 21:56:02.000000000 +0100
+@@ -622,7 +622,7 @@ static void _kbindings_check_redundancy(
+ _("Reset"), _("Editor"), _("Cancel"),
+ _kbinding_reset_cb, _kbinding_editor_cb, NULL,
+ (void *) kbt, 450, ALIGN_CENTER,
+- kmsg);
++ "%s", kmsg);
+ free(kmsg);
+ XLockDisplay(gGui->display);
+ if(!gGui->use_root_window && gGui->video_display == gGui->display)
diff --git a/multimedia/xine-ui/patches/patch-az b/multimedia/xine-ui/patches/patch-az
new file mode 100644
index 00000000000..ecb792549e5
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-az
@@ -0,0 +1,22 @@
+$NetBSD: patch-az,v 1.1.2.2 2007/03/05 12:11:43 ghen Exp $
+
+--- src/xitk/osd.c.orig 2005-07-16 21:05:32.000000000 +0200
++++ src/xitk/osd.c 2007-02-17 21:56:02.000000000 +0100
+@@ -698,7 +698,7 @@ void osd_display_spu_lang(void) {
+ }
+
+ snprintf(buffer, sizeof(buffer), "%s%s", _("Subtitles: "), get_language_from_iso639_1(lang));
+- osd_display_info(buffer);
++ osd_display_info("%s", buffer);
+ }
+
+ void osd_display_audio_lang(void) {
+@@ -727,7 +727,7 @@ void osd_display_audio_lang(void) {
+ }
+
+ snprintf(buffer, sizeof(buffer), "%s%s", _("Audio Channel: "), get_language_from_iso639_1(lang));
+- osd_display_info(buffer);
++ osd_display_info("%s", buffer);
+ }
+
+ int osd_is_visible(void) {
diff --git a/multimedia/xine-ui/patches/patch-ba b/multimedia/xine-ui/patches/patch-ba
new file mode 100644
index 00000000000..b8f93445d3d
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-ba
@@ -0,0 +1,17 @@
+$NetBSD: patch-ba,v 1.1.2.2 2007/03/05 12:11:43 ghen Exp $
+
+--- src/xitk/panel.c.orig 2005-07-24 04:40:37.000000000 +0200
++++ src/xitk/panel.c 2007-02-17 21:56:02.000000000 +0100
+@@ -845,10 +845,10 @@ void panel_toggle_audio_mute(xitk_widget
+ * to snapshot current frame.
+ */
+ static void panel_snapshot_error(void *data, char *message) {
+- xine_error(message);
++ xine_error("%s", message);
+ }
+ static void panel_snapshot_info(void *data, char *message) {
+- xine_info(message);
++ xine_info("%s", message);
+ }
+ void panel_snapshot(xitk_widget_t *w, void *data) {
+ create_snapshot(gGui->mmk.mrl, panel_snapshot_error, panel_snapshot_info, NULL);
diff --git a/multimedia/xine-ui/patches/patch-bb b/multimedia/xine-ui/patches/patch-bb
new file mode 100644
index 00000000000..bd22ac381d9
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-bb
@@ -0,0 +1,31 @@
+$NetBSD: patch-bb,v 1.1.2.2 2007/03/05 12:11:43 ghen Exp $
+
+--- src/xitk/xine-toolkit/window.c.orig 2004-12-31 01:52:15.000000000 +0100
++++ src/xitk/xine-toolkit/window.c 2007-02-17 21:56:02.000000000 +0100
+@@ -1088,7 +1088,7 @@ xitk_window_t *xitk_window_dialog_ok_wit
+ char buf2[(strlen(buf) * 2) + 1];
+ xitk_subst_special_chars(buf, buf2);
+ xw = xitk_window_dialog_one_button_with_width(im, title, _("OK"), cb, userdata, window_width,
+- align, buf2);
++ align, "%s", buf2);
+ }
+ XITK_FREE(buf);
+ return xw;
+@@ -1337,7 +1337,7 @@ xitk_window_t *xitk_window_dialog_yesno_
+
+ xitk_subst_special_chars(buf, buf2);
+ xw = xitk_window_dialog_two_buttons_with_width(im, title, _("Yes"), _("No"),
+- ycb, ncb, userdata, window_width, align, buf2);
++ ycb, ncb, userdata, window_width, align, "%s", buf2);
+ }
+
+ XITK_FREE(buf);
+@@ -1559,7 +1559,7 @@ xitk_window_t *xitk_window_dialog_yesnoc
+
+ xitk_subst_special_chars(buf, buf2);
+ xw = xitk_window_dialog_three_buttons_with_width(im, title, _("Yes"), _("No"), _("Cancel"),
+- ycb, ncb, ccb, userdata, window_width, align, buf2);
++ ycb, ncb, ccb, userdata, window_width, align, "%s", buf2);
+ }
+ XITK_FREE(buf);
+ return xw;
diff --git a/multimedia/xine-ui/patches/patch-bc b/multimedia/xine-ui/patches/patch-bc
new file mode 100644
index 00000000000..b8365e89e65
--- /dev/null
+++ b/multimedia/xine-ui/patches/patch-bc
@@ -0,0 +1,14 @@
+$NetBSD: patch-bc,v 1.1.2.2 2007/03/05 12:11:43 ghen Exp $
+
+--- src/xitk/xine-toolkit/xitk.h.orig 2004-12-16 22:35:30.000000000 +0100
++++ src/xitk/xine-toolkit/xitk.h 2007-02-17 21:56:02.000000000 +0100
+@@ -2310,7 +2310,8 @@ xitk_window_t *xitk_window_dialog_checkb
+ char *checkbox_label, int checkbox_state,
+ xitk_state_callback_t cb3,
+ void *userdata,
+- int window_width, int align, char *message, ...);
++ int window_width, int align, char *message, ...)
++ __attribute__((__format__(__printf__, 13, 14)));
+
+ #ifdef __GNUC__
+ #define xitk_window_dialog_two_buttons_with_width(im, title, bl1, bl2, cb1, cb2, userdata, window_width, align, message, args...) \