Skip to main content

KlipperScreen Extended Functions

Method to Enable Mouse Cursor in KlipperScreen​

  • Open the KlipperScreen.conf file in the printer configuration. This file is usually automatically generated after installing KlipperScreen. If it does not exist, create it manually.
Loading...
  • Add the following code to the top of the configuration.
[main]
show_cursor: True
Loading...
  • Save and restart.

Remotely Connecting to Other Host Computers​

  • Open KlipperScreen.conf in the printer configuration.
Loading...
  • Add the code below to the top of the configuration.
  • You can modify <printer_name> for the printer name and <moonraker_host> for the target machine IP address.
  • The first [printer <printer_name>] is used to connect to the remotely extended machine, through which you can debug or shut down via this configuration.
  • The second [printer KlipperScreen] points to the local machine (127.0.0.1), and can be kept as default.
Notice

Please ensure that both devices are on the same local network.

[printer <printer_name>]
moonraker_host: <moonraker_host>
moonraker_port: 7125
moonraker_api_key: False

[printer KlipperScreen]
moonraker_host: 127.0.0.1
moonraker_port: 7125
moonraker_api_key: False

Language Settings​

KlipperScreen supports 32 interface languages, which can be switched directly on the screen; system_lang in the list means following the system language.

Switching on the Screen​

Go to Settings → Language and select; the interface refreshes immediately after switching, no restart required. The image below uses the English interface as an example:

Loading...

The language list is arranged by code; select zh_CN for Simplified Chinese and zh_TW for Traditional Chinese:

Loading...
The auto-generated section overrides manual configuration

After switching language, theme, and other options on the screen, KlipperScreen writes the current values to the auto-generated section at the bottom of KlipperScreen.conf, after #~# --- Do not edit below this line ---. This section is read after the configuration file and has higher priority.

If the interface does not change after manually modifying language, check whether there is #~# language: ... at the bottom of the file: if so, change it to the target language, or delete that line and restart.

Supported Languages​

CodeLanguageCodeLanguage
arArabicbgBulgarian
csCzechdaDanish
deGermande_formalGerman (formal)
enEnglishesSpanish
etEstonianfaPersian
frFrenchheHebrew
hrCroatianhuHungarian
itItalianjpJapanese
koKoreanltLithuanian
nlDutchplPolish
ptPortuguesept_BRPortuguese (Brazil)
rsSerbianruRussian
skSlovakslSlovenian
svSwedishtrTurkish
ukUkrainianviVietnamese
zh_CNSimplified Chinesezh_TWTraditional Chinese
Code Notes

Japanese uses jp instead of ja; de_formal is formal German.

Hiding a menu option​

Menu items are defined by [menu ...] sections in KlipperScreen.conf, with spaces in the section name indicating hierarchy. For example, the main menu More → Z Calibrate corresponds to:

[menu __main more zoffset]
name: {{ gettext('Z Calibrate') }}
icon: z-farther
panel: zcalibrate

To hide it, append a section with the same name in KlipperScreen.conf and specify only enable:

[menu __main more zoffset]
enable: False
  • The user configuration is merged with the built-in menu, so name, icon, and panel do not need to be repeated; only enable needs to be overridden.
  • The section name must exactly match the built-in menu (__main cannot be written as main; neither case nor hierarchy may change). An incorrect section name will not override the original option and may additionally create a nameless menu item, causing the menu panel to display abnormally.
  • After saving, restart KlipperScreen:
sudo systemctl restart klipperscreen

Conditional hiding​

enable supports Jinja2 expressions, allowing automatic showing or hiding based on printer configuration or status:

[menu __main more bedmesh]
enable: {{ 'bed_mesh' in printer.config_sections }}

[menu __main more fan]
enable: {{ printer.fans.count > 0 }}

Common variables:

VariableMeaning
printer.config_sectionsList of section names configured in printer.cfg
printer.gcode_macros.listList of defined G-code macro names
printer.extruders.countNumber of extruders
printer.fans.countNumber of fans
printer.leds.countNumber of LEDs
moonraker.cameras.countNumber of cameras
moonraker.power_devices.countNumber of power devices

FlyOS additionally provides flylcd_exists (whether a Fly-LCD is connected), wifi_exists (whether a wireless network card is present), and oem_name (OEM name).

Hiding an entire submenu​

Set the parent menu's enable to False to hide the entire submenu. For example, to hide the More menu:

[menu __main more]
enable: False

The table below lists all built-in KlipperScreen menu items in alphabetical order by section name: __main is the main menu, __print is the printing menu, __splashscreen is the splash screen, and move homing is the homing submenu of the move menu. The three root nodes [menu __main], [menu __print], and [menu __splashscreen] are not listed as hideable items; the Chinese names are taken from the zh_CN language pack, and the corresponding translations will be displayed when switching to other interface languages.

Section nameMenu itemChinese name
[menu __main extrude]Extrude挤出
[menu __main gcodes]Gcodesg代码
[menu __main more]More更多设置
[menu __main more bedlevel]Bed Level热床调平
[menu __main more bedmesh]Bed Mesh床网
[menu __main more camera]Camera摄像头
[menu __main more console]Console控制台
[menu __main more fan]Fan风扇
[menu __main more fine_tune]Fine Tuning微调
[menu __main more fly_lcd]Display Settings屏幕设置
[menu __main more input_shaper]Input Shaper共振补偿
[menu __main more led]Leds灯珠
[menu __main more limits]Limits打印机限制
[menu __main more macros]Macros宏
[menu __main more network]Network网络
[menu __main more notifications]Notifications通知
[menu __main more pins]Pins引脚
[menu __main more power]Power电源
[menu __main more save]Save Config保存配置
[menu __main more settings]KlipperScreenKlipperScreen
[menu __main more spoolman]SpoolmanSpoolman
[menu __main more system]System系统
[menu __main more updater]Update更新
[menu __main more zoffset]Z CalibrateZ偏移校准
[menu __main move]Move移动
[menu __main print]Print打印
[menu __main temperature]Temperature温度
[menu __print camera]Camera摄像头
[menu __print console]Console控制台
[menu __print extrude]Extrude挤出
[menu __print fan]Fan风扇
[menu __print led]Leds灯珠
[menu __print limits]Limits打印机限制
[menu __print lock]Lock锁定
[menu __print macros]Macros宏
[menu __print more fly_lcd]Display Settings屏幕设置
[menu __print move]Move移动
[menu __print network]Network网络
[menu __print notifications]Notifications通知
[menu __print pins]Pins引脚
[menu __print power]Power电源
[menu __print settings]KlipperScreenKlipperScreen
[menu __print spoolman]SpoolmanSpoolman
[menu __print system]System系统
[menu __print temperature]Temperature温度
[menu __splashscreen fly_lcd]Display Settings屏幕设置
[menu __splashscreen network]Network网络
[menu __splashscreen power]Power电源
[menu __splashscreen settings]KlipperScreenKlipperScreen
[menu __splashscreen system]System系统
[menu __splashscreen updater]Update更新
[menu move homing homeall]Home All全部归位
[menu move homing homex]Home XX轴归位
[menu move homing homexy]Home XYXY轴归位
[menu move homing homey]Home YY轴归位
[menu move homing homez]Home ZZ轴归位
[menu move homing quad_gantry_level]Quad Gantry Level龙门架调平
[menu move homing Z-Tilt]Z TiltZ轴倾斜校准
Custom menus

The section names of custom menus are determined by the [menu ...] definitions in KlipperScreen.conf.

Loading...