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