Index: src/settings.cpp =================================================================== --- src/settings.cpp (revision 11121) +++ src/settings.cpp (working copy) @@ -1358,6 +1358,7 @@ SDT_BOOL(Patches, timetable_in_ticks, S, 0, false, STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS, NULL), SDT_VAR(Patches, loading_indicators, SLE_UINT8, S,MS, 1, 0, 2, 0, STR_CONFIG_PATCHES_LOADING_INDICATORS, RedrawScreen), SDT_VAR(Patches, default_rail_type, SLE_UINT8, S,MS, 4, 0, 6, 0, STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE, NULL), + SDT_BOOL(Patches, sticky_rail_toolbars, S, 0, false, STR_CONFIG_PATCHES_STICKY_RAIL_TOOLBARS, NULL), /***************************************************************************/ /* Construction section of the GUI-configure patches window */ Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revision 11121) +++ src/lang/english.txt (working copy) @@ -1122,6 +1122,7 @@ STR_CONFIG_PATCHES_TIMETABLE_ALLOW :{LTBLUE}Enable timetabling for vehicles: {ORANGE}{STRING1} STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS :{LTBLUE}Show timetable in ticks rather than days: {ORANGE}{STRING1} STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}Default rail type (after new game/game load): {ORANGE}{STRING1} +STR_CONFIG_PATCHES_STICKY_RAIL_TOOLBARS :{LTBLUE}Make construction and landscaping window sticky by default: {ORANGE}{STRING1} STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL :Normal Rail STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :Electrified Rail STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MONORAIL :Monorail Index: src/settings_gui.cpp =================================================================== --- src/settings_gui.cpp (revision 11121) +++ src/settings_gui.cpp (working copy) @@ -660,6 +660,7 @@ "timetable_in_ticks", "default_rail_type", "always_build_infrastructure", + "sticky_rail_toolbars", }; static const char *_patches_construction[] = { Index: src/window.cpp =================================================================== --- src/window.cpp (revision 11121) +++ src/window.cpp (working copy) @@ -900,6 +900,11 @@ allocate_window: w = LocalAllocateWindow(pt.x, pt.y, desc->minimum_width, desc->minimum_height, desc->default_width, desc->default_height, desc->proc, desc->cls, desc->widgets, window_number, data); w->desc_flags = desc->flags; + + if (_patches.sticky_rail_toolbars && + desc->cls == WC_BUILD_TOOLBAR || desc->cls == WC_SCEN_LAND_GEN) + w->flags4 ^= WF_STICKY; + return w; } Index: src/variables.h =================================================================== --- src/variables.h (revision 11121) +++ src/variables.h (working copy) @@ -242,6 +242,8 @@ bool timetable_in_ticks; ///< Whether to show the timetable in ticks rather than days. bool autoslope; ///< Allow terraforming under things. + + bool sticky_rail_toolbars; ///< Make build and terraform windows sticky by default }; VARDEF Patches _patches;