config: reorganization

This commit is contained in:
alfrix
2024-05-05 17:09:14 -03:00
parent ac6acd1ccf
commit 0287e68afb
8 changed files with 345 additions and 318 deletions

27
config/defaults.conf Normal file
View File

@@ -0,0 +1,27 @@
#
# DO NOT EDIT THIS FILE USE KlipperScreen.conf
#
[main]
[preheat PLA]
bed = 40
extruder = 195
[preheat ABS]
bed = 90
extruder = 220
[preheat PETG]
bed = 80
extruder = 240
[preheat FLEX]
bed = 0
extruder = 210
[include config/main_menu.conf]
[include config/splash_menu.conf]
[include config/print_menu.conf]
[include config/move_menu.conf]

150
config/main_menu.conf Normal file
View File

@@ -0,0 +1,150 @@
#
# DO NOT EDIT THIS FILE USE KlipperScreen.conf
#
[menu __main]
name: {{ gettext('Main Menu') }}
[menu __main move]
name: {{ gettext('Move') }}
icon: move
panel: move
[menu __main temperature]
name: {{ gettext('Temperature') }}
icon: heat-up
panel: temperature
enable: {{ (printer.temperature_devices.count > 0) or (printer.extruders.count > 0)}}
[menu __main extrude]
name: {{ gettext('Extrude') }}
icon: extrude
panel: extrude
enable: {{ printer.extruders.count > 0 }}
[menu __main more]
name: {{ gettext('More') }}
icon: settings
[menu __main print]
name: {{ gettext('Print') }}
icon: printer
panel: print
[menu __main more bedlevel]
name: {{ gettext('Bed Level') }}
icon: bed-level
panel: bed_level
enable: {{ 'bed_screws' in printer.config_sections or 'screws_tilt_adjust' in printer.config_sections }}
[menu __main more bedmesh]
name: {{ gettext('Bed Mesh') }}
icon: bed-mesh
panel: bed_mesh
enable: {{ 'bed_mesh' in printer.config_sections }}
[menu __main more zoffset]
name: {{ gettext('Z Calibrate') }}
icon: z-farther
panel: zcalibrate
[menu __main more limits]
name: {{ gettext('Limits') }}
icon: fine-tune
panel: limits
[menu __main more retraction]
name: {{ gettext('Retraction') }}
icon: retract
panel: retraction
enable: {{ 'firmware_retraction' in printer.config_sections }}
[menu __main more fan]
name: {{ gettext('Fan') }}
icon: fan
panel: fan
enable: {{ printer.fans.count > 0 }}
[menu __main more led]
name: {{ gettext('Leds') }}
icon: light
panel: led
enable: {{ printer.leds.count > 0 }}
[menu __main more macros]
name: {{ gettext('Macros') }}
icon: custom-script
panel: gcode_macros
enable: {{ printer.gcode_macros.count > 0 }}
[menu __main more pins]
name: {{ gettext('Pins') }}
icon: hashtag
panel: pins
enable: {{ printer.output_pins.count > 0 }}
[menu __main more power]
name: {{ gettext('Power') }}
icon: shutdown
panel: power
enable: {{ moonraker.power_devices.count > 0 }}
[menu __main more camera]
name: {{ gettext('Camera') }}
icon: camera
panel: camera
enable: {{ moonraker.cameras.count > 0 }}
[menu __main more console]
name: {{ gettext('Console') }}
icon: console
panel: console
[menu __main more updater]
name: {{ gettext('Update') }}
icon: refresh
panel: updater
[menu __main more input_shaper]
name: {{ gettext('Input Shaper') }}
icon: move
panel: input_shaper
enable: {{ 'input_shaper' in printer.config_sections }}
[menu __main more save]
name: {{ gettext('Save Config') }}
icon: complete
method: printer.gcode.script
params: {"script":"SAVE_CONFIG"}
confirm:
{{ gettext('Save configuration?') }}
{{ gettext('Klipper will reboot') }}
[menu __main more settings]
name: KlipperScreen
icon: settings
panel: settings
[menu __main more network]
name: {{ gettext('Network') }}
icon: network
panel: network
[menu __main more notifications]
name: {{ gettext('Notifications') }}
icon: notifications
panel: notifications
[menu __print notifications]
name: {{ gettext('Notifications') }}
icon: notifications
panel: notifications
[menu __main more spoolman]
name: Spoolman
icon: spoolman
panel: spoolman
enable: {{ moonraker.spoolman }}

47
config/move_menu.conf Normal file
View File

