On Sat, Nov 20, 2021 at 10:24:46PM +0000, Thomas Adam wrote:
> On Sat, Nov 20, 2021 at 03:54:10PM +0100, Dominik Vogt wrote:
> > On Sat, Nov 20, 2021 at 02:15:58PM +0000, Thomas Adam wrote:
> > > On Sat, Nov 20, 2021, 14:13 Dominik Vogt <dominik.v...@gmx.de> wrote:
> > >
> > > > Is Xinerama still useful for anything or can we remove it?
> > > >
> > > It has already been removed. Where are you seeing references to it?

Patch attached.  Can you please double check and fill in the gaps?
(see comments belo).

> > ./fvwm/menus.c:     fXineramaRoot = False;
> > ./fvwm/menus.c:               else if (StrEquals(tok,"xineramaroot"))


Not sure what the right name of the option and the flag variable
should be.  There's only a placeholder in the man page either.

> > ./perllib/FVWM/Commands.pm:         descr => q{Move a window to another 
> > Xinerama screen},

[MOVE_TO_SCREEN]
This one should be just renamed to just "screen"?

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt
From 03149ce8658894f22e3c5e17cc8d981bb9563ec8 Mon Sep 17 00:00:00 2001
From: Dominik Vogt <dominik.v...@gmx.de>
Date: Sun, 21 Nov 2021 00:27:00 +0100
Subject: [PATCH 1/4] Remove Xinerama leftovers.

---
 bin/fvwm-config.in                   |  6 +++---
 doc/fvwm3_manpage_source.adoc        |  5 ++++-
 fvwm/add_window.c                    |  3 +--
 fvwm/commands.h                      | 10 ---------
 fvwm/functable.c                     |  2 +-
 fvwm/fvwm.h                          |  8 +++----
 fvwm/menuparameters.h                |  6 ++----
 fvwm/menus.c                         | 27 +++++++++++------------
 fvwm/module_interface.h              |  1 -
 fvwm/move_resize.c                   | 15 ++++++-------
 fvwm/placement.c                     |  4 ++--
 fvwm/screen.h                        |  1 -
 fvwm/style.c                         | 24 ++++++++++-----------
 fvwm/style.h                         |  8 +++----
 fvwm/update.c                        |  6 ------
 fvwm/windowlist.c                    |  2 +-
 libs/FTips.c                         |  2 +-
 libs/defaults.h                      |  6 ------
 modules/FvwmButtons/FvwmButtons.h    |  1 -
 modules/FvwmForm/FvwmForm.c          | 17 ---------------
 perllib/FVWM/Commands.pm             | 32 +---------------------------
 perllib/FVWM/Tracker/GlobalConfig.pm |  7 +++---
 22 files changed, 59 insertions(+), 134 deletions(-)

diff --git a/bin/fvwm-config.in b/bin/fvwm-config.in
index 77ea48a3..4ca9edce 100644
--- a/bin/fvwm-config.in
+++ b/bin/fvwm-config.in
@@ -90,9 +90,9 @@ with_shape=@with_shape@
 with_shm=@with_shm@
 with_sm=@with_sm@
 with_xcursor=@with_xcursor@
-with_xinerama=@with_xinerama@
 with_xft=@with_xft@
 with_xpm=@with_xpm@
+with_xrandr=@with_xinerama@
 with_xrender=@with_xrender@

 while test $# -gt 0; do
@@ -162,9 +162,9 @@ while test $# -gt 0; do
 			test "$with_shm"        = "yes" && echo "shm"
 			test "$with_sm"         = "yes" && echo "sm"
 			test "$with_xcursor"    = "yes" && echo "xcursor"
-			test "$with_xinerama"   = "yes" && echo "xinerama"
 			test "$with_xft"        = "yes" && echo "xft"
 			test "$with_xpm"        = "yes" && echo "xpm"
+			test "$with_xrandr"     = "yes" && echo "xrandr"
 			test "$with_xrender"    = "yes" && echo "xrender"
 			;;

