From 467e8e6f40445005cc1da4fb3a7ec1ad0ed45479 Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <kevin@koconnor.net>
Date: Tue, 9 Jun 2020 12:18:16 -0400
Subject: [PATCH] display: Default DISPLAY=display in SET_DISPLAY_GROUP command

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
---
 docs/G-Codes.md                  | 11 ++++++-----
 klippy/extras/display/display.py | 10 +++++++---
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/docs/G-Codes.md b/docs/G-Codes.md
index 48ece06dd..3b939ec95 100644
--- a/docs/G-Codes.md
+++ b/docs/G-Codes.md
@@ -202,11 +202,12 @@ The following standard commands are supported:
   adjustment will only be made every BAND millimeters of z height - in
   that case the formula used is `value = start + factor *
   ((floor(z_height / band) + .5) * band)`.
-- `SET_DISPLAY_GROUP DISPLAY=<display> GROUP=<group>`: Set the active
-  display group of the display. This allows to define multiple display
-  data groups in the config, e.g.`[display_data <group> <elementname>]`
-  and switch between them using this extended gcode command. use
-  `DISPLAY=display` to change the display group of the default display.
+- `SET_DISPLAY_GROUP [DISPLAY=<display>] GROUP=<group>`: Set the
+  active display group of an lcd display. This allows to define
+  multiple display data groups in the config,
+  e.g. `[display_data <group> <elementname>]` and switch between them
+  using this extended gcode command. If DISPLAY is not specified it
+  defaults to "display" (the primary display).
 - `SET_IDLE_TIMEOUT [TIMEOUT=<timeout>]`:  Allows the user to set the
   idle timeout (in seconds).
 - `RESTART`: This will cause the host software to reload its config
diff --git a/klippy/extras/display/display.py b/klippy/extras/display/display.py
index a7a2621f6..7115877eb 100644
--- a/klippy/extras/display/display.py
+++ b/klippy/extras/display/display.py
@@ -103,10 +103,14 @@ class PrinterLCD:
         self.printer.register_event_handler("klippy:ready", self.handle_ready)
         self.screen_update_timer = self.reactor.register_timer(
             self.screen_update_event)
+        # Register g-code commands
         gcode = self.printer.lookup_object("gcode")
-        gcode.register_mux_command(
-            'SET_DISPLAY_GROUP', 'DISPLAY', name, self.cmd_SET_DISPLAY_GROUP,
-            desc=self.cmd_SET_DISPLAY_GROUP_help)
+        gcode.register_mux_command('SET_DISPLAY_GROUP', 'DISPLAY', name,
+                                   self.cmd_SET_DISPLAY_GROUP,
+                                   desc=self.cmd_SET_DISPLAY_GROUP_help)
+        if name == 'display':
+            gcode.register_mux_command('SET_DISPLAY_GROUP', 'DISPLAY', None,
+                                       self.cmd_SET_DISPLAY_GROUP)
     # Configurable display
     def _parse_glyph(self, config, glyph_name, data, width, height):
         glyph_data = []