Repository: bokeh/bokeh

Issue:
Resize Tool Should Not Be In Defaults
There are too many cases in which the resize tool causes issues with the plot, toolbar, and widgets. Because of this, it would be best to remove it from the default toolbar in order to prevent the average user from encountering bugs. If they really want the resize tool, they can add it back it.

Also, there has been talk of removing the resize tool completely.



Discussion:
Yes, I thought there was an issue somewhere we agreed, at least, to remove it on defaults.

There's a discussion here about removing it entirely: https://github.com/bokeh/bokeh/issues/4196 But there was no decision I see about that. In the mean time we should definitely remove it from default tools. 


Resolving patch:
diff --git a/bokeh/charts/builders/horizon_builder.py b/bokeh/charts/builders/horizon_builder.py
--- a/bokeh/charts/builders/horizon_builder.py
+++ b/bokeh/charts/builders/horizon_builder.py
@@ -90,7 +90,7 @@ def Horizon(data=None, x=None, y=None, series=None, **kws):
 
     tools = kws.get('tools', True)
     if tools == True:
-        tools = "save,resize,reset"
+        tools = "save,reset"
     elif isinstance(tools, string_types):
         tools = tools.replace('pan', '')
         tools = tools.replace('wheel_zoom', '')
diff --git a/bokeh/plotting/figure.py b/bokeh/plotting/figure.py
--- a/bokeh/plotting/figure.py
+++ b/bokeh/plotting/figure.py
@@ -8,7 +8,7 @@
 from ..models import glyphs, markers
 from .helpers import _get_range, _process_axis_and_grid, _process_tools_arg, _glyph_function
 
-DEFAULT_TOOLS = "pan,wheel_zoom,box_zoom,save,resize,reset,help"
+DEFAULT_TOOLS = "pan,wheel_zoom,box_zoom,save,reset,help"
 
 class Figure(Plot):
     ''' A subclass of :class:`~bokeh.models.plots.Plot` that simplifies plot


Test patch:
diff --git a/bokeh/charts/tests/test_chart.py b/bokeh/charts/tests/test_chart.py
--- a/bokeh/charts/tests/test_chart.py
+++ b/bokeh/charts/tests/test_chart.py
@@ -116,12 +116,12 @@ def test_chart_tools_linear(self, mock_warn):
             width=800, height=600,
         )
         expected = [
-            [PanTool,  WheelZoomTool, BoxZoomTool, SaveTool, ResizeTool, ResetTool, HelpTool],
+            [PanTool,  WheelZoomTool, BoxZoomTool, SaveTool, ResetTool, HelpTool],
             [],
-            [ResizeTool, PanTool,  BoxZoomTool, ResetTool, LassoSelectTool],
+            [PanTool,  BoxZoomTool, ResetTool, LassoSelectTool],
         ]
         scenarios = zip(
-            [True, False, "resize,pan,box_zoom,reset,lasso_select"], expected
+            [True, False, "pan,box_zoom,reset,lasso_select"], expected
         )
 
         self.check_tools_scenario(base_args, scenarios)
@@ -129,11 +129,11 @@ def test_chart_tools_linear(self, mock_warn):
         self.check_tools_scenario(base_args, scenarios, categorical=True)
 
         msg_repeat = "LassoSelectTool are being repeated"
-        expected_tools = [ResizeTool, PanTool, BoxZoomTool, ResetTool, LassoSelectTool, LassoSelectTool]
+        expected_tools = [PanTool, BoxZoomTool, ResetTool, LassoSelectTool, LassoSelectTool]
         mock_warn.reset_mock()
 
         # Finally check removing tools
-        base_args['tools'] = "resize,pan,box_zoom,reset,lasso_select,lasso_select"
+        base_args['tools'] = "pan,box_zoom,reset,lasso_select,lasso_select"
 
         chart = Chart(**base_args)
         chart.x_range = FactorRange()