@@ -210,9 +210,9 @@ while test $# -gt 0; do
 			echo "	sm (session management): $with_sm"
 			echo "	rsvg (SVG icons and images): $with_rsvg"
 			echo "	xcursor (ARGB/animated cursors): $with_xcursor"
-			echo "	xinerama (multi-head): $with_xinerama"
 			echo "	xft (FreeType anti-alias font): $with_xft"
 			echo "	xpm: $with_xpm"
+			echo "	xrandr (multi-head): $with_xrand"
 			echo "	xrender (XFree86 Xrender extention): $with_xrender"
 			;;

diff --git a/doc/fvwm3_manpage_source.adoc b/doc/fvwm3_manpage_source.adoc
index 42187d14..dee9a0e0 100644
--- a/doc/fvwm3_manpage_source.adoc
+++ b/doc/fvwm3_manpage_source.adoc
@@ -2264,6 +2264,9 @@ The _context-rectangle_ can be one of:
 _Root_:::
 	the root window of the current screen.
 +
+_ScreenRoot_:::
+	!!!???
++
 _Mouse_:::
 	a 1x1 rectangle at the mouse position.
 +
@@ -6130,7 +6133,7 @@ it is still possible to move or resize windows across the edge of the
 current screen. See also *EdgeThickness*.

 The option _EdgeMoveResistance_ makes it easier to place a window
-directly adjacent to the screen's or xinerama screen's border. It
+directly adjacent to the screen's border. It
 takes one or two parameters. The first parameter tells how many pixels
 over the edge of the screen a window's edge must move before it
 actually moves partially off the screen. The optional second parameter
diff --git a/fvwm/add_window.c b/fvwm/add_window.c
index dbd062e2..fd32310f 100644
--- a/fvwm/add_window.c
+++ b/fvwm/add_window.c
@@ -916,8 +916,7 @@ void setup_numeric_vals(FvwmWindow *fw, window_style *pstyle)
 		fw->edge_delay_ms_resize = DEFAULT_RESIZE_DELAY;
 	}
 	fw->edge_resistance_move = pstyle->edge_resistance_move;
-	fw->edge_resistance_xinerama_move =
-		pstyle->edge_resistance_xinerama_move;
+	fw->edge_resistance_screen_move = pstyle->edge_resistance_screen_move;

 	return;
 }
diff --git a/fvwm/commands.h b/fvwm/commands.h
index 4663111a..1a9ee02e 100644
--- a/fvwm/commands.h
+++ b/fvwm/commands.h
@@ -143,11 +143,6 @@ enum
 	F_WAIT,
 	F_WINDOWFONT,
 	F_WINDOWLIST,
-	F_XINERAMA,
-	F_XINERAMAPRIMARYSCREEN,
-	F_XINERAMASLS,
-	F_XINERAMASLSSCREENS,
-	F_XINERAMASLSSIZE,
 	F_XOR,
 	F_XSYNC,
 	F_XSYNCHRONIZE,
@@ -384,11 +379,6 @@ void CMD_WindowList(F_CMD_ARGS);
 void CMD_WindowShade(F_CMD_ARGS);
 void CMD_WindowShadeAnimate(F_CMD_ARGS);
 void CMD_WindowStyle(F_CMD_ARGS);
-void CMD_Xinerama(F_CMD_ARGS);
-void CMD_XineramaPrimaryScreen(F_CMD_ARGS);
-void CMD_XineramaSls(F_CMD_ARGS);
-void CMD_XineramaSlsScreens(F_CMD_ARGS);
-void CMD_XineramaSlsSize(F_CMD_ARGS);
 void CMD_XorPixmap(F_CMD_ARGS);
 void CMD_XorValue(F_CMD_ARGS);
 void CMD_XSync(F_CMD_ARGS);
diff --git a/fvwm/functable.c b/fvwm/functable.c
index aa53a045..763415e4 100644
--- a/fvwm/functable.c
+++ b/fvwm/functable.c
@@ -397,7 +397,7 @@ const func_t func_table[] =

 	CMD_ENT("movetoscreen", CMD_MoveToScreen, F_MOVE_TO_SCREEN,
 		FUNC_NEEDS_WINDOW, CRS_SELECT),