@@ -0,0 +1,47 @@
#
# DO NOT EDIT THIS FILE USE KlipperScreen.conf
#
[menu move homing homex]
name: {{ gettext('Home X') }}
icon: home-x
method: printer.gcode.script
params: {"script":"G28 X"}
[menu move homing homey]
name: {{ gettext('Home Y') }}
icon: home-y
method: printer.gcode.script
params: {"script":"G28 Y"}
[menu move homing homez]
name: {{ gettext('Home Z') }}
icon: home-z
method: printer.gcode.script
params: {"script":"G28 Z"}
[menu move homing homeall]
name: {{ gettext('Home All') }}
icon: home
method: printer.gcode.script
params: {"script":"G28"}
[menu move homing homexy]
name: {{ gettext('Home XY') }}
icon: home
method: printer.gcode.script
params: {"script":"G28 X Y"}
[menu move homing quad_gantry_level]
name: {{ gettext('Quad Gantry Level') }}
icon: home-z
method: printer.gcode.script
params: {"script":"QUAD_GANTRY_LEVEL"}
enable: {{ 'quad_gantry_level' in printer.config_sections }}
[menu move homing Z-Tilt]
name: {{ gettext('Z Tilt') }}
icon: z-tilt
method: printer.gcode.script
params: {"script":"Z_TILT_ADJUST"}
enable: {{ 'z_tilt' in printer.config_sections }}

87
config/print_menu.conf Normal file
View File

@@ -0,0 +1,87 @@
#
# DO NOT EDIT THIS FILE USE KlipperScreen.conf
#
[menu __print]
name: {{ gettext('Print Control') }}
[menu __print temperature]
name: {{ gettext('Temperature') }}
icon: heat-up
panel: temperature
enable: {{ (printer.temperature_devices.count > 0) or (printer.extruders.count > 0)}}
[menu __print fan]
name: {{ gettext('Fan') }}
icon: fan
panel: fan
enable: {{ printer.fans.count > 0 }}
[menu __print move]
name: {{ gettext('Move') }}
icon: move
panel: move
enable: {{ printer.pause_resume.is_paused }}
[menu __print extrude]
name: {{ gettext('Extrude') }}
icon: extrude
panel: extrude
enable: {{ printer.extruders.count > 0 }}
[menu __print power]
name: {{ gettext('Power') }}
icon: shutdown
panel: power
enable: {{ moonraker.power_devices.count > 0 }}
[menu __print led]
name: {{ gettext('Leds') }}
icon: light
panel: led
enable: {{ printer.leds.count > 0 }}
[menu __print macros]
name: {{ gettext('Macros') }}
icon: custom-script
panel: gcode_macros
enable: {{ printer.gcode_macros.count > 0 }}
[menu __print camera]
name: {{ gettext('Camera') }}
icon: camera
panel: camera
enable: {{ moonraker.cameras.count > 0 }}
[menu __print console]
name: {{ gettext('Console') }}
icon: console
panel: console
[menu __print limits]
name: {{ gettext('Limits') }}
icon: fine-tune
panel: limits
[menu __print network]
name: {{ gettext('Network') }}
icon: network
panel: network
[menu __print retraction]
name: {{ gettext('Retraction') }}
icon: retract
panel: retraction
enable: {{ 'firmware_retraction' in printer.config_sections }}
[menu __print settings]
name: KlipperScreen
icon: settings
panel: settings
[menu __print spoolman]
name: Spoolman
icon: spoolman
panel: spoolman
enable: {{ moonraker.spoolman }}

28
config/splash_menu.conf Normal file
View File

@@ -0,0 +1,28 @@
#
# DO NOT EDIT THIS FILE USE KlipperScreen.conf
#
[menu __splashscreen]
name: {{ gettext('Menu') }}
[menu __splashscreen power]
name: {{ gettext('Power') }}
icon: shutdown
panel: power
enable: {{ moonraker.power_devices.count > 0 }}
[menu __splashscreen network]
name: {{ gettext('Network') }}
icon: network
panel: network
[menu __splashscreen updater]
name: {{ gettext('Update') }}
icon: refresh
panel: updater
enable: {{ moonraker_connected }}
[menu __splashscreen settings]
name: KlipperScreen
icon: settings
panel: settings

View File

@@ -241,7 +241,7 @@ Default Preheat options will be discarded if a custom preheat is found.
If include files are defined then, they will be merged first. If include files are defined then, they will be merged first.
The default config is included here: (do not edit use as reference) The default config is included here: (do not edit use as reference)
_${KlipperScreen_Directory}/ks_includes/default.conf_ _${KlipperScreen_Directory}/config/defaults.conf_
*Do not* copy the entire default.conf file, just configure the settings needed. *Do not* copy the entire default.conf file, just configure the settings needed.

View File

