summaryrefslogtreecommitdiff
path: root/debian/patches/libcons_repeater.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/libcons_repeater.patch')
-rw-r--r--debian/patches/libcons_repeater.patch525
1 files changed, 0 insertions, 525 deletions
diff --git a/debian/patches/libcons_repeater.patch b/debian/patches/libcons_repeater.patch
deleted file mode 100644
index 21df71d9..00000000
--- a/debian/patches/libcons_repeater.patch
+++ /dev/null
@@ -1,525 +0,0 @@
-Common subdirectories: ../libcons.cvs/CVS and ./CVS
-diff -upN ../libcons.cvs/Makefile ./Makefile
---- libcons.cvs/Makefile 2002-09-13 23:40:10.000000000 +0000
-+++ libcons/Makefile 2004-04-02 07:44:48.000000000 +0000
-@@ -23,7 +23,7 @@ SRCS= demuxer.c init-init.c init-loop.c
- dir-changed.c file-changed.c opts-std-startup.c cons-lookup.c \
- cons-switch.c vcons-remove.c vcons-add.c vcons-open.c \
- vcons-close.c vcons-destroy.c vcons-refresh.c vcons-scrollback.c \
-- vcons-input.c
-+ vcons-input.c vcons-move-mouse.c vcons-event.c
- LCLHDRS = priv.h mutations.h
- installhdrs = cons.h
-
-diff -upN ../libcons.cvs/cons.h ./cons.h
---- libcons.cvs/cons.h 2003-08-16 18:06:23.000000000 +0000
-+++ libcons/cons.h 2004-04-02 07:42:20.000000000 +0000
-@@ -123,6 +123,31 @@ struct cons
- int slack;
- };
-
-+
-+enum mouse_movement
-+ {
-+ MOUSE_MOVE_REL,
-+ MOUSE_MOVE_ABS,
-+ MOUSE_MOVE_PROC
-+ };
-+
-+enum mouse_button
-+ {
-+ MOUSE_BUTTON_NO_OP,
-+ MOUSE_BUTTON_PRESSED,
-+ MOUSE_BUTTON_RELEASED
-+ };
-+
-+typedef struct mouse_event
-+{
-+ enum mouse_movement mouse_movement;
-+ float x;
-+ float y;
-+
-+ enum mouse_button mouse_button;
-+ int button;
-+} *mouse_event_t;
-+
-
- /* The user must define this variable. Set this to the name of the
- console client. */
-@@ -256,6 +281,14 @@ typedef enum
- down. */
- int cons_vcons_scrollback (vcons_t vcons, cons_scroll_t type, float value);
-
-+/* Set the mouse cursor position to X, Y. VCONS is locked. */
-+error_t cons_vcons_set_mousecursor_pos (vcons_t vcons, float x, float y);
-+
-+/* If STATUS is set to 0, hide the mouse cursor, otherwise show
-+ it. VCONS is locked. */
-+error_t cons_vcons_set_mousecursor_status (vcons_t vcons, int status);
-+
-+
-
- extern const struct argp cons_startup_argp;
-
-@@ -286,4 +319,6 @@ void cons_vcons_destroy (void *port);
- /* Redraw the virtual console VCONS, which is locked. */
- void cons_vcons_refresh (vcons_t vcons);
-
-+error_t cons_vcons_move_mouse (vcons_t vcons, mouse_event_t ev);
-+
- #endif /* hurd/cons.h */
-diff -upN ../libcons.cvs/file-changed.c ./file-changed.c
---- libcons.cvs/file-changed.c 2003-08-02 21:43:46.000000000 +0000
-+++ libcons/file-changed.c 2004-04-02 07:02:31.000000000 +0000
-@@ -1,5 +1,5 @@
- /* file-changed.c - Handling file changed notifications.
-- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
- Written by Marcus Brinkmann.
-
- This file is part of the GNU Hurd.
-@@ -93,6 +93,7 @@ cons_S_file_changed (cons_notify_t notif
- /* The cursor was visible before. */
- cons_vcons_set_cursor_status (vcons, CONS_CURSOR_INVISIBLE);
-
-+ _cons_vcons_console_event (vcons, CONSEVT_OUTPUT);
- cons_vcons_update (vcons);
- }
- if (change.what.cursor_status)
-@@ -185,6 +186,7 @@ cons_S_file_changed (cons_notify_t notif
- end - size + 1,
- 0, (size - vis_start)
- / vcons->state.screen.width);
-+ _cons_vcons_console_event (vcons, CONSEVT_OUTPUT);
- cons_vcons_update (vcons);
- }
- vcons->state.screen.cur_line = new_cur_line;
-@@ -342,6 +344,7 @@ cons_S_file_changed (cons_notify_t notif
- (size - rotate)
- / vcons->state.screen.width);
- }
-+ _cons_vcons_console_event (vcons, CONSEVT_OUTPUT);
- cons_vcons_update (vcons);
- }
- }
-diff -upN ../libcons.cvs/opts-std-startup.c ./opts-std-startup.c
---- libcons.cvs/opts-std-startup.c 2003-08-02 21:43:46.000000000 +0000
-+++ libcons/opts-std-startup.c 2004-04-02 00:35:20.000000000 +0000
-@@ -1,5 +1,5 @@
- /* opts-std-startup.c - Standard startup-time command line parser.
-- Copyright (C) 1995,96,97,98,99,2001,02,2003 Free Software Foundation, Inc.
-+ Copyright (C) 1995,96,97,98,99,2001,02,2003,2004 Free Software Foundation, Inc.
- Written by Miles Bader <miles@gnu.org> and Marcus Brinkmann.
-
- This file is part of the GNU Hurd.
-@@ -25,7 +25,7 @@
- #include "priv.h"
-
-
--/* Option keys for long-only options in diskfs_common_options. */
-+/* Option keys for long-only options in argp_option. */
- #define OPT_SLACK 600 /* --slack */
- #define OPT_JUMP_DOWN_ON_INPUT 601 /* --jump-down-on-input */
- #define OPT_NO_JUMP_DOWN_ON_INPUT 602 /* --no-jump-down-on-input */
-@@ -33,13 +33,20 @@
- #define OPT_NO_JUMP_DOWN_ON_OUTPUT 604 /* --no-jump-down-on-output */
- #define OPT_VISUAL_BELL 605 /* --visual-bell */
- #define OPT_AUDIBLE_BELL 606 /* --audible-bell */
-+#define OPT_MOUSE_SHOW 607 /* --mouse-show */
-+#define OPT_MOUSE_HIDE 608 /* --mouse-hide */
-+#define OPT_MOUSE_SENS 609 /* --mouse-sensitivity */
-
--/* Common value for diskfs_common_options and diskfs_default_sync_interval. */
-+/* The number of records the client is allowed to lag behind the server. */
- #define DEFAULT_SLACK 100
- #define DEFAULT_SLACK_STRING STRINGIFY(DEFAULT_SLACK)
- #define STRINGIFY(x) STRINGIFY_1(x)
- #define STRINGIFY_1(x) #x
-
-+/* The mouse sensitivity. */
-+#define DEFAULT_MOUSE_SENS 3.0
-+#define DEFAULT_MOUSE_SENS_STRING STRINGIFY(DEFAULT_SLACK)
-+
- /* Number of records the client is allowed to lag behind the
- server. */
- int _cons_slack = DEFAULT_SLACK;
-@@ -59,6 +66,15 @@ bell_type_t _cons_visual_bell = BELL_VIS
- /* The type of bell used for the audible bell. */
- bell_type_t _cons_audible_bell = BELL_AUDIBLE;
-
-+/* The type of events that will make the mouse cursor visible. */
-+int _cons_show_mouse = CONSEVT_MOUSEMOVE;
-+
-+/* The type of events that will hide the mouse cursor. */
-+int _cons_hide_mouse = CONSEVT_KEYPRESS;
-+
-+/* The mouse sensitivity. */
-+float _cons_mouse_sens = DEFAULT_MOUSE_SENS;
-+
- static const struct argp_option
- startup_options[] =
- {
-@@ -76,6 +92,15 @@ startup_options[] =
- "off, visual, audible" },
- { "audible-bell", OPT_AUDIBLE_BELL, "BELL", 0, "Audible bell: on (default), "
- "off, visual, audible" },
-+ { "mouse-show", OPT_MOUSE_SHOW, "EVENTS", 0, "One or more of the events"
-+ " MOUSEMOVE, MOUSEBUTTON, KEYPRESS, OUTPUT (default is MOUSEMOVE), if one"
-+ " of these events occur the mouse cursor will be made visible" },
-+ { "mouse-hide", OPT_MOUSE_HIDE, "EVENTS", 0, "One or more of the events"
-+ " MOUSEMOVE, MOUSEBUTTON, KEYPRESS, OUTPUT (default is KEYPRESS), if one"
-+ " of these events occur the mouse cursor will be hidden " },
-+ { "mouse-sensitivity", OPT_MOUSE_SENS, "SENSITIVITY", 0, "The mouse"
-+ " sensitivity (default " DEFAULT_MOUSE_SENS_STRING "). A lower value"
-+ " means more sensitive" },
- { 0, 0 }
- };
-
-@@ -86,6 +111,30 @@ static const char doc[] = "A console cli
- static error_t
- parse_startup_opt (int opt, char *arg, struct argp_state *state)
- {
-+ int parse_events (char *events)
-+ {
-+ char *evtstr = strdupa (events);
-+ char *tok = strtok (evtstr, ",");
-+ int evmask = 0;
-+
-+ while (tok)
-+ {
-+ if (!strcasecmp ("mousemove", tok))
-+ evmask |= CONSEVT_MOUSEMOVE;
-+ else if (!strcasecmp ("mousebutton", tok))
-+ evmask |= CONSEVT_MOUSEBUTTON;
-+ else if (!strcasecmp ("keypress", tok))
-+ evmask |= CONSEVT_KEYPRESS;
-+ else if (!strcasecmp ("output", tok))
-+ evmask |= CONSEVT_OUTPUT;
-+ else
-+ argp_error (state, "The event can be one of: MOUSEMOVE,"
-+ " MOUSEBUTTON, KEYPRESS or OUTPUT");
-+ tok = strtok (NULL, ",");
-+ }
-+ return evmask;
-+ }
-+
- switch (opt)
- {
- case OPT_SLACK:
-@@ -131,7 +180,28 @@ parse_startup_opt (int opt, char *arg, s
- argp_error (state, "The visual bell can be one of: on, off, visual, "
- "audible");
- break;
--
-+
-+ case OPT_MOUSE_SHOW:
-+ _cons_show_mouse = parse_events (arg);
-+ break;
-+
-+ case OPT_MOUSE_HIDE:
-+ _cons_hide_mouse = parse_events (arg);
-+ break;
-+
-+ case OPT_MOUSE_SENS:
-+ {
-+ char *tail;
-+
-+ errno = 0;
-+ _cons_mouse_sens = strtod (arg, &tail);
-+ if (tail == NULL || tail == arg || *tail != '\0')
-+ argp_error (state, "SENSITIVITY is not a number: %s", arg);
-+ if (errno)
-+ argp_error (state, "Overflow in argument SENSITIVITY %s", arg);
-+ break;
-+ }
-+
- case ARGP_KEY_ARG:
- if (state->arg_num > 0)
- /* Too many arguments. */
-diff -upN ../libcons.cvs/priv.h ./priv.h
---- libcons.cvs/priv.h 2003-08-02 21:43:46.000000000 +0000
-+++ libcons/priv.h 2004-04-02 00:52:07.000000000 +0000
-@@ -29,6 +29,11 @@ typedef enum
- BELL_AUDIBLE
- } bell_type_t;
-
-+#define CONSEVT_MOUSEMOVE (1 << 1)
-+#define CONSEVT_MOUSEBUTTON (1 << 2)
-+#define CONSEVT_KEYPRESS (1 << 4)
-+#define CONSEVT_OUTPUT (1 << 8)
-+
-
- /* Number of records the client is allowed to lag behind the
- server. */
-@@ -49,11 +54,26 @@ extern bell_type_t _cons_visual_bell;
- /* The type of bell used for the audible bell. */
- extern bell_type_t _cons_audible_bell;
-
-+/* The type of events that will make the mouse cursor visible. */
-+extern int _cons_show_mouse;
-+
-+/* The type of events that will hide the mouse cursor. */
-+extern int _cons_hide_mouse;
-+
-+/* The mouse sensitivity. */
-+extern float _cons_mouse_sens;
-+
-
- /* Non-locking version of cons_vcons_scrollback. Does also not update
- the display. */
- int _cons_vcons_scrollback (vcons_t vcons, cons_scroll_t type, float value);
-
-+/* Non-locking version of cons_vcons_input. */
-+error_t _cons_vcons_input (vcons_t vcons, char *buf, size_t size);
-+
-+/* Generate the console event EVENT for console VCONS. */
-+void _cons_vcons_console_event (vcons_t vcons, int event);
-+
-
- /* Called by MiG to translate ports into cons_notify_t. mutations.h
- arranges for this to happen for the fs_notify interfaces. */
-diff -upN ../libcons.cvs/vcons-event.c ./vcons-event.c
---- libcons.cvs/vcons-event.c 1970-01-01 00:00:00.000000000 +0000
-+++ libcons/vcons-event.c 2004-04-02 07:39:07.000000000 +0000
-@@ -0,0 +1,31 @@
-+/* vcons-event.c - Handle console events.
-+ Copyright (C) 2004 Free Software Foundation, Inc.
-+ Written by Marco Gerards.
-+
-+ This file is part of the GNU Hurd.
-+
-+ The GNU Hurd is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU General Public License as
-+ published by the Free Software Foundation; either version 2, or (at
-+ your option) any later version.
-+
-+ The GNU Hurd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */
-+
-+#include "cons.h"
-+#include "priv.h"
-+
-+void
-+_cons_vcons_console_event (vcons_t vcons, int event)
-+{
-+ if (_cons_show_mouse & event)
-+ cons_vcons_set_mousecursor_status (vcons, 1);
-+ else if (_cons_hide_mouse & event)
-+ cons_vcons_set_mousecursor_status (vcons, 0);
-+}
-diff -upN ../libcons.cvs/vcons-input.c ./vcons-input.c
---- libcons.cvs/vcons-input.c 2002-09-13 23:53:55.000000000 +0000
-+++ libcons/vcons-input.c 2004-04-02 07:02:54.000000000 +0000
-@@ -1,5 +1,5 @@
- /* vcons-input.c - Add input to a virtual console.
-- Copyright (C) 2002 Free Software Foundation, Inc.
-+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
- Written by Marcus Brinkmann.
-
- This file is part of the GNU Hurd.
-@@ -24,18 +24,12 @@
- #include "cons.h"
- #include "priv.h"
-
--/* Enter SIZE bytes from the buffer BUF into the virtual console
-- VCONS. */
-+/* Non-locking version of cons_vcons_input. */
- error_t
--cons_vcons_input (vcons_t vcons, char *buf, size_t size)
-+_cons_vcons_input (vcons_t vcons, char *buf, size_t size)
- {
- int ret;
-
-- mutex_lock (&vcons->lock);
--
-- if (vcons->scrolling && _cons_jump_down_on_input)
-- _cons_vcons_scrollback (vcons, CONS_SCROLL_ABSOLUTE_LINE, 0);
--
- do
- {
- ret = write (vcons->input, buf, size);
-@@ -47,8 +41,24 @@ cons_vcons_input (vcons_t vcons, char *b
- }
- while (size && (ret != -1 || errno == EINTR));
-
-- mutex_unlock (&vcons->lock);
- return 0;
- }
-
-
-+/* Enter SIZE bytes from the buffer BUF into the virtual console
-+ VCONS. */
-+error_t
-+cons_vcons_input (vcons_t vcons, char *buf, size_t size)
-+{
-+ mutex_lock (&vcons->lock);
-+
-+ _cons_vcons_console_event (vcons, CONSEVT_KEYPRESS);
-+
-+ if (vcons->scrolling && _cons_jump_down_on_input)
-+ _cons_vcons_scrollback (vcons, CONS_SCROLL_ABSOLUTE_LINE, 0);
-+
-+ _cons_vcons_input (vcons, buf, size);
-+
-+ mutex_unlock (&vcons->lock);
-+ return 0;
-+}
-diff -upN ../libcons.cvs/vcons-move-mouse.c ./vcons-move-mouse.c
---- libcons.cvs/vcons-move-mouse.c 1970-01-01 00:00:00.000000000 +0000
-+++ libcons/vcons-move-mouse.c 2004-07-27 07:07:34.000000000 +0000
-@@ -0,0 +1,98 @@
-+/* vcons-move-mouse.c - Catch mouse events.
-+ Copyright (C) 2004 Free Software Foundation, Inc.
-+ Written by Marco Gerards.
-+
-+ This file is part of the GNU Hurd.
-+
-+ The GNU Hurd is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU General Public License as
-+ published by the Free Software Foundation; either version 2, or (at
-+ your option) any later version.
-+
-+ The GNU Hurd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */
-+
-+#include <errno.h>
-+#include <unistd.h>
-+
-+#include "cons.h"
-+#include "priv.h"
-+
-+static float mousepos_x;
-+static float mousepos_y;
-+
-+error_t
-+cons_vcons_move_mouse (vcons_t vcons, mouse_event_t ev)
-+{
-+ int ret;
-+ char event[CONS_MOUSE_EVENT_LENGTH];
-+ uint32_t report_events = vcons->display->flags & CONS_FLAGS_TRACK_MOUSE;
-+
-+ mutex_lock (&vcons->lock);
-+
-+ switch (ev->mouse_movement)
-+ {
-+ case MOUSE_MOVE_REL:
-+ mousepos_x += ((float) ev->x / _cons_mouse_sens);
-+ mousepos_y += ((float) ev->y / _cons_mouse_sens);
-+ break;
-+
-+ case MOUSE_MOVE_PROC:
-+ case MOUSE_MOVE_ABS:
-+ break;
-+ }
-+
-+ /* Keep the mouse cursor in range of the VC. */
-+ if (mousepos_x < 0)
-+ mousepos_x = 0;
-+ if (mousepos_y < 0)
-+ mousepos_y = 0;
-+ if (mousepos_x >= (float) vcons->state.screen.width)
-+ mousepos_x = vcons->state.screen.width - 1;
-+ if (mousepos_y >= (float) vcons->state.screen.height)
-+ mousepos_y = vcons->state.screen.height - 1;
-+
-+ cons_vcons_set_mousecursor_pos (vcons, (float) mousepos_x, (float) mousepos_y);
-+
-+ /* Report a mouse movement event. */
-+ if (ev->x || ev->y)
-+ _cons_vcons_console_event (vcons, CONSEVT_MOUSEMOVE);
-+
-+ /* Report a mouse button event. */
-+ if (ev->mouse_button != MOUSE_BUTTON_NO_OP)
-+ _cons_vcons_console_event (vcons, CONSEVT_MOUSEBUTTON);
-+
-+ if (report_events)
-+ {
-+ switch (ev->mouse_button)
-+ {
-+ case MOUSE_BUTTON_NO_OP:
-+ break;
-+
-+ case MOUSE_BUTTON_PRESSED:
-+ /* Make a xterm like event string. */
-+ CONS_MOUSE_EVENT (event, ev->button, (int) mousepos_x + 1, (int) mousepos_y + 1);
-+
-+ _cons_vcons_input (vcons, event, CONS_MOUSE_EVENT_LENGTH);
-+ /* And send it to the server. */
-+ break;
-+
-+ case MOUSE_BUTTON_RELEASED:
-+ /* Make a xterm like event string. */
-+ CONS_MOUSE_EVENT (event, CONS_MOUSE_RELEASE, (int) mousepos_x + 1, (int) mousepos_y + 1);
-+
-+ /* And send it to the server. */
-+ _cons_vcons_input (vcons, event, CONS_MOUSE_EVENT_LENGTH);
-+ break;
-+ }
-+ }
-+
-+ mutex_unlock (&vcons->lock);
-+ return 0;
-+}
-diff -upN ../libcons.cvs/vcons-refresh.c ./vcons-refresh.c
---- libcons.cvs/vcons-refresh.c 2003-08-15 21:04:10.000000000 +0000
-+++ libcons/vcons-refresh.c 2004-04-02 07:03:08.000000000 +0000
-@@ -1,5 +1,5 @@
- /* vcons-refresh.c - Redraw a virtual console.
-- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
- Written by Marcus Brinkmann.
-
- This file is part of the GNU Hurd.
-@@ -22,6 +22,7 @@
- #include <assert.h>
-
- #include "cons.h"
-+#include "priv.h"
-
- /* Redraw the virtual console VCONS, which is locked. */
- void
-@@ -70,5 +71,6 @@ cons_vcons_refresh (vcons_t vcons)
- cons_vcons_set_cursor_status (vcons, vcons->state.cursor.status);
- cons_vcons_set_scroll_lock (vcons, vcons->state.flags
- & CONS_FLAGS_SCROLL_LOCK);
-+ _cons_vcons_console_event (vcons, CONSEVT_OUTPUT);
- cons_vcons_update (vcons);
- }
-diff -upN ../libcons.cvs/vcons-scrollback.c ./vcons-scrollback.c
---- libcons.cvs/vcons-scrollback.c 2002-09-17 11:47:15.000000000 +0000
-+++ libcons/vcons-scrollback.c 2004-04-02 07:03:15.000000000 +0000
-@@ -1,5 +1,5 @@
- /* vcons-scrollback.c - Move forward and backward in the scrollback buffer.
-- Copyright (C) 2002 Free Software Foundation, Inc.
-+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
- Written by Marcus Brinkmann.
-
- This file is part of the GNU Hurd.
-@@ -23,6 +23,7 @@
- #include <cthreads.h>
-
- #include "cons.h"
-+#include "priv.h"
-
- /* Non-locking version of cons_vcons_scrollback. Does also not update
- the display. */
-@@ -155,6 +156,7 @@ cons_vcons_scrollback (vcons_t vcons, co
-
- mutex_lock (&vcons->lock);
- ret = _cons_vcons_scrollback (vcons, type, value);
-+ _cons_vcons_console_event (vcons, CONSEVT_OUTPUT);
- cons_vcons_update (vcons);
- mutex_unlock (&vcons->lock);
- return ret;