summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
authorbrl <brl>2006-11-21 16:54:49 +0000
committerbrl <brl>2006-11-21 16:54:49 +0000
commit41ee1578d0b079b60a224ad8a595af42b86b0c72 (patch)
tree3d1cfff1f41e9356d0fb38a90605ceef8b39f6ed /debian/patches
parent59dd6a0795dd27192e5c9e63a1d2648bce559326 (diff)
downloadratpoison-41ee1578d0b079b60a224ad8a595af42b86b0c72.zip
update debian/ directory
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/README22
-rw-r--r--debian/patches/brl-enlarge.diff416
-rw-r--r--debian/patches/brl-menu.diff144
-rw-r--r--debian/patches/brl-menu.reconf54
-rw-r--r--debian/patches/proper-install-info.diff26
-rw-r--r--debian/patches/series3
6 files changed, 665 insertions, 0 deletions
diff --git a/debian/patches/README b/debian/patches/README
new file mode 100644
index 0000000..544c90c
--- /dev/null
+++ b/debian/patches/README
@@ -0,0 +1,22 @@
+This directory lists patches used by the Debian package. It is not used
+by the normal Debian package build, as the patches are already applied
+by the .diff.gz all together.
+
+* If you are NMUing the Debian package:
+
+ Just ignore this directory (unless it helps you to understand what I did).
+ Everything applicaple to you .orig.tar.gz should already be in the
+ .diff.gz you have. Just modify the actual code, submit a patch with what
+ you did to the BTS and let me sort it out and include the patch in this
+ directory.
+
+* If you do a locally modified package:
+
+ Your choice. But you can savely ignore this directory. Nothing in the
+ build system uses it.
+
+* If you are preparing a new version
+
+ Start with the clean source from CVS. Choose which of the patches you
+ want to apply and apply them. Copy the debian directory (without the
+ CVS directories) and build.
diff --git a/debian/patches/brl-enlarge.diff b/debian/patches/brl-enlarge.diff
new file mode 100644
index 0000000..6d62032
--- /dev/null
+++ b/debian/patches/brl-enlarge.diff
@@ -0,0 +1,416 @@
+Index: ChangeLog
+===================================================================
+--- ChangeLog.orig 2006-10-28 19:56:37.000000000 +0200
++++ ChangeLog 2006-10-28 19:56:41.000000000 +0200
+@@ -1,1 +1,18 @@
++2005-06-28 Bernhard R. Link <brlink@debian.org>
++
++ * src/split.c: new functions enlarge_frame_{left,up,right,down}
++ to enlarge a frame in a given direction, optionally removing all
++ direct adjacent frames.
++ (remove_frame): moved code to new rotine maximaize_all_in_frame.
++ (find_frame_{left,up,right,down}): try harder to find a frame in
++ the specified direction. (So that it also works with parts of
++ the screen not beeing in any frame).
++
++ * src/split.h: added prototypes for enlarge_frame_{left,up,right,down}
++
++ * src/actions.{c,h}: Added cmd_remove{left,up,right,down} calling
++ enlarge_frame_*, added C-t M-{Left,Right,Up,Down} as keybindings.
++
++ * doc/ratpoison.1: Document the new commands and keybindings.
++
+ 2006-10-03 Shawn Betts <sabetts@vcn.bc.ca>
+Index: doc/ratpoison.1
+===================================================================
+--- doc/ratpoison.1.orig 2006-10-28 19:56:37.000000000 +0200
++++ doc/ratpoison.1 2006-10-28 19:56:41.000000000 +0200
+@@ -499,6 +499,18 @@
+ .cmd remove ( C\-t R )
+ Remove the current frame and extend some frames around to fill the remaining
+ gap.
++.cmd removedown ( C\-t M\-Down )
++Kill frames directly below the current frame, extending the current
++frame as much as possible.
++.cmd removeleft ( C\-t M\-Left )
++Kill frames directly left of the current frame, extending the current
++frame as much as possible.
++.cmd removeup ( C\-t M\-Up )
++Kill frames directly above the current frame, extending the current
++frame as much as possible.
++.cmd removeright ( C\-t M\-Right )
++Kill frames directly right of the current frame, extending the current
++frame as much as possible.
+ .cmd resize [ deltax deltay ] ( C\-t r )
+ If \fIdeltax\fP and \fIdeltay\fP are supplied, resize the current frame
+ by that (i.e. move the bottom right corner by the given offsets and then
+Index: src/actions.c
+===================================================================
+--- src/actions.c.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/actions.c 2006-10-28 19:56:41.000000000 +0200
+@@ -281,6 +281,10 @@
+ "Hook: ", arg_HOOK,
+ "Command: ", arg_REST);
+ add_command ("remove", cmd_remove, 0, 0, 0);
++ add_command ("removeup", cmd_removeup, 0, 0, 0);
++ add_command ("removedown", cmd_removedown, 0, 0, 0);
++ add_command ("removeleft", cmd_removeleft, 0, 0, 0);
++ add_command ("removeright", cmd_removeright, 0, 0, 0);
+ add_command ("resize", cmd_resize, 2, 0, 2,
+ "", arg_NUMBER,
+ "", arg_NUMBER);
+@@ -742,6 +746,10 @@
+ add_keybinding (XK_Down, 0, "focusdown", map);
+ add_keybinding (XK_Q, 0, "only", map);
+ add_keybinding (XK_R, 0, "remove", map);
++ add_keybinding (XK_Left, RP_META_MASK, "removeleft", map);
++ add_keybinding (XK_Right, RP_META_MASK, "removeright", map);
++ add_keybinding (XK_Up, RP_META_MASK, "removeup", map);
++ add_keybinding (XK_Down, RP_META_MASK, "removedown", map);
+ add_keybinding (XK_f, 0, "fselect", map);
+ add_keybinding (XK_f, RP_CONTROL_MASK, "fselect", map);
+ add_keybinding (XK_F, 0, "curframe", map);
+@@ -2869,6 +2877,38 @@
+ }
+
+ cmdret *
++cmd_removeup (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_up (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
++cmd_removedown (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_down (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
++cmd_removeleft (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_left (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
++cmd_removeright (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_right (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
+ cmd_shrink (int interactive, struct cmdarg **args)
+ {
+ push_frame_undo (current_screen()); /* fdump to stack */
+Index: src/actions.h
+===================================================================
+--- src/actions.h.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/actions.h 2006-10-28 19:56:41.000000000 +0200
+@@ -165,6 +165,10 @@
+ RP_CMD (redisplay);
+ RP_CMD (remhook);
+ RP_CMD (remove);
++RP_CMD (removedown);
++RP_CMD (removeup);
++RP_CMD (removeleft);
++RP_CMD (removeright);
+ RP_CMD (rename);
+ RP_CMD (resize);
+ RP_CMD (restart);
+Index: src/split.c
+===================================================================
+--- src/split.c.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/split.c 2006-10-28 19:56:41.000000000 +0200
+@@ -703,6 +703,147 @@
+ return 0;
+ }
+
++
++static void
++delete_frame (rp_frame *frame)
++{
++ rp_screen *s;
++ rp_window *win;
++
++ if (frame == NULL) return;
++
++ s = frames_screen (frame);
++
++ list_del (&frame->node);
++ win = find_window_number (frame->win_number);
++ hide_window (win);
++ hide_others (win);
++
++ frame_free (s, frame);
++}
++
++static void
++maximize_all_in_frame (rp_frame *frame)
++{
++ rp_window *win;
++
++ /* The current frame fits into the new space so keep its
++ new frame parameters and maximize the window to fit
++ the new frame size. */
++ if (frame->win_number != EMPTY)
++ {
++ win = find_window_number (frame->win_number);
++ maximize_all_windows_in_frame (frame);
++ XRaiseWindow (dpy, win->w);
++ }
++}
++
++void
++enlarge_frame_left (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_x = screen_left(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_top(frame) < frame_bottom(cur)
++ && frame_top(cur) < frame_bottom(frame))
++ {
++ int cur_border = frame_right (cur);
++
++ if (remove && cur_border == frame_left(frame))
++ delete_frame(cur);
++ else if (cur_border <= frame_left(frame) && cur_border > new_x )
++ new_x = cur_border;
++ }
++ }
++ frame->width += frame->x - new_x;
++ frame->x = new_x;
++ maximize_all_in_frame(frame);
++}
++
++void
++enlarge_frame_right (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_x = screen_right(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_top(frame) < frame_bottom(cur)
++ && frame_top(cur) < frame_bottom(frame))
++ {
++ int frame_border = frame_right(frame);
++
++ if (remove && frame_border == frame_left(cur))
++ delete_frame(cur);
++ else if (frame_border <= frame_left(cur) && frame_left(cur) < new_x )
++ new_x = cur->x;
++ }
++ }
++ frame->width = new_x - frame->x;
++ maximize_all_in_frame(frame);
++}
++
++void
++enlarge_frame_up (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_y = screen_top(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_left(frame) < frame_right(cur)
++ && frame_left(cur) < frame_right(frame))
++ {
++ int cur_border = frame_bottom (cur);
++
++ if (remove && cur_border == frame_top(frame))
++ delete_frame(cur);
++ else if (cur_border <= frame_top(frame) && cur_border > new_y )
++ new_y = cur_border;
++ }
++ }
++ frame->height += frame->y - new_y;
++ frame->y = new_y;
++ maximize_all_in_frame(frame);
++}
++
++void
++enlarge_frame_down (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_y = screen_bottom(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_left(frame) < frame_right(cur)
++ && frame_left(cur) < frame_right(frame))
++ {
++ int frame_border = frame_bottom(frame);
++
++ if (remove && frame_border == frame_top(cur))
++ delete_frame(cur);
++ else if (frame_border <= frame_top(cur) && frame_top(cur) < new_y )
++ new_y = frame_top(cur);
++ }
++ }
++ frame->height = new_y - frame->y;
++ maximize_all_in_frame(frame);
++}
++
+ void
+ remove_frame (rp_frame *frame)
+ {
+@@ -800,17 +941,7 @@
+ }
+
+ if (fits)
+- {
+- /* The current frame fits into the new space so keep its
+- new frame parameters and maximize the window to fit
+- the new frame size. */
+- if (cur->win_number != EMPTY)
+- {
+- win = find_window_number (cur->win_number);
+- maximize_all_windows_in_frame (cur);
+- XRaiseWindow (dpy, win->w);
+- }
+- }
++ maximize_all_in_frame(cur);
+ else
+ {
+ memcpy (cur, &tmp_frame, sizeof (rp_frame));
+@@ -1002,16 +1133,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_x_yet = frame->x + frame->width + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->y == cur->y + cur->height)
+ {
+ if (frame->x >= cur->x && frame->x < cur->x + cur->width)
+ return cur;
++ if (cur->x >= frame->x && cur->x < best_x_yet )
++ {
++ best_x_yet = cur->x;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+@@ -1020,16 +1159,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_x_yet = frame->x + frame->width + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->y + frame->height == cur->y)
+ {
+ if (frame->x >= cur->x && frame->x < cur->x + cur->width)
+ return cur;
++ if (cur->x >= frame->x && cur->x < best_x_yet )
++ {
++ best_x_yet = cur->x;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+@@ -1038,16 +1185,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_y_yet = frame->y + frame->height + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->x == cur->x + cur->width)
+ {
+ if (frame->y >= cur->y && frame->y < cur->y + cur->height)
+ return cur;
++ if (cur->y >= frame->y && cur->y < best_y_yet )
++ {
++ best_y_yet = cur->y;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+@@ -1056,16 +1211,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_y_yet = frame->y + frame->height + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->x + frame->width == cur->x)
+ {
+ if (frame->y >= cur->y && frame->y < cur->y + cur->height)
+ return cur;
++ if (cur->y >= frame->y && cur->y < best_y_yet )
++ {
++ best_y_yet = cur->y;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+Index: src/split.h
+===================================================================
+--- src/split.h.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/split.h 2006-10-28 19:56:41.000000000 +0200
+@@ -33,6 +33,10 @@
+ void resize_frame_horizontally (rp_frame *frame, int diff);
+ void resize_frame_vertically (rp_frame *frame, int diff);
+ void remove_frame (rp_frame *frame);
++void enlarge_frame_left (rp_frame *frame, int remove);
++void enlarge_frame_up (rp_frame *frame, int remove);
++void enlarge_frame_right (rp_frame *frame, int remove);
++void enlarge_frame_down (rp_frame *frame, int remove);
+ rp_window *find_window_for_frame (rp_frame *frame);
+ rp_frame *find_windows_frame (rp_window *win);
+ rp_frame *find_frame_next (rp_frame *frame);
diff --git a/debian/patches/brl-menu.diff b/debian/patches/brl-menu.diff
new file mode 100644
index 0000000..e4b8e47
--- /dev/null
+++ b/debian/patches/brl-menu.diff
@@ -0,0 +1,144 @@
+Index: ratpoison/src/main.c
+===================================================================
+--- ratpoison.orig/src/main.c 2006-10-28 19:56:35.000000000 +0200
++++ ratpoison/src/main.c 2006-10-28 19:56:48.000000000 +0200
+@@ -458,7 +458,13 @@
+ {
+ rp_action *help_action;
+ char *prefix, *help;
++ const char *help_show;
+ rp_keymap *map;
++#ifdef MENU_PROG
++ rp_action *menu_action;
++ char *menu;
++ const char *menu_show;
++#endif
+
+ prefix = keysym_to_string (prefix_key.sym, prefix_key.state);
+
+@@ -467,27 +473,44 @@
+ /* Find the help key binding. */
+ help_action = find_keybinding_by_action ("help " ROOT_KEYMAP, map);
+ if (help_action)
+- help = keysym_to_string (help_action->key, help_action->state);
+- else
+- help = NULL;
+-
+-
+- if (help)
+ {
++ help = keysym_to_string (help_action->key, help_action->state);
+ /* A little kludge to use ? instead of `question' for the help
+ key. */
+ if (!strcmp (help, "question"))
+- marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, "?");
++ help_show = "?";
+ else
+- marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, help);
+-
+- free (help);
++ help_show = help;
++ }
++ else
++ {
++ help = NULL;
++ help_show = ":help";
++ }
++#ifdef MENU_PROG
++ /* Find the menu key binding. */
++ menu_action = find_keybinding_by_action ("menu", map);
++ if (menu_action)
++ {
++ menu = keysym_to_string (menu_action->key, menu_action->state);
++ if (!strcmp (menu, "period"))
++ menu_show = ".";
++ else
++ menu_show = menu;
+ }
+ else
+ {
+- marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, ":help");
++ menu = NULL;
++ menu_show = ":menu";
+ }
+
++ marked_message_printf (0, 0, MESSAGE_WELCOME_MENU, prefix, help_show,
++ prefix, menu_show);
++ free(menu);
++#else
++ marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, help_show);
++#endif
++ free(help);
+ free (prefix);
+ }
+
+Index: ratpoison/src/actions.c
+===================================================================
+--- ratpoison.orig/src/actions.c 2006-10-28 19:56:41.000000000 +0200
++++ ratpoison/src/actions.c 2006-10-28 19:56:48.000000000 +0200
+@@ -682,6 +682,9 @@
+ add_keybinding (prefix_key.sym, prefix_key.state, "other", map);
+ add_keybinding (prefix_key.sym, 0, "meta", map);
+ add_keybinding (XK_g, RP_CONTROL_MASK, "abort", map);
++#ifdef MENU_PROG
++ add_keybinding (XK_period, 0, "menu", map);
++#endif
+ add_keybinding (XK_0, 0, "select 0", map);
+ add_keybinding (XK_1, 0, "select 1", map);
+ add_keybinding (XK_2, 0, "select 2", map);
+@@ -766,6 +769,10 @@
+ add_alias ("unbind", "undefinekey " ROOT_KEYMAP);
+ add_alias ("bind", "definekey " ROOT_KEYMAP);
+ add_alias ("split", "vsplit");
++
++#ifdef MENU_PROG
++ add_alias ("menu", "exec " MENU_PROG );
++#endif
+ }
+
+ static cmdret *
+Index: ratpoison/ChangeLog
+===================================================================
+--- ratpoison.orig/ChangeLog 2006-10-28 19:56:41.000000000 +0200
++++ ratpoison/ChangeLog 2006-10-28 19:56:48.000000000 +0200
+@@ -1,1 +1,7 @@
++2005-01-15 Bernhard R. Link <brlink@debian.org>
++
++ * configure.in: add --with-menu to specify a menu program
++ * src/action.c: add menu alias and binding if menu specified
++ * src/main.c: tell menu command if menu specified
++
+ 2005-06-28 Bernhard R. Link <brlink@debian.org>
+Index: ratpoison/configure.in
+===================================================================
+--- ratpoison.orig/configure.in 2006-10-28 19:56:36.000000000 +0200
++++ ratpoison/configure.in 2006-10-28 19:56:48.000000000 +0200
+@@ -45,6 +45,15 @@
+ term_prog=$withval, term_prog="xterm")
+ AC_DEFINE_UNQUOTED(TERM_PROG, "$term_prog", X terminal emulator to use)
+
++AC_ARG_WITH(menu, [ --with-menu=PROG set a external menu program to be advertised ],
++menu_prog="$withval", menu_prog="")
++
++if test "$menu_prog" != "no" && ! test -z "$menu_prog" ; then
++AC_DEFINE_UNQUOTED(MENU_PROG, "$menu_prog", external menu program to advertise)
++AC_MSG_CHECKING(external menu program)
++AC_MSG_RESULT($menu_prog)
++fi
++
+ dnl Checks for programs.
+ AC_CHECK_TOOL(CC, gcc)
+ AC_PROG_CC
+Index: ratpoison/src/messages.h
+===================================================================
+--- ratpoison.orig/src/messages.h 2006-10-28 19:56:35.000000000 +0200
++++ ratpoison/src/messages.h 2006-10-28 19:56:48.000000000 +0200
+@@ -50,7 +50,8 @@
+ #define MESSAGE_PROMPT_VAR_VALUE "Value: "
+
+ #define MESSAGE_WELCOME "Welcome to ratpoison! Hit `%s %s' for help."
++#define MESSAGE_WELCOME_MENU "Welcome to ratpoison! Hit `%s %s' for help. `%s %s' for menu."
+
+ #define EMPTY_FRAME_MESSAGE "Current Frame"
+
+ #endif /* ! _RATPOISON_MESSAGES_H */
diff --git a/debian/patches/brl-menu.reconf b/debian/patches/brl-menu.reconf
new file mode 100644
index 0000000..db2e287
--- /dev/null
+++ b/debian/patches/brl-menu.reconf
@@ -0,0 +1,54 @@
+Index: ratpoison/configure
+===================================================================
+--- ratpoison.orig/configure 2006-10-30 17:37:33.000000000 +0100
++++ ratpoison/configure 2006-10-30 17:38:43.000000000 +0100
+@@ -1295,6 +1295,7 @@
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-xterm=PROG set the x terminal emulator used by ratpoison
++ --with-menu=PROG set a external menu program to be advertised
+ --with-x use the X Window System
+
+ Some influential environment variables:
+@@ -2343,6 +2344,27 @@
+ _ACEOF
+
+
++
++# Check whether --with-menu was given.
++if test "${with_menu+set}" = set; then
++ withval=$with_menu; menu_prog="$withval"
++else
++ menu_prog=""
++fi
++
++
++if test "$menu_prog" != "no" && ! test -z "$menu_prog" ; then
++
++cat >>confdefs.h <<_ACEOF
++#define MENU_PROG "$menu_prog"
++_ACEOF
++
++{ echo "$as_me:$LINENO: checking external menu program" >&5
++echo $ECHO_N "checking external menu program... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: result: $menu_prog" >&5
++echo "${ECHO_T}$menu_prog" >&6; }
++fi
++
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+Index: ratpoison/src/config.h.in
+===================================================================
+--- ratpoison.orig/src/config.h.in 2006-10-30 17:38:06.000000000 +0100
++++ ratpoison/src/config.h.in 2006-10-30 17:38:31.000000000 +0100
+@@ -72,6 +72,9 @@
+ /* Define to 1 if you have the <X11/extensions/Xinerama.h> header file. */
+ #undef HAVE_X11_EXTENSIONS_XINERAMA_H
+
++/* external menu program to advertise */
++#undef MENU_PROG
++
+ /* Name of package */
+ #undef PACKAGE
+
diff --git a/debian/patches/proper-install-info.diff b/debian/patches/proper-install-info.diff
new file mode 100644
index 0000000..7ecf8e4
--- /dev/null
+++ b/debian/patches/proper-install-info.diff
@@ -0,0 +1,26 @@
+This patch is needed when the .orig.tar.gz you are building for is
+generated by a automake version having problems with Debian's
+install-info command.
+
+Index: ratpoison-1.4.0.dfsg/doc/Makefile.in
+===================================================================
+--- ratpoison-1.4.0.dfsg.orig/doc/Makefile.in 2006-06-26 11:10:08.000000000 +0200
++++ ratpoison-1.4.0.dfsg/doc/Makefile.in 2006-06-26 11:11:08.000000000 +0200
+@@ -151,7 +151,7 @@
+ uninstall-info-am:
+ $(PRE_UNINSTALL)
+ @if (install-info --version && \
+- install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
++ install-info --version 2>&1 | sed 1q | fgrep -i -v debian) >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
+@@ -324,7 +324,7 @@
+ done
+ @$(POST_INSTALL)
+ @if (install-info --version && \
+- install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
++ install-info --version 2>&1 | sed 1q | fgrep -i -v debian) >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..ebfdaf9
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+brl-enlarge.diff -p0
+brl-menu.diff
+brl-menu.reconf