@@ -40,7 +40,7 @@ class KlipperScreenConfig:
def __init__(self, configfile, screen=None): def __init__(self, configfile, screen=None):
self.lang_list = None self.lang_list = None
self.errors = [] self.errors = []
self.default_config_path = os.path.join(klipperscreendir, "ks_includes", "defaults.conf") self.default_config_path = os.path.join(klipperscreendir, "config", "defaults.conf")
self.config = configparser.ConfigParser() self.config = configparser.ConfigParser()
self.config_path = self.get_config_file_location(configfile) self.config_path = self.get_config_file_location(configfile)
logging.debug(f"Config path location: {self.config_path}") logging.debug(f"Config path location: {self.config_path}")
@@ -50,6 +50,9 @@ class KlipperScreenConfig:
try: try:
self.config.read(self.default_config_path) self.config.read(self.default_config_path)
includes = [i[8:] for i in self.config.sections() if i.startswith("include ")]
for include in includes:
self._include_config("/".join(self.config_path.split("/")[:-1]), include)
# In case a user altered defaults.conf # In case a user altered defaults.conf
self.validate_config(self.config) self.validate_config(self.config)
if self.config_path != self.default_config_path: if self.config_path != self.default_config_path:
@@ -367,7 +370,7 @@ class KlipperScreenConfig:
def exclude_from_config(self, config): def exclude_from_config(self, config):
exclude_list = ['preheat'] exclude_list = ['preheat']
if not self.defined_config.getboolean('main', "use_default_menu", fallback=True): if self.defined_config and not self.defined_config.getboolean('main', "use_default_menu", fallback=True):
logging.info("Using custom menu, removing default menu entries.") logging.info("Using custom menu, removing default menu entries.")
exclude_list.extend(('menu __main', 'menu __print', 'menu __splashscreen')) exclude_list.extend(('menu __main', 'menu __print', 'menu __splashscreen'))
for i in exclude_list: for i in exclude_list:

View File

