Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revision 21523) +++ src/lang/english.txt (working copy) @@ -1190,6 +1190,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :Dark green STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violet STR_CONFIG_SETTING_REVERSE_SCROLLING :{LTBLUE}Reverse scroll direction: {ORANGE}{STRING1} +STR_CONFIG_SETTING_LOCK_CURSOR_WHILE_SCROLLING :{LTBLUE}Lock the cursor while scrolling: {ORANGE}{STRING1} STR_CONFIG_SETTING_SMOOTH_SCROLLING :{LTBLUE}Smooth viewport scrolling: {ORANGE}{STRING1} STR_CONFIG_SETTING_MEASURE_TOOLTIP :{LTBLUE}Show a measurement tooltip when using various build-tools: {ORANGE}{STRING1} STR_CONFIG_SETTING_LIVERIES :{LTBLUE}Show company liveries: {ORANGE}{STRING1} Index: src/settings_gui.cpp =================================================================== --- src/settings_gui.cpp (revision 21523) +++ src/settings_gui.cpp (working copy) @@ -1285,6 +1285,7 @@ SettingEntry("gui.prefer_teamchat"), SettingEntry("gui.autoscroll"), SettingEntry("gui.reverse_scroll"), + SettingEntry("gui.lock_cursor_scroll"), SettingEntry("gui.smooth_scroll"), SettingEntry("gui.left_mouse_btn_scrolling"), /* While the horizontal scrollwheel scrolling is written as general code, only Index: src/table/settings.h =================================================================== --- src/table/settings.h (revision 21523) +++ src/table/settings.h (working copy) @@ -564,6 +564,7 @@ SDTC_BOOL(gui.show_finances, S, 0, true, STR_CONFIG_SETTING_SHOWFINANCES, NULL), SDTC_BOOL(gui.autoscroll, S, 0, false, STR_CONFIG_SETTING_AUTOSCROLL, NULL), SDTC_BOOL(gui.reverse_scroll, S, 0, false, STR_CONFIG_SETTING_REVERSE_SCROLLING, NULL), + SDTC_BOOL(gui.lock_cursor_scroll, S, 0, true, STR_CONFIG_SETTING_LOCK_CURSOR_WHILE_SCROLLING, NULL), SDTC_BOOL(gui.smooth_scroll, S, 0, false, STR_CONFIG_SETTING_SMOOTH_SCROLLING, NULL), SDTC_BOOL(gui.left_mouse_btn_scrolling, S, 0, false, STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING, NULL), SDTC_BOOL(gui.measure_tooltip, S, 0, true, STR_CONFIG_SETTING_MEASURE_TOOLTIP, NULL), Index: src/settings_type.h =================================================================== --- src/settings_type.h (revision 21523) +++ src/settings_type.h (working copy) @@ -57,6 +57,7 @@ bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars uint8 smallmap_land_colour; ///< colour used for land and heightmap at the smallmap bool reverse_scroll; ///< right-Click-Scrolling scrolls in the opposite direction + bool lock_cursor_scroll; ///< Lock the cursor position while scrolling bool smooth_scroll; ///< smooth scroll viewports bool measure_tooltip; ///< show a permanent tooltip when dragging tools byte liveries; ///< options for displaying company liveries, 0=none, 1=self, 2=all Index: src/window.cpp =================================================================== --- src/window.cpp (revision 21523) +++ src/window.cpp (working copy) @@ -2224,7 +2224,7 @@ case MC_RIGHT: if (!(w->flags4 & WF_DISABLE_VP_SCROLL)) { _scrolling_viewport = true; - _cursor.fix_at = true; + _cursor.fix_at = _settings_client.gui.lock_cursor_scroll; /* clear 2D scrolling caches before we start a 2D scroll */ _cursor.h_wheel = 0;