-	/* - Move a window to another Xinerama screen */
+	/* - Move a window to another screen */

 	CMD_ENT("next", CMD_Next, F_NEXT, 0, 0),
 	/* - Operate on the next window matching conditions */
diff --git a/fvwm/fvwm.h b/fvwm/fvwm.h
index bdc04ee8..4e375658 100644
--- a/fvwm/fvwm.h
+++ b/fvwm/fvwm.h
@@ -153,7 +153,7 @@ typedef struct icon_boxes_struct
 	struct icon_boxes_struct *next;       /* next icon_boxes or zero */
 	unsigned int use_count;
 	int IconBox[4];                       /* x/y x/y for iconbox */
-	char	*IconScreen;                       /* Xinerama screen */
+	char	*IconScreen;                       /* screen */
 	short IconGrid[2];                    /* x incr, y incr */
 	char IconSign[4];                     /* because of -0, need to save */
 	unsigned is_orphan : 1;
@@ -542,7 +542,7 @@ typedef struct style_flags
 	unsigned has_edge_delay_ms_move : 1;
 	unsigned has_edge_delay_ms_resize : 1;
 	unsigned has_edge_resistance_move : 1;
-	unsigned has_edge_resistance_xinerama_move : 1;
+	unsigned has_edge_resistance_screen_move : 1;
 	unsigned has_handle_width : 1;
 	unsigned has_icon : 1;
 	unsigned has_icon_boxes : 1;
@@ -694,7 +694,7 @@ typedef struct window_style
 	int edge_delay_ms_move;
 	int edge_delay_ms_resize;
 	int edge_resistance_move;
-	int edge_resistance_xinerama_move;
+	int edge_resistance_screen_move;
 	icon_boxes *icon_boxes;
 	float norm_placement_penalty;
 	pl_penalty_struct pl_penalty;
@@ -924,7 +924,7 @@ typedef struct FvwmWindow
 	int edge_delay_ms_move;
 	int edge_delay_ms_resize;
 	int edge_resistance_move;
-	int edge_resistance_xinerama_move;
+	int edge_resistance_screen_move;

 #define FM_NO_INPUT        0
 #define FM_PASSIVE         1
