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 <[email protected]> wrote:
> >
> > > Is Xinerama still useful for anything or can we remove it?
> > >
> > It has already been removed. Where are you seeing references to it?
>
> Everywhere. I'll remove the junk on the parser branch.
>
> $ rgrep -i xinerama . 2> /dev/null
> ./libs/defaults.h:/*** Xinerama ***/
> ./libs/defaults.h:#define DEFAULT_XINERAMA_ENABLED True /* Xinerama on
> by default */
> ./libs/defaults.h:#define XINERAMA_CONFIG_STRING "XineramaConfig"
These can go, and the corresponding callers in FvwmForm can be changed. This
looks to be the mechanism module used to use to register Xinerama interest.
> ./libs/FTips.c: fscreen_scr_arg *fsarg = NULL; /* for now no xinerama
> support */
That comment is misleading and can be changed,
> ./modules/FvwmForm/FvwmForm.c: if (strncasecmp(buf, XINERAMA_CONFIG_STRING,
> ./modules/FvwmForm/FvwmForm.c:
> sizeof(XINERAMA_CONFIG_STRING)-1) == 0)
> ./modules/FvwmForm/FvwmForm.c: FScreenConfigureModule(buf +
> sizeof(XINERAMA_CONFIG_STRING)-1);
> ./modules/FvwmForm/FvwmForm.c: buf, XINERAMA_CONFIG_STRING,
> sizeof(XINERAMA_CONFIG_STRING)-1)
> ./modules/FvwmForm/FvwmForm.c: FScreenConfigureModule(buf +
> sizeof(XINERAMA_CONFIG_STRING)-1);
See above.
> ./modules/FvwmButtons/FvwmButtons.h:void handle_xinerama_string(char *args);
That's just a function declaration without an implementation and can be
removed.
> ./.git/rr-cache/1c03ad931074cd97196af43ae2fc0134a13171cd/preimage:directly
> adjacent to the screen's or xinerama screen's border. It
> ./.git/rr-cache/d3fcccba50db8b879e64033b3c5f2ebe88fa6f57/preimage:directly
> adjacent to the screen's or xinerama screen's border. It
rerere cache from git so will ignore.
> ./doc/fvwm3_commands.ad:directly adjacent to the screen's or xinerama
> screen's border. It
> ./doc/fvwm3all.1:directly adjacent to the screen\(cqs or xinerama screen\(cqs
> border. It
> ./doc/fvwm3_styles.ad:directly adjacent to the screen's or xinerama screen's
> border. It
> ./doc/fvwm3styles.1:directly adjacent to the screen\(cqs or xinerama
> screen\(cqs border. It
> ./doc/fvwm3_manpage_source.adoc:directly adjacent to the screen's or xinerama
> screen's border. It
These can change to either mention RandR, or just "screen".
> ./fvwm/windowlist.c: * because it sets the xinerama screen origin */
> ./fvwm/add_window.c: fw->edge_resistance_xinerama_move =
> ./fvwm/add_window.c: pstyle->edge_resistance_xinerama_move;
> ./fvwm/move_resize.c: * in case Xinerama is used. */
> ./fvwm/move_resize.c: /* Resist moving windows between xineramascreens */
> ./fvwm/move_resize.c: if (fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: scr_x1 + fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: scr_y1 + fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: fw->edge_resistance_xinerama_move)
Funtionally now referencing RandR and are poorly named as xinerama isn't used.
> ./fvwm/style.c: if (add_style->flags.has_edge_resistance_xinerama_move)
> ./fvwm/style.c: SSET_EDGE_RESISTANCE_XINERAMA_MOVE(
> ./fvwm/style.c:
> SGET_EDGE_RESISTANCE_XINERAMA_MOVE(*add_style));
> ./fvwm/style.c: unsigned has_xinerama_move;
> ./fvwm/style.c: has_xinerama_move = 0;
> ./fvwm/style.c: has_xinerama_move = 1;
> ./fvwm/style.c: has_xinerama_move = 0;
> ./fvwm/style.c:
> ps->flags.has_edge_resistance_xinerama_move =
> ./fvwm/style.c: has_xinerama_move;
> ./fvwm/style.c:
> ps->flag_mask.has_edge_resistance_xinerama_move = 1;
> ./fvwm/style.c:
> ps->change_mask.has_edge_resistance_xinerama_move = 1;
> ./fvwm/style.c: SSET_EDGE_RESISTANCE_XINERAMA_MOVE(*ps,
> val[1]);
> ./fvwm/fvwm.h: char *IconScreen; /* Xinerama
> screen */
> ./fvwm/fvwm.h: unsigned has_edge_resistance_xinerama_move : 1;
> ./fvwm/fvwm.h: int edge_resistance_xinerama_move;
> ./fvwm/fvwm.h: int edge_resistance_xinerama_move;
As above. This just needs renaming.
> ./fvwm/commands.h: F_XINERAMA,
> ./fvwm/commands.h: F_XINERAMAPRIMARYSCREEN,
> ./fvwm/commands.h: F_XINERAMASLS,
> ./fvwm/commands.h: F_XINERAMASLSSCREENS,
> ./fvwm/commands.h: F_XINERAMASLSSIZE,
> ./fvwm/commands.h:void CMD_Xinerama(F_CMD_ARGS);
> ./fvwm/commands.h:void CMD_XineramaPrimaryScreen(F_CMD_ARGS);
> ./fvwm/commands.h:void CMD_XineramaSls(F_CMD_ARGS);
> ./fvwm/commands.h:void CMD_XineramaSlsScreens(F_CMD_ARGS);
> ./fvwm/commands.h:void CMD_XineramaSlsSize(F_CMD_ARGS);
These can be removed as they're just declarations without implementation.y
> ./fvwm/screen.h: unsigned has_xinerama_state_changed : 1;
Related to code in fvwm/update. -- no longer used.
> ./fvwm/module_interface.h:void broadcast_xinerama_state(void);
No longer used, but kept round to avoid changing so many callers in modules.
> ./fvwm/placement.c: * Xinerama screen. 1: The intuitive way
> giving a geometry
> ./fvwm/placement.c: * 2: Do NOT specify a Xinerama screen (or
> specify it to be
> ./fvwm/functable.c: /* - Move a window to another Xinerama screen */
Comments need updating. No functional change here.
> ./fvwm/style.h:#define SGET_EDGE_RESISTANCE_XINERAMA_MOVE(s) \
> ./fvwm/style.h: ((s).edge_resistance_xinerama_move)
> ./fvwm/style.h:#define SSET_EDGE_RESISTANCE_XINERAMA_MOVE(s,x) \
> ./fvwm/style.h: ((s).edge_resistance_xinerama_move = (x))
As mentioned above, these still behave the same way with RandR but are
misnamed now that Ximerama isn't being used.
> ./fvwm/menuparameters.h: /* A position on the Xinerama screen on which
> the menu should be
> ./fvwm/menuparameters.h: /* A position on the Xinerama screen on which
> the menu should be
Misleading comment.
> ./fvwm/menus.c: Bool fHasContext, fUseItemOffset, fRectangleContext,
> fXineramaRoot;
> ./fvwm/menus.c: fXineramaRoot = False;
> ./fvwm/menus.c: else if (StrEquals(tok,"xineramaroot"))
> ./fvwm/menus.c: fXineramaRoot = True;
> ./fvwm/menus.c: /* xinerama: emergency
> fallback */
> ./fvwm/menus.c: /* xinerama: emergency
> fallback */
> ./fvwm/menus.c: /* xinerama: use global screen
> as reference */
> ./fvwm/menus.c: /* xinerama: use screen with
> pinter as
> ./fvwm/menus.c: if (fXineramaRoot)
> ./fvwm/menus.c: /* xinerama: use screen
> that contains
> ./fvwm/menus.c: /* xinerama: use screen
> that contains
As with SSET_EDGE_RESISTANCE_XINERAMA_MOVE, this can be renamed if necessary.
> ./fvwm/update.c: if (Scr.flags.has_xinerama_state_changed)
> ./fvwm/update.c: Scr.flags.has_xinerama_state_changed = 0;
These can go.
> ./perllib/FVWM/Tracker/GlobalConfig.pm: my $xinerama_info =
> $config_tracker->data('XineramaConfig');
> ./perllib/FVWM/Commands.pm: descr => q{Move a window to another
> Xinerama screen},
> ./perllib/FVWM/Commands.pm: name => 'Xinerama',
> ./perllib/FVWM/Commands.pm: descr => q{Control Xinerama support},
> ./perllib/FVWM/Commands.pm: name => 'XineramaPrimaryScreen',
> ./perllib/FVWM/Commands.pm: descr => q{Identify Xinerama primary
> screen},
> ./perllib/FVWM/Commands.pm: name => 'XineramaSls',
> ./perllib/FVWM/Commands.pm: name => 'XineramaSlsScreens',
> ./perllib/FVWM/Commands.pm: name => 'XineramaSlsSize',
Can be removed.
> ./bin/fvwm-config.in:with_xinerama=@with_xinerama@
> ./bin/fvwm-config.in: test "$with_xinerama" = "yes" && echo
> "xinerama"
> ./bin/fvwm-config.in: echo " xinerama (multi-head):
> $with_xinerama"
> ./bin/fvwm-config:with_xinerama=@with_xinerama@
> ./bin/fvwm-config: test "$with_xinerama" = "yes" && echo
> "xinerama"
> ./bin/fvwm-config: echo " xinerama (multi-head):
> $with_xinerama"
Can be renamed to RandR, although I can't say fvwm-config is useful any more.
I don't really see much functional change in this list.
-- Thomas