diff --git a/panels/gcode_macros.py b/panels/gcode_macros.py
index 52465751..e7725d48 100644
--- a/panels/gcode_macros.py
+++ b/panels/gcode_macros.py
@@ -52,7 +52,15 @@ class Panel(ScreenPanel):
# Support for hiding macros by name
if macro.startswith("_"):
return
-
+ section = self._printer.get_macro(macro)
+ if section:
+ if "rename_existing" in section:
+ return
+ if "gcode" in section:
+ gcode = section["gcode"].split("\n")
+ else:
+ logging.debug(f"Couldn't load {macro}\n{section}")
+ return
name = Gtk.Label()
name.set_markup(f"{macro}")
name.set_hexpand(True)
@@ -80,12 +88,6 @@ class Panel(ScreenPanel):
"params": {},
}
pattern = r'params\.(?P..*)\|default\((?P..*)\).*'
- gcode = self._printer.get_macro(macro)
- if gcode and "gcode" in gcode:
- gcode = gcode["gcode"].split("\n")
- else:
- logging.debug(f"Couldn't load {macro}\n{gcode}")
- return
i = 0
for line in gcode:
if line.startswith("{") and "params." in line: