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?
> 
> 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

Reply via email to