@@ -1,315 +0,0 @@
[main]
[preheat PLA]
bed = 40
extruder = 195
[preheat ABS]
bed = 90
extruder = 220
[preheat PETG]
bed = 80
extruder = 240
[preheat FLEX]
bed = 0
extruder = 210
[menu __main]
name: {{ gettext('Main Menu') }}
[menu __main move]
name: {{ gettext('Move') }}
icon: move
panel: move
[menu move homing homeall]
name: {{ gettext('Home All') }}
icon: home
method: printer.gcode.script
params: {"script":"G28"}
[menu move homing homex]
name: {{ gettext('Home X') }}
icon: home-x
method: printer.gcode.script
params: {"script":"G28 X"}
[menu move homing homey]
name: {{ gettext('Home Y') }}
icon: home-y
method: printer.gcode.script
params: {"script":"G28 Y"}
[menu move homing homez]
name: {{ gettext('Home Z') }}
icon: home-z
method: printer.gcode.script
params: {"script":"G28 Z"}
[menu move homing homexy]
name: {{ gettext('Home XY') }}
icon: home
method: printer.gcode.script
params: {"script":"G28 X Y"}
[menu move homing quad_gantry_level]
name: {{ gettext('Quad Gantry Level') }}
icon: home-z
method: printer.gcode.script
params: {"script":"QUAD_GANTRY_LEVEL"}
enable: {{ 'quad_gantry_level' in printer.config_sections }}
[menu move homing Z-Tilt]
name: {{ gettext('Z Tilt') }}
icon: z-tilt
method: printer.gcode.script
params: {"script":"Z_TILT_ADJUST"}
enable: {{ 'z_tilt' in printer.config_sections }}
[menu __main temperature]
name: {{ gettext('Temperature') }}
icon: heat-up
panel: temperature
enable: {{ (printer.temperature_devices.count > 0) or (printer.extruders.count > 0)}}
[menu __main extrude]
name: {{ gettext('Extrude') }}
icon: extrude
panel: extrude
enable: {{ printer.extruders.count > 0 }}
[menu __main more]
name: {{ gettext('More') }}
icon: settings
[menu __main print]
name: {{ gettext('Print') }}
icon: printer
panel: print
[menu __main more bedlevel]
name: {{ gettext('Bed Level') }}
icon: bed-level
panel: bed_level
enable: {{ 'bed_screws' in printer.config_sections or 'screws_tilt_adjust' in printer.config_sections }}
[menu __main more bedmesh]
name: {{ gettext('Bed Mesh') }}
icon: bed-mesh
panel: bed_mesh
enable: {{ 'bed_mesh' in printer.config_sections }}
[menu __main more zoffset]
name: {{ gettext('Z Calibrate') }}
icon: z-farther
panel: zcalibrate
[menu __main more limits]
name: {{ gettext('Limits') }}
icon: fine-tune
panel: limits
[menu __main more retraction]
name: {{ gettext('Retraction') }}
icon: retract
panel: retraction
enable: {{ 'firmware_retraction' in printer.config_sections }}
[menu __main more fan]
name: {{ gettext('Fan') }}
icon: fan
panel: fan
enable: {{ printer.fans.count > 0 }}
[menu __main more led]
name: {{ gettext('Leds') }}
icon: light
panel: led
enable: {{ printer.leds.count > 0 }}
[menu __main more macros]
name: {{ gettext('Macros') }}
icon: custom-script
panel: gcode_macros
enable: {{ printer.gcode_macros.count > 0 }}
[menu __main more pins]
name: {{ gettext('Pins') }}
icon: hashtag
panel: pins
enable: {{ printer.output_pins.count > 0 }}
[menu __main more power]
name: {{ gettext('Power') }}
icon: shutdown
panel: power
enable: {{ moonraker.power_devices.count > 0 }}
[menu __main more camera]
name: {{ gettext('Camera') }}
icon: camera
panel: camera
enable: {{ moonraker.cameras.count > 0 }}
[menu __main more console]
name: {{ gettext('Console') }}
icon: console
panel: console
[menu __main more updater]
name: {{ gettext('Update') }}
icon: refresh
panel: updater
[menu __main more input_shaper]
name: {{ gettext('Input Shaper') }}
icon: move
panel: input_shaper
enable: {{ 'input_shaper' in printer.config_sections }}
[menu __main more save]
name: {{ gettext('Save Config') }}
icon: complete
method: printer.gcode.script
params: {"script":"SAVE_CONFIG"}
confirm:
{{ gettext('Save configuration?') }}
{{ gettext('Klipper will reboot') }}
[menu __main more settings]
name: KlipperScreen
icon: settings
panel: settings
[menu __main more network]
name: {{ gettext('Network') }}
icon: network
panel: network
[menu __main more notifications]
name: {{ gettext('Notifications') }}
icon: notifications
panel: notifications
[menu __print notifications]
name: {{ gettext('Notifications') }}
icon: notifications
panel: notifications
[menu __print]
name: {{ gettext('Print Control') }}
[menu __print temperature]
name: {{ gettext('Temperature') }}
icon: heat-up
panel: temperature
enable: {{ (printer.temperature_devices.count > 0) or (printer.extruders.count > 0)}}
[menu __print fan]
name: {{ gettext('Fan') }}
icon: fan
panel: fan
enable: {{ printer.fans.count > 0 }}
[menu __print move]
name: {{ gettext('Move') }}
icon: move
panel: move
enable: {{ printer.pause_resume.is_paused }}
[menu __print extrude]
name: {{ gettext('Extrude') }}
icon: extrude
panel: extrude
enable: {{ printer.extruders.count > 0 }}
[menu __print power]
name: {{ gettext('Power') }}
icon: shutdown
panel: power
enable: {{ moonraker.power_devices.count > 0 }}
[menu __print led]
name: {{ gettext('Leds') }}
icon: light
panel: led
enable: {{ printer.leds.count > 0 }}
[menu __print macros]
name: {{ gettext('Macros') }}
icon: custom-script
panel: gcode_macros
enable: {{ printer.gcode_macros.count > 0 }}
[menu __print camera]
name: {{ gettext('Camera') }}
icon: camera
panel: camera
enable: {{ moonraker.cameras.count > 0 }}
[menu __print console]
name: {{ gettext('Console') }}
icon: console
panel: console
[menu __print limits]
name: {{ gettext('Limits') }}
icon: fine-tune
panel: limits
[menu __print network]
name: {{ gettext('Network') }}
icon: network
panel: network
[menu __print retraction]
name: {{ gettext('Retraction') }}
icon: retract
panel: retraction
enable: {{ 'firmware_retraction' in printer.config_sections }}
[menu __print settings]
name: KlipperScreen
icon: settings
panel: settings
[menu __splashscreen]
name: {{ gettext('Menu') }}
[menu __splashscreen power]
name: {{ gettext('Power') }}
icon: shutdown
panel: power
enable: {{ moonraker.power_devices.count > 0 }}
[menu __splashscreen network]
name: {{ gettext('Network') }}
icon: network
panel: network
[menu __splashscreen updater]
name: {{ gettext('Update') }}
icon: refresh
panel: updater
enable: {{ moonraker_connected }}
[menu __splashscreen settings]
name: KlipperScreen
icon: settings
panel: settings
[menu __main more spoolman]
name: Spoolman
icon: spoolman
panel: spoolman
enable: {{ moonraker.spoolman }}
[menu __print spoolman]
name: Spoolman
icon: spoolman
panel: spoolman
enable: {{ moonraker.spoolman }}