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.
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.

View File

@ -40,7 +40,7 @@ class KlipperScreenConfig:
def __init__(self, configfile, screen=None):
self.lang_list = None
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_path = self.get_config_file_location(configfile)
logging.debug(f"Config path location: {self.config_path}")
@ -50,6 +50,9 @@ class KlipperScreenConfig:
try:
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
self.validate_config(self.config)
if self.config_path != self.default_config_path:
@ -367,7 +370,7 @@ class KlipperScreenConfig:
def exclude_from_config(self, config):
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.")
exclude_list.extend(('menu __main', 'menu __print', 'menu __splashscreen'))
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 }}