diff --git a/fvwm/menuparameters.h b/fvwm/menuparameters.h
index 134d43d7..53bf1ac2 100644
--- a/fvwm/menuparameters.h
+++ b/fvwm/menuparameters.h
@@ -84,8 +84,7 @@ typedef struct MenuPosHints
 typedef struct MenuOptions
 {
 	struct MenuPosHints pos_hints;
-	/* A position on the Xinerama screen on which the menu should be
-	 * started. */
+	/* A position on the screen on which the menu should be started. */
 	struct
 	{
 		unsigned do_not_warp : 1;
@@ -108,8 +107,7 @@ typedef struct MenuParameters
 	char **ret_paction;
 	XEvent *event_propagate_to_submenu;
 	struct MenuOptions *pops;
-	/* A position on the Xinerama screen on which the menu should be
-	 * started. */
+	/* A position on the screen on which the menu should be started. */
 	int screen_origin_x;
 	int screen_origin_y;
 	struct
diff --git a/fvwm/menus.c b/fvwm/menus.c
index 520befa0..9893eca2 100644
--- a/fvwm/menus.c
+++ b/fvwm/menus.c
@@ -7061,7 +7061,7 @@ char *get_menu_options(
 	float dummy_float;
 	Bool dummy_flag;
 	Window context_window = None;
-	Bool fHasContext, fUseItemOffset, fRectangleContext, fXineramaRoot;
+	Bool fHasContext, fUseItemOffset, fRectangleContext, fScreenRoot;
 	Bool fValidPosHints =
 		last_saved_pos_hints.flags.is_last_menu_pos_hints_valid;
 	Bool is_action_empty = False;
@@ -7073,7 +7073,7 @@ char *get_menu_options(
 	 * sum up the totals right now. This is useful for the SubmenusLeft
 	 * style. */

-	fXineramaRoot = False;
+	fScreenRoot = False;
 	last_saved_pos_hints.flags.is_last_menu_pos_hints_valid = False;
 	if (pops == NULL)
 	{
@@ -7210,11 +7210,11 @@ char *get_menu_options(
 			context_window = Scr.Root;
 			pops->pos_hints.is_relative = False;
 		}
-		else if (StrEquals(tok,"xineramaroot"))
+		else if (StrEquals(tok,"screenroot"))
 		{
 			context_window = Scr.Root;
 			pops->pos_hints.is_relative = False;
-			fXineramaRoot = True;
+			fScreenRoot = True;
 		}
 		else if (StrEquals(tok,"mouse"))
 		{
@@ -7239,7 +7239,7 @@ char *get_menu_options(
 					   "missing rectangle geometry");
 				if (!pops->pos_hints.has_screen_origin)
 				{
-					/* xinerama: emergency fallback */
+					/* emergency fallback */
 					pops->pos_hints.has_screen_origin = 1;
 					pops->pos_hints.screen_origin_x = 0;
 					pops->pos_hints.screen_origin_y = 0;
@@ -7257,7 +7257,7 @@ char *get_menu_options(
 					   "invalid rectangle geometry");
 				if (!pops->pos_hints.has_screen_origin)
 				{
-					/* xinerama: emergency fallback */
+					/* emergency fallback */
 					pops->pos_hints.has_screen_origin = 1;
 					pops->pos_hints.screen_origin_x = 0;
 					pops->pos_hints.screen_origin_y = 0;
@@ -7336,7 +7336,7 @@ char *get_menu_options(
 		{
 			if (!pops->pos_hints.has_screen_origin)
 			{
-				/* xinerama: use global screen as reference */
+				/* use global screen as reference */
 				pops->pos_hints.has_screen_origin = 1;
 				pops->pos_hints.screen_origin_x = -1;
 				pops->pos_hints.screen_origin_y = -1;
@@ -7368,8 +7368,7 @@ char *get_menu_options(
 			width = height = 1;
 			if (!pops->pos_hints.has_screen_origin)
 			{
-				/* xinerama: use screen with pinter as
-				 * reference */
+				/* use screen with pointer as reference */
 				pops->pos_hints.has_screen_origin = 1;
 				pops->pos_hints.screen_origin_x = x;
 				pops->pos_hints.screen_origin_y = y;
@@ -7393,7 +7392,7 @@ char *get_menu_options(
 			if (!pops->pos_hints.has_screen_origin)
 			{
 				pops->pos_hints.has_screen_origin = 1;
-				if (fXineramaRoot)
+				if (fScreenRoot)
 				{
 					/* use whole screen */
 					pops->pos_hints.screen_origin_x = -1;
@@ -7401,8 +7400,8 @@ char *get_menu_options(
 				}
 				else if (context_window == Scr.Root)
 				{
-					/* xinerama: use screen that contains
-					 * the window center as reference */
+					/* use screen that contains the window
+					 * center as reference */
 					if (!fev_get_evpos_or_query(
 						    dpy, context_window, e,
 						    &pops->pos_hints.
@@ -7431,8 +7430,8 @@ char *get_menu_options(
 				}
 				else
 				{
-					/* xinerama: use screen that contains
-					 * the window center as reference */
+					/* use screen that contains the window
+					 * center as reference */
 					pops->pos_hints.screen_origin_x =
 						JunkX + width / 2;
 					pops->pos_hints.screen_origin_y =
diff --git a/fvwm/module_interface.h b/fvwm/module_interface.h
index 33417405..ef6eedab 100644
--- a/fvwm/module_interface.h
+++ b/fvwm/module_interface.h
@@ -25,7 +25,6 @@ void BroadcastPropertyChange(
 void BroadcastColorset(int n);
 void BroadcastConfigInfoString(char *string);
 void BroadcastMonitorList(fmodule *);
-void broadcast_xinerama_state(void);
 void broadcast_ignore_modifiers(void);
 void SendPacket(
 	struct fmodule *module, unsigned long event_type,
diff --git a/fvwm/move_resize.c b/fvwm/move_resize.c
index 7091a984..5d87f77c 100644
--- a/fvwm/move_resize.c
+++ b/fvwm/move_resize.c
@@ -1180,8 +1180,7 @@ static void DisplayPosition(
 		return;
 	}
 	position_geometry_window(eventp);
-	/* Translate x,y into local screen coordinates,
-	 * in case Xinerama is used. */
+	/* Translate x,y into local screen coordinates. */
 	fscr.xypos.x = x;
 	fscr.xypos.y = y;
 	FScreenTranslateCoordinates(NULL, FSCREEN_GLOBAL, &fscr,
@@ -2515,8 +2514,8 @@ static void DoSnapAttract(
 			*py = 0;
 		}
 	}
-	/* Resist moving windows between xineramascreens */
-	if (fw->edge_resistance_xinerama_move)
+	/* Resist moving windows between screens */
+	if (fw->edge_resistance_screen_move)
 	{
 		int scr_x0, scr_y0;
 		int scr_x1, scr_y1;
@@ -2529,7 +2528,7 @@ static void DoSnapAttract(
 		/* snap to right edge */
 		if (scr_x1 < scr_w &&
 		    *px + Width >= scr_x1 && *px + Width <
-		    scr_x1 + fw->edge_resistance_xinerama_move)
+		    scr_x1 + fw->edge_resistance_screen_move)
 		{
 			*px = scr_x1 - Width;
 			do_recalc_rectangle = True;
@@ -2538,7 +2537,7 @@ static void DoSnapAttract(
 		else if (
 			scr_x0 > 0 &&
 			*px <= scr_x0 && scr_x0 - *px <
-			fw->edge_resistance_xinerama_move)
+			fw->edge_resistance_screen_move)
 		{
 			*px = scr_x0;
 			do_recalc_rectangle = True;
@@ -2555,7 +2554,7 @@ static void DoSnapAttract(
 		/* snap to bottom edge */
 		if (scr_y1 < scr_h &&
 		    *py + Height >= scr_y1 && *py + Height <
-		    scr_y1 + fw->edge_resistance_xinerama_move)
+		    scr_y1 + fw->edge_resistance_screen_move)
 		{
 			*py = scr_y1 - Height;
 		}
@@ -2563,7 +2562,7 @@ static void DoSnapAttract(
 		else if (
 			scr_y0 > 0 &&
 			*py <= scr_y0 && scr_y0 - *py <
-			fw->edge_resistance_xinerama_move)
+			fw->edge_resistance_screen_move)
 		{
 			*py = scr_y0;
 		}
diff --git a/fvwm/placement.c b/fvwm/placement.c
index ee404906..5d2174c7 100644
--- a/fvwm/placement.c
+++ b/fvwm/placement.c
@@ -1497,10 +1497,10 @@ static int __place_get_nowm_pos(
 		 * place does not intersect the target screen, we assume the
 		 * window position must be adjusted to the screen origin. So
 		 * there are two ways to get a window to pop up on a particular
-		 * Xinerama screen.  1: The intuitive way giving a geometry
+		 * screen.  1: The intuitive way giving a geometry
 		 * hint relative to the desired screen's 0,0 along with the
 		 * appropriate StartsOnScreen style (or *wmscreen resource), or
-		 * 2: Do NOT specify a Xinerama screen (or specify it to be
+		 * 2: Do NOT specify a screen (or specify it to be
 		 * 'g') and give the geometry hint in terms of the global
 		 * screen. */
 #if 0
diff --git a/fvwm/screen.h b/fvwm/screen.h
index 4476984b..341b4ad9 100644
--- a/fvwm/screen.h
+++ b/fvwm/screen.h
@@ -469,7 +469,6 @@ typedef struct ScreenInfo
 		unsigned has_default_font_changed : 1;
 		unsigned has_mouse_binding_changed : 1;
 		unsigned has_nr_buttons_changed : 1;
-		unsigned has_xinerama_state_changed : 1;
 		unsigned is_executing_complex_function : 1;
 		unsigned is_executing_menu_function : 1;
 		unsigned is_map_desk_in_progress : 1;
diff --git a/fvwm/style.c b/fvwm/style.c
index 59832ed7..9eab2fe1 100644
--- a/fvwm/style.c
+++ b/fvwm/style.c
@@ -620,11 +620,11 @@ static void merge_styles(
 		SSET_EDGE_RESISTANCE_MOVE(
 			*merged_style, SGET_EDGE_RESISTANCE_MOVE(*add_style));
 	}
-	if (add_style->flags.has_edge_resistance_xinerama_move)
+	if (add_style->flags.has_edge_resistance_screen_move)
 	{
-		SSET_EDGE_RESISTANCE_XINERAMA_MOVE(
+		SSET_EDGE_RESISTANCE_SCREEN_MOVE(
 			*merged_style,
-			SGET_EDGE_RESISTANCE_XINERAMA_MOVE(*add_style));
+			SGET_EDGE_RESISTANCE_SCREEN_MOVE(*add_style));
 	}

 	/* Note:  Only one style cmd can define a window's iconboxes, the last
@@ -2576,25 +2576,25 @@ static Bool style_parse_one_style_option(
 		{
 			int num;
 			unsigned has_move;
-			unsigned has_xinerama_move;
+			unsigned has_screen_move;

 			num = GetIntegerArguments(rest, &rest, val, 2);
 			if (num == 1)
 			{
 				has_move = 1;
-				has_xinerama_move = 0;
+				has_screen_move = 0;
 			}
 			else if (num == 2)
 			{
 				has_move = 1;
-				has_xinerama_move = 1;
+				has_screen_move = 1;
 			}
 			else
 			{
 				val[0] = 0;
 				val[1] = 0;
 				has_move = 0;
-				has_xinerama_move = 0;
+				has_screen_move = 0;
 			}
 			if (val[0] < 0)
 			{
@@ -2608,11 +2608,11 @@ static Bool style_parse_one_style_option(
 			ps->flag_mask.has_edge_resistance_move = 1;
 			ps->change_mask.has_edge_resistance_move = 1;
 			SSET_EDGE_RESISTANCE_MOVE(*ps, val[0]);
-			ps->flags.has_edge_resistance_xinerama_move =
-				has_xinerama_move;
-			ps->flag_mask.has_edge_resistance_xinerama_move = 1;
-			ps->change_mask.has_edge_resistance_xinerama_move = 1;
-			SSET_EDGE_RESISTANCE_XINERAMA_MOVE(*ps, val[1]);
+			ps->flags.has_edge_resistance_screen_move =
+				has_screen_move;
+			ps->flag_mask.has_edge_resistance_screen_move = 1;
+			ps->change_mask.has_edge_resistance_screen_move = 1;
+			SSET_EDGE_RESISTANCE_SCREEN_MOVE(*ps, val[1]);
 		}
 		else if (StrEquals(token, "EdgeMoveDelay"))
 		{
diff --git a/fvwm/style.h b/fvwm/style.h
index 4391c69a..f2593a47 100644
--- a/fvwm/style.h
+++ b/fvwm/style.h
@@ -608,10 +608,10 @@
 	((s).edge_resistance_move)
 #define SSET_EDGE_RESISTANCE_MOVE(s,x) \
 	((s).edge_resistance_move = (x))
-#define SGET_EDGE_RESISTANCE_XINERAMA_MOVE(s) \
-	((s).edge_resistance_xinerama_move)
-#define SSET_EDGE_RESISTANCE_XINERAMA_MOVE(s,x) \
-	((s).edge_resistance_xinerama_move = (x))
+#define SGET_EDGE_RESISTANCE_SCREEN_MOVE(s) \
+	((s).edge_resistance_screen_move)
+#define SSET_EDGE_RESISTANCE_SCREEN_MOVE(s,x) \
+	((s).edge_resistance_screen_move = (x))
 #define SGET_ICON_BOXES(s) \
 	((s).icon_boxes)
 #define SSET_ICON_BOXES(s,x) \
diff --git a/fvwm/update.c b/fvwm/update.c
index c3399de2..83a05942 100644
--- a/fvwm/update.c
+++ b/fvwm/update.c
@@ -692,11 +692,6 @@ void flush_window_updates(void)
 	{
 		memset(&flags, 0, sizeof(update_win));
 		check_window_style_change(t, &flags, &style);
-		if (Scr.flags.has_xinerama_state_changed)
-		{
-			flags.do_update_icon_boxes = True;
-			flags.do_update_icon_placement = True;
-		}
 		if (Scr.flags.has_nr_buttons_changed)
 		{
 			flags.do_redecorate = True;
@@ -750,7 +745,6 @@ void flush_window_updates(void)
 	Scr.flags.has_default_color_changed = 0;
 	Scr.flags.has_mouse_binding_changed = 0;
 	Scr.flags.has_nr_buttons_changed = 0;
-	Scr.flags.has_xinerama_state_changed = 0;

 	MyXUngrabServer(dpy);
 	if (do_need_ungrab)
diff --git a/fvwm/windowlist.c b/fvwm/windowlist.c
index f77cf675..5614bf32 100644
--- a/fvwm/windowlist.c
+++ b/fvwm/windowlist.c
@@ -251,7 +251,7 @@ void CMD_WindowList(F_CMD_ARGS)
 	memset(&mops, 0, sizeof(mops));
 	memset(&mret, 0, sizeof(MenuReturn));
 	/* parse postitioning args - must call this even if no action is given
-	 * because it sets the xinerama screen origin */
+	 * because it sets the screen origin */
 	if (action && *action)
 	{
 		/* Look for condition - CreateFlagString returns NULL if no '('
diff --git a/libs/FTips.c b/libs/FTips.c
index 249b1dfd..d805af4f 100644
--- a/libs/FTips.c
+++ b/libs/FTips.c
@@ -207,7 +207,7 @@ void __map_window(Display *dpy)
 	rectangle new_g;
 	rectangle screen_g;
 	Window dummy;
-	fscreen_scr_arg *fsarg = NULL; /* for now no xinerama support */
+	fscreen_scr_arg *fsarg = NULL;
 	ftips_placement_t placement;
 	int x,y;
 	static int border_width = 1;
diff --git a/libs/defaults.h b/libs/defaults.h
index 643b1f24..8ed4c814 100644
--- a/libs/defaults.h
+++ b/libs/defaults.h
@@ -302,12 +302,6 @@
 #define MAX_GRADIENT_SEGMENTS           1000
 #define MAX_GRADIENT_COLORS            10000

-/*** Xinerama ***/
-#define DEFAULT_XINERAMA_ENABLED        True /* Xinerama on by default */
-#define XINERAMA_CONFIG_STRING             "XineramaConfig"
-/* Replace with -1 to switch off "primary screen" concept by default */
-#define DEFAULT_PRIMARY_SCREEN             0
-
 /*** Very long window names (600000 characters or more) seem to hang the X
  *** server. ***/
 #define MAX_WINDOW_NAME_LEN              200 /* characters */
diff --git a/modules/FvwmButtons/FvwmButtons.h b/modules/FvwmButtons/FvwmButtons.h
index 8fbe711b..d85f3abf 100644
--- a/modules/FvwmButtons/FvwmButtons.h
+++ b/modules/FvwmButtons/FvwmButtons.h
@@ -240,7 +240,6 @@ struct button_info_struct
 void AddButtonAction(button_info*, int, char*);
 void MakeContainer(button_info*);
 void change_swallowed_window_colorset(button_info *b, Bool do_clear);
-void handle_xinerama_string(char *args);
 int LoadIconFile(const char *s, FvwmPicture **p, int cset);
 void SetTransparentBackground(button_info *ub, int w, int h);
 void exec_swallow(char *action, button_info *b);
diff --git a/modules/FvwmForm/FvwmForm.c b/modules/FvwmForm/FvwmForm.c
index 7ce90011..f9b6a247 100644
--- a/modules/FvwmForm/FvwmForm.c
+++ b/modules/FvwmForm/FvwmForm.c
@@ -326,14 +326,6 @@ static void ParseConfigLine(char *buf)
     buf[strlen(buf)-1] = '\0';	/* strip off \n */
   }

-#if 0
-  if (strncasecmp(buf, XINERAMA_CONFIG_STRING,
-		  sizeof(XINERAMA_CONFIG_STRING)-1) == 0)
-  {
-    FScreenConfigureModule(buf + sizeof(XINERAMA_CONFIG_STRING)-1);
-    return;
-  }
-#endif
   if (strncasecmp(buf, "Colorset", 8) == 0) {
     LoadColorset(&buf[8]);
     return;
@@ -2500,15 +2492,6 @@ static void ParseActiveMessage(char *buf)
 		}
 		return;
 	} /* end colorset command */
-#if 0
-	if (strncasecmp(
-		buf, XINERAMA_CONFIG_STRING, sizeof(XINERAMA_CONFIG_STRING)-1)
-	    == 0)
-	{
-		FScreenConfigureModule(buf + sizeof(XINERAMA_CONFIG_STRING)-1);
-		return;
-	}
-#endif
 	if (strncasecmp(buf, mname, module->namelen+1) != 0)
 	{
 		/* If its not for me */
diff --git a/perllib/FVWM/Commands.pm b/perllib/FVWM/Commands.pm
index faed723e..fb78e273 100644
--- a/perllib/FVWM/Commands.pm
+++ b/perllib/FVWM/Commands.pm
@@ -624,7 +624,7 @@ $TIME = 1410306754;
 		name => 'MoveToScreen',
 		cursor => 'SELECT',
 		window => 1,
-		descr => q{Move a window to another Xinerama screen},
+		descr => q{Move a window to another screen},
 	},
 	{
 		name => 'Next',
@@ -1058,36 +1058,6 @@ $TIME = 1410306754;
 		window => 1,
 		descr => q{Set styles on the selected window},
 	},
-	{
-		name => 'Xinerama',
-		cursor => '',
-		window => 0,
-		descr => q{Control Xinerama support},
-	},
-	{
-		name => 'XineramaPrimaryScreen',
-		cursor => '',
-		window => 0,
-		descr => q{Identify Xinerama primary screen},
-	},
-	{
-		name => 'XineramaSls',
-		cursor => '',
-		window => 0,
-		descr => q{Control single logical screen support},
-	},
-	{
-		name => 'XineramaSlsScreens',
-		cursor => '',
-		window => 0,
-		descr => q{Configure layout for single logical screen},
-	},
-	{
-		name => 'XineramaSlsSize',
-		cursor => '',
-		window => 0,
-		descr => q{Configure layout for single logical screen sizes},
-	},
 	{
 		name => 'XorPixmap',
 		cursor => '',
diff --git a/perllib/FVWM/Tracker/GlobalConfig.pm b/perllib/FVWM/Tracker/GlobalConfig.pm
index 21b72511..7ce43998 100644
--- a/perllib/FVWM/Tracker/GlobalConfig.pm
+++ b/perllib/FVWM/Tracker/GlobalConfig.pm
@@ -68,7 +68,7 @@ sub calculate_internals ($$) {
 	return $name;
 }

-sub data ($;$) {
+sub data ($;$) {
 	my $self = shift;
 	my $name = shift;
 	my $data = $self->{data};
@@ -76,7 +76,7 @@ sub data ($;$) {
 	return $data->{$name};
 }

-sub dump ($;$) {
+sub dump ($;$) {
 	my $self = shift;
 	my $name = shift;
 	my $data = $self->{data};
@@ -102,7 +102,7 @@ FVWM configuration.
     "value changed"

 =head1 SYNOPSYS
-
+
 Using B<FVWM::Module> $module object:

     my $config_tracker = $module->track("GlobalConfig");
@@ -112,7 +112,6 @@ Using B<FVWM::Module> $module object:
 or:

     my $config_tracker = $module->track("GlobalConfig");
-    my $xinerama_info = $config_tracker->data('XineramaConfig');
     my $desktop2_name = $config_tracker->data('DesktopName 2');

 =head1 OVERRIDDEN METHODS
--
2.30.2

Reply via email to