├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── dependabot.yml └── workflows │ ├── codeql.yml │ ├── docs.yml │ ├── missing_log.yml │ └── test_code.yml ├── .gitignore ├── .readthedocs.yaml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── __builtins__.pyi ├── config ├── defaults.conf ├── main_menu.conf ├── move_menu.conf ├── print_menu.conf └── splash_menu.conf ├── docs ├── Android.md ├── Configuration.md ├── Contact.md ├── Developers.md ├── FAQ.md ├── Hardware.md ├── Hardware │ ├── GPIO_35.md │ └── HDMI.md ├── Installation.md ├── Multi_instance.md ├── Panels.md ├── Panels │ ├── Job_status.md │ ├── Screws.md │ ├── Temperature.md │ └── Zcalibrate.md ├── Quicktips.md ├── Theming.md ├── Thumbnails.md ├── Translations.md ├── Troubleshooting.md ├── Troubleshooting │ ├── Desktop.md │ ├── FBturbo.md │ ├── Framebuffer.md │ ├── Framebuffer_id.md │ ├── Last_resort.md │ ├── Network.md │ ├── Physical_Install.md │ ├── Rotation.md │ ├── Touch_issues.md │ └── VC_ERROR.md ├── Updating.md ├── VNC.md ├── breaking.md ├── changelog.md ├── img │ ├── disable_dpms_poweroff.png │ ├── hardware │ │ └── rpi35a.jpg │ ├── install │ │ └── KIAUH.png │ ├── macros │ │ ├── Prompt_1.png │ │ └── Prompt_2.png │ ├── panels │ │ ├── bed_level.png │ │ ├── bed_mesh.png │ │ ├── console.png │ │ ├── extrude.png │ │ ├── fan.png │ │ ├── fine_tune.png │ │ ├── gcode_macros.png │ │ ├── gcodes.png │ │ ├── input_shaper.png │ │ ├── job_status.png │ │ ├── job_status_extrusion.png │ │ ├── job_status_speed.png │ │ ├── job_status_time.png │ │ ├── limits.png │ │ ├── main_panel.png │ │ ├── menu.png │ │ ├── move.png │ │ ├── network.png │ │ ├── power.png │ │ ├── retraction.png │ │ ├── settings.png │ │ ├── splash_screen.png │ │ ├── spoolman.png │ │ ├── temperature.png │ │ ├── temperature_delta.png │ │ ├── temperature_keypad.png │ │ ├── updater.png │ │ └── zcalibrate.png │ ├── quicktips │ │ ├── Cura-thumbnails.png │ │ ├── IdeaMaker-thumbnails.png │ │ ├── OrcaSlicer-progress.png │ │ ├── OrcaSlicer-thumbnails.png │ │ ├── PS_SS_Layer_progress.png │ │ ├── PrusaSlicer-thumbnails.png │ │ └── SuperSlicer-thumbnails.png │ ├── sponsors │ │ ├── LDO.png │ │ └── YUMI.png │ ├── theming │ │ └── theme_example.png │ └── troubleshooting │ │ ├── boot.png │ │ ├── clilog.png │ │ ├── delog.png │ │ ├── desktop.png │ │ ├── dpms.gif │ │ ├── gldriver.png │ │ ├── logs_fluidd.png │ │ ├── logs_mainsail.png │ │ └── xtcal.png ├── index.md ├── macros.md ├── requirements.txt └── stylesheets │ └── extra.css ├── ks_includes ├── KlippyGcodes.py ├── KlippyGtk.py ├── KlippyRest.py ├── KlippyWebsocket.py ├── config.py ├── emptyCursor.xbm ├── files.py ├── functions.py ├── locales │ ├── KlipperScreen.pot │ ├── ar │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── bg │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── cs │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── da │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── de │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── de_formal │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── en │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── es │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── et │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── fr │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── gu │ │ └── LC_MESSAGES │ │ │ └── KlipperScreen.mo │ ├── he │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── hu │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── it │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── jp │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── keyboard.xml │ ├── ko │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── lt │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── nl │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── pl │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── pt │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── pt_BR │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── ru │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── sl │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── stats │ │ ├── bg.json │ │ ├── cs.json │ │ ├── de.json │ │ ├── es.json │ │ ├── hu.json │ │ ├── it.json │ │ ├── lt.json │ │ ├── nl.json │ │ ├── pl.json │ │ ├── pt_BR.json │ │ ├── ru.json │ │ ├── tr.json │ │ ├── zh_CN.json │ │ └── zh_TW.json │ ├── sv │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── tr │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── uk │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── vi │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ ├── zh_CN │ │ └── LC_MESSAGES │ │ │ ├── KlipperScreen.mo │ │ │ └── KlipperScreen.po │ └── zh_TW │ │ └── LC_MESSAGES │ │ ├── KlipperScreen.mo │ │ └── KlipperScreen.po ├── printer.py ├── screen_panel.py ├── sdbus_nm.py └── widgets │ ├── autogrid.py │ ├── bedmap.py │ ├── flowboxchild_extended.py │ ├── heatergraph.py │ ├── keyboard.py │ ├── keypad.py │ ├── lockscreen.py │ ├── objectmap.py │ ├── prompts.py │ ├── screensaver.py │ └── scroll.py ├── mkdocs.yml ├── panels ├── __init__.py ├── base_panel.py ├── bed_level.py ├── bed_mesh.py ├── camera.py ├── console.py ├── example.py ├── exclude.py ├── extrude.py ├── fan.py ├── fine_tune.py ├── gcode_macros.py ├── gcodes.py ├── input_shaper.py ├── job_status.py ├── led.py ├── limits.py ├── main_menu.py ├── menu.py ├── move.py ├── network.py ├── notifications.py ├── pins.py ├── power.py ├── pressure_advance.py ├── printer_select.py ├── retraction.py ├── settings.py ├── shutdown.py ├── splash_screen.py ├── spoolman.py ├── system.py ├── temperature.py ├── updater.py └── zcalibrate.py ├── screen.py ├── scripts ├── KlipperScreen-install.sh ├── KlipperScreen-requirements.txt ├── KlipperScreen-start.sh ├── KlipperScreen.desktop ├── KlipperScreen.service ├── Uninstall.sh ├── build_docs.sh ├── check_code.sh ├── dev-requirements.txt ├── sample-android-adb.sh ├── sample-launch_klipperscreen.sh ├── sudo_fix.sh ├── system-dependencies.json ├── update_translation_files.sh └── xsdl_wrapper.sh └── styles ├── base.conf ├── base.css ├── colorized ├── images │ ├── arrow-down.svg │ ├── arrow-left.svg │ ├── arrow-right.svg │ ├── arrow-up.svg │ ├── back.svg │ ├── backspace.svg │ ├── battery-0.svg │ ├── battery-100.svg │ ├── battery-25.svg │ ├── battery-50.svg │ ├── battery-75.svg │ ├── battery-charging.svg │ ├── battery-unknown.svg │ ├── bed-level-b-l.svg │ ├── bed-level-b-m.svg │ ├── bed-level-b-r.svg │ ├── bed-level-center.svg │ ├── bed-level-l-m.svg │ ├── bed-level-r-m.svg │ ├── bed-level-t-l.svg │ ├── bed-level-t-m.svg │ ├── bed-level-t-r.svg │ ├── bed-level.svg │ ├── bed-mesh.svg │ ├── bed.svg │ ├── camera.svg │ ├── camera2.svg │ ├── cancel.svg │ ├── ccw.svg │ ├── clock.svg │ ├── complete.svg │ ├── console.svg │ ├── cool-down.svg │ ├── custom-script.svg │ ├── cw.svg │ ├── decrease.svg │ ├── delete.svg │ ├── emergency.svg │ ├── extrude.svg │ ├── extruder-0.svg │ ├── extruder-1.svg │ ├── extruder-10.svg │ ├── extruder-11.svg │ ├── extruder-2.svg │ ├── extruder-3.svg │ ├── extruder-4.svg │ ├── extruder-5.svg │ ├── extruder-6.svg │ ├── extruder-7.svg │ ├── extruder-8.svg │ ├── extruder-9.svg │ ├── extruder.svg │ ├── fan-on.svg │ ├── fan.svg │ ├── filament.svg │ ├── file.svg │ ├── files.svg │ ├── fine-tune.svg │ ├── flow+.svg │ ├── flow-.svg │ ├── folder.svg │ ├── hashtag.svg │ ├── heat-up.svg │ ├── heater.svg │ ├── home-x.svg │ ├── home-y.svg │ ├── home-z.svg │ ├── home.svg │ ├── hourglass.svg │ ├── increase.svg │ ├── info.svg │ ├── klipper.svg │ ├── light.svg │ ├── load.svg │ ├── lock.svg │ ├── main.svg │ ├── motor-off.svg │ ├── move.svg │ ├── network.svg │ ├── notification_important.svg │ ├── notifications.svg │ ├── notifications_active.svg │ ├── pause.svg │ ├── printer.svg │ ├── refresh.svg │ ├── resume.svg │ ├── retract.svg │ ├── sd.svg │ ├── settings.svg │ ├── shuffle.svg │ ├── shutdown.svg │ ├── speed+.svg │ ├── speed-.svg │ ├── spool.svg │ ├── spoolman.svg │ ├── stop.svg │ ├── toolchanger.svg │ ├── warning.svg │ ├── wifi_excellent.svg │ ├── wifi_fair.svg │ ├── wifi_good.svg │ ├── wifi_weak.svg │ ├── z-closer.svg │ ├── z-farther.svg │ └── z-tilt.svg ├── style.conf └── style.css ├── complete.svg ├── icon.svg ├── material-dark ├── images │ ├── arrow-down.svg │ ├── arrow-left.svg │ ├── arrow-right.svg │ ├── arrow-up.svg │ ├── back.svg │ ├── backspace.svg │ ├── battery-0.svg │ ├── battery-100.svg │ ├── battery-25.svg │ ├── battery-50.svg │ ├── battery-75.svg │ ├── battery-charging.svg │ ├── battery-unknown.svg │ ├── bed-level-b-l.svg │ ├── bed-level-b-m.svg │ ├── bed-level-b-r.svg │ ├── bed-level-center.svg │ ├── bed-level-l-m.svg │ ├── bed-level-r-m.svg │ ├── bed-level-t-l.svg │ ├── bed-level-t-m.svg │ ├── bed-level-t-r.svg │ ├── bed-level.svg │ ├── bed-mesh.svg │ ├── bed.svg │ ├── camera.svg │ ├── cancel.svg │ ├── ccw.svg │ ├── clock.svg │ ├── complete.svg │ ├── console.svg │ ├── cool-down.svg │ ├── custom-script.svg │ ├── cw.svg │ ├── decrease.svg │ ├── delete.svg │ ├── emergency.svg │ ├── extrude.svg │ ├── extruder-0.svg │ ├── extruder-1.svg │ ├── extruder-10.svg │ ├── extruder-11.svg │ ├── extruder-2.svg │ ├── extruder-3.svg │ ├── extruder-4.svg │ ├── extruder-5.svg │ ├── extruder-6.svg │ ├── extruder-7.svg │ ├── extruder-8.svg │ ├── extruder-9.svg │ ├── extruder.svg │ ├── fan-on.svg │ ├── fan.svg │ ├── filament.svg │ ├── file.svg │ ├── files.svg │ ├── fine-tune.svg │ ├── flow+.svg │ ├── flow-.svg │ ├── folder.svg │ ├── hashtag.svg │ ├── heat-up.svg │ ├── heater.svg │ ├── home-x.svg │ ├── home-y.svg │ ├── home-z.svg │ ├── home.svg │ ├── hourglass.svg │ ├── increase.svg │ ├── info.svg │ ├── klipper.svg │ ├── light.svg │ ├── load.svg │ ├── lock.svg │ ├── main.svg │ ├── motor-off.svg │ ├── move.svg │ ├── network.svg │ ├── notification_important.svg │ ├── notifications.svg │ ├── notifications_active.svg │ ├── pause.svg │ ├── printer.svg │ ├── refresh.svg │ ├── resume.svg │ ├── retract.svg │ ├── sd.svg │ ├── settings.svg │ ├── shuffle.svg │ ├── shutdown.svg │ ├── speed+.svg │ ├── speed-.svg │ ├── spool.svg │ ├── spoolman.svg │ ├── stop.svg │ ├── toolchanger.svg │ ├── warning.svg │ ├── wifi_excellent.svg │ ├── wifi_fair.svg │ ├── wifi_good.svg │ ├── wifi_weak.svg │ ├── z-closer.svg │ ├── z-farther.svg │ └── z-tilt.svg ├── style.conf └── style.css ├── material-darker ├── images │ ├── arrow-down.svg │ ├── arrow-left.svg │ ├── arrow-right.svg │ ├── arrow-up.svg │ ├── back.svg │ ├── backspace.svg │ ├── battery-0.svg │ ├── battery-100.svg │ ├── battery-25.svg │ ├── battery-50.svg │ ├── battery-75.svg │ ├── battery-charging.svg │ ├── battery-unknown.svg │ ├── bed-level-b-l.svg │ ├── bed-level-b-m.svg │ ├── bed-level-b-r.svg │ ├── bed-level-center.svg │ ├── bed-level-l-m.svg │ ├── bed-level-r-m.svg │ ├── bed-level-t-l.svg │ ├── bed-level-t-m.svg │ ├── bed-level-t-r.svg │ ├── bed-level.svg │ ├── bed-mesh.svg │ ├── bed.svg │ ├── camera.svg │ ├── cancel.svg │ ├── ccw.svg │ ├── clock.svg │ ├── complete.svg │ ├── console.svg │ ├── cool-down.svg │ ├── custom-script.svg │ ├── cw.svg │ ├── decrease.svg │ ├── delete.svg │ ├── emergency.svg │ ├── extrude.svg │ ├── extruder-0.svg │ ├── extruder-1.svg │ ├── extruder-10.svg │ ├── extruder-11.svg │ ├── extruder-2.svg │ ├── extruder-3.svg │ ├── extruder-4.svg │ ├── extruder-5.svg │ ├── extruder-6.svg │ ├── extruder-7.svg │ ├── extruder-8.svg │ ├── extruder-9.svg │ ├── extruder.svg │ ├── fan-on.svg │ ├── fan.svg │ ├── filament.svg │ ├── file.svg │ ├── files.svg │ ├── fine-tune.svg │ ├── flow+.svg │ ├── flow-.svg │ ├── folder.svg │ ├── hashtag.svg │ ├── heat-up.svg │ ├── heater.svg │ ├── home-x.svg │ ├── home-y.svg │ ├── home-z.svg │ ├── home.svg │ ├── hourglass.svg │ ├── increase.svg │ ├── info.svg │ ├── klipper.svg │ ├── light.svg │ ├── load.svg │ ├── lock.svg │ ├── main.svg │ ├── motor-off.svg │ ├── move.svg │ ├── network.svg │ ├── notification_important.svg │ ├── notifications.svg │ ├── notifications_active.svg │ ├── pause.svg │ ├── printer.svg │ ├── refresh.svg │ ├── resume.svg │ ├── retract.svg │ ├── sd.svg │ ├── settings.svg │ ├── shuffle.svg │ ├── shutdown.svg │ ├── speed+.svg │ ├── speed-.svg │ ├── spool.svg │ ├── spoolman.svg │ ├── stop.svg │ ├── toolchanger.svg │ ├── warning.svg │ ├── wifi_excellent.svg │ ├── wifi_fair.svg │ ├── wifi_good.svg │ ├── wifi_weak.svg │ ├── z-closer.svg │ ├── z-farther.svg │ └── z-tilt.svg ├── style.conf └── style.css ├── material-light ├── images │ ├── arrow-down.svg │ ├── arrow-left.svg │ ├── arrow-right.svg │ ├── arrow-up.svg │ ├── back.svg │ ├── backspace.svg │ ├── battery-0.svg │ ├── battery-100.svg │ ├── battery-25.svg │ ├── battery-50.svg │ ├── battery-75.svg │ ├── battery-charging.svg │ ├── battery-unknown.svg │ ├── bed-level-b-l.svg │ ├── bed-level-b-m.svg │ ├── bed-level-b-r.svg │ ├── bed-level-center.svg │ ├── bed-level-l-m.svg │ ├── bed-level-r-m.svg │ ├── bed-level-t-l.svg │ ├── bed-level-t-m.svg │ ├── bed-level-t-r.svg │ ├── bed-level.svg │ ├── bed-mesh.svg │ ├── bed.svg │ ├── camera.svg │ ├── cancel.svg │ ├── ccw.svg │ ├── clock.svg │ ├── complete.svg │ ├── console.svg │ ├── cool-down.svg │ ├── custom-script.svg │ ├── cw.svg │ ├── decrease.svg │ ├── delete.svg │ ├── emergency.svg │ ├── extrude.svg │ ├── extruder-0.svg │ ├── extruder-1.svg │ ├── extruder-10.svg │ ├── extruder-11.svg │ ├── extruder-2.svg │ ├── extruder-3.svg │ ├── extruder-4.svg │ ├── extruder-5.svg │ ├── extruder-6.svg │ ├── extruder-7.svg │ ├── extruder-8.svg │ ├── extruder-9.svg │ ├── extruder.svg │ ├── fan-on.svg │ ├── fan.svg │ ├── filament.svg │ ├── file.svg │ ├── files.svg │ ├── fine-tune.svg │ ├── flow+.svg │ ├── flow-.svg │ ├── folder.svg │ ├── hashtag.svg │ ├── heat-up.svg │ ├── heater.svg │ ├── home-x.svg │ ├── home-y.svg │ ├── home-z.svg │ ├── home.svg │ ├── hourglass.svg │ ├── increase.svg │ ├── info.svg │ ├── klipper.svg │ ├── light.svg │ ├── load.svg │ ├── lock.svg │ ├── main.svg │ ├── motor-off.svg │ ├── move.svg │ ├── network.svg │ ├── notification_important.svg │ ├── notifications.svg │ ├── notifications_active.svg │ ├── pause.svg │ ├── printer.svg │ ├── refresh.svg │ ├── resume.svg │ ├── retract.svg │ ├── sd.svg │ ├── settings.svg │ ├── shuffle.svg │ ├── shutdown.svg │ ├── speed+.svg │ ├── speed-.svg │ ├── spool.svg │ ├── spoolman.svg │ ├── stop.svg │ ├── toolchanger.svg │ ├── warning.svg │ ├── wifi_excellent.svg │ ├── wifi_fair.svg │ ├── wifi_good.svg │ ├── wifi_weak.svg │ ├── z-closer.svg │ ├── z-farther.svg │ └── z-tilt.svg ├── style.conf └── style.css ├── printers └── readme.md ├── spool.svg └── z-bolt ├── images ├── arrow-down.svg ├── arrow-left.svg ├── arrow-right.svg ├── arrow-up.svg ├── back.svg ├── backspace.svg ├── battery-0.svg ├── battery-100.svg ├── battery-25.svg ├── battery-50.svg ├── battery-75.svg ├── battery-charging.svg ├── battery-unknown.svg ├── bed-level-b-l.svg ├── bed-level-b-m.svg ├── bed-level-b-r.svg ├── bed-level-center.svg ├── bed-level-l-m.svg ├── bed-level-r-m.svg ├── bed-level-t-l.svg ├── bed-level-t-m.svg ├── bed-level-t-r.svg ├── bed-level.svg ├── bed-mesh.svg ├── bed.svg ├── camera.svg ├── cancel.svg ├── ccw.svg ├── clock.svg ├── complete.svg ├── console.svg ├── cool-down.svg ├── custom-script.svg ├── cw.svg ├── decrease.svg ├── delete.svg ├── emergency.svg ├── extrude.svg ├── extruder-0.svg ├── extruder-1.svg ├── extruder-10.svg ├── extruder-11.svg ├── extruder-2.svg ├── extruder-3.svg ├── extruder-4.svg ├── extruder-5.svg ├── extruder-6.svg ├── extruder-7.svg ├── extruder-8.svg ├── extruder-9.svg ├── extruder.svg ├── fan-on.svg ├── fan.svg ├── filament.svg ├── file.svg ├── files.svg ├── fine-tune.svg ├── flow+.svg ├── flow-.svg ├── folder.svg ├── hashtag.svg ├── heat-up.svg ├── heater.svg ├── home-x.svg ├── home-y.svg ├── home-z.svg ├── home.svg ├── hourglass.svg ├── increase.svg ├── info.svg ├── klipper.svg ├── light.svg ├── load.svg ├── lock.svg ├── main.svg ├── motor-off.svg ├── move.svg ├── network.svg ├── notification_important.svg ├── notifications.svg ├── notifications_active.svg ├── pause.svg ├── printer.svg ├── refresh.svg ├── resume.svg ├── retract.svg ├── sd.svg ├── settings.svg ├── shuffle.svg ├── shutdown.svg ├── speed+.svg ├── speed-.svg ├── spool.svg ├── spoolman.svg ├── stop.svg ├── toolchanger.svg ├── warning.svg ├── wifi_excellent.svg ├── wifi_fair.svg ├── wifi_good.svg ├── wifi_weak.svg ├── z-closer.svg ├── z-farther.svg └── z-tilt.svg ├── style.conf └── style.css /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | ko_fi: alfrix 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Klipper Discord Server 4 | url: https://discord.klipper3d.org/ 5 | about: If you have questions or need general support. 6 | - name: KlipperScreen Discussions 7 | url: https://github.com/KlipperScreen/KlipperScreen/discussions 8 | about: If you have questions or need general support. 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "pip" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- 1 | name: docs 2 | on: 3 | push: 4 | branches: [master, main] 5 | paths: 6 | - 'docs/**' 7 | permissions: 8 | contents: write 9 | jobs: 10 | deploy: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - name: Configure Git Credentials 15 | run: | 16 | git config user.name github-actions[bot] 17 | git config user.email 41898282+github-actions[bot]@users.noreply.github.com 18 | - uses: actions/setup-python@v4 19 | with: 20 | python-version: 3.x 21 | - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV 22 | - uses: actions/cache@v3 23 | with: 24 | key: mkdocs-material-${{ env.cache_id }} 25 | path: .cache 26 | restore-keys: | 27 | mkdocs-material- 28 | - run: pip install mkdocs-material 29 | - run: mkdocs gh-deploy --force 30 | -------------------------------------------------------------------------------- /.github/workflows/missing_log.yml: -------------------------------------------------------------------------------- 1 | name: "Add missing log comment" 2 | on: 3 | issues: 4 | types: [labeled] 5 | 6 | jobs: 7 | comment: 8 | if: contains(github.event.issue.labels.*.name, 'missing-log') 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/github-script@v7 12 | with: 13 | script: | 14 | github.rest.issues.createComment({ 15 | issue_number: context.issue.number, 16 | owner: context.repo.owner, 17 | repo: context.repo.repo, 18 | body: `Hello, I'm an automated bot. \n\n 19 | Please attach a log file to this issue as it is required to properly diagnose the problem. \n\n 20 | Logs help verify versions, inspect for errors, prevent duplicate reports, etc. \n\n 21 | If you don't know how to grab the log file please refer to the documentation: \n\n 22 | https://klipperscreen.readthedocs.io/en/latest/Troubleshooting/ \n\n 23 | Thank you!` 24 | }) 25 | -------------------------------------------------------------------------------- /.github/workflows/test_code.yml: -------------------------------------------------------------------------------- 1 | name: test-code 2 | on: 3 | push: 4 | paths-ignore: 5 | - 'docs/**' 6 | - 'ks_includes/locales/**' 7 | pull_request: 8 | paths-ignore: 9 | - 'docs/**' 10 | - 'ks_includes/locales/**' 11 | jobs: 12 | lint-python-code: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | - uses: ricardochaves/python-lint@v1.4.0 17 | with: 18 | python-root-list: "screen.py ks_includes panels" 19 | use-pylint: false 20 | use-pycodestyle: true 21 | use-flake8: false 22 | use-black: false 23 | use-mypy: false 24 | use-isort: false 25 | extra-pycodestyle-options: "--ignore=E402,W503,W504 --max-line-length=120 --max-doc-length=120" 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vscode/ 3 | .DS_Store 4 | KlipperScreen.conf 5 | __pycache__/ 6 | *.py[cod] 7 | *$py.class 8 | dist/ 9 | build/ 10 | venv/ 11 | .venv/ -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # Read the Docs configuration file for MkDocs projects 2 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 3 | # Required 4 | version: 2 5 | # Set the version of Python and other tools you might need 6 | build: 7 | os: ubuntu-lts-latest 8 | tools: 9 | python: latest 10 | jobs: 11 | post_checkout: 12 | # Cancel building pull requests when there aren't changed in the docs directory or YAML file. 13 | # You can add any other files or directories that you'd like here as well, 14 | # like your docs requirements file, or other files that will change your docs build. 15 | # 16 | # If there are no changes (git diff exits with 0) we force the command to return with 183. 17 | # This is a special exit code on Read the Docs that will cancel the build immediately. 18 | - | 19 | if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- docs/ .readthedocs.yaml; 20 | then 21 | exit 183; 22 | fi 23 | mkdocs: 24 | configuration: mkdocs.yml 25 | # Optionally declare the Python requirements required to build your docs 26 | python: 27 | install: 28 | - requirements: docs/requirements.txt 29 | -------------------------------------------------------------------------------- /__builtins__.pyi: -------------------------------------------------------------------------------- 1 | from typing import Callable 2 | 3 | def _(message: str) -> str: ... 4 | def ngettext(singular: str, plural: str, n: int) -> str: ... 5 | 6 | -------------------------------------------------------------------------------- /config/defaults.conf: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE USE KlipperScreen.conf 3 | # 4 | 5 | [main] 6 | 7 | [preheat PLA] 8 | bed = 40 9 | extruder = 195 10 | 11 | [preheat ABS] 12 | bed = 90 13 | extruder = 220 14 | 15 | [preheat PETG] 16 | bed = 80 17 | extruder = 240 18 | 19 | [preheat FLEX] 20 | bed = 0 21 | extruder = 210 22 | 23 | [include main_menu.conf] 24 | [include splash_menu.conf] 25 | [include print_menu.conf] 26 | 27 | [include move_menu.conf] 28 | -------------------------------------------------------------------------------- /config/move_menu.conf: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE USE KlipperScreen.conf 3 | # 4 | 5 | [menu move homing homex] 6 | name: {{ gettext('Home X') }} 7 | icon: home-x 8 | method: printer.gcode.script 9 | params: {"script":"G28 X"} 10 | 11 | [menu move homing homey] 12 | name: {{ gettext('Home Y') }} 13 | icon: home-y 14 | method: printer.gcode.script 15 | params: {"script":"G28 Y"} 16 | 17 | [menu move homing homez] 18 | name: {{ gettext('Home Z') }} 19 | icon: home-z 20 | method: printer.gcode.script 21 | params: {"script":"G28 Z"} 22 | 23 | [menu move homing homeall] 24 | name: {{ gettext('Home All') }} 25 | icon: home 26 | method: printer.gcode.script 27 | params: {"script":"G28"} 28 | 29 | [menu move homing homexy] 30 | name: {{ gettext('Home XY') }} 31 | icon: home 32 | method: printer.gcode.script 33 | params: {"script":"G28 X Y"} 34 | 35 | [menu move homing quad_gantry_level] 36 | name: {{ gettext('Quad Gantry Level') }} 37 | icon: home-z 38 | method: printer.gcode.script 39 | params: {"script":"QUAD_GANTRY_LEVEL"} 40 | enable: {{ 'QUAD_GANTRY_LEVEL' in printer.available_commands }} 41 | 42 | [menu move homing Z-Tilt] 43 | name: {{ gettext('Z Tilt') }} 44 | icon: z-tilt 45 | method: printer.gcode.script 46 | params: {"script":"Z_TILT_ADJUST"} 47 | enable: {{ 'Z_TILT_ADJUST' in printer.available_commands }} 48 | -------------------------------------------------------------------------------- /config/splash_menu.conf: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE USE KlipperScreen.conf 3 | # 4 | 5 | [menu __splashscreen] 6 | name: {{ gettext('Menu') }} 7 | 8 | [menu __splashscreen power] 9 | name: {{ gettext('Power') }} 10 | icon: shutdown 11 | panel: power 12 | enable: {{ moonraker.power_devices.count > 0 }} 13 | 14 | [menu __splashscreen network] 15 | name: {{ gettext('Network') }} 16 | icon: network 17 | panel: network 18 | 19 | [menu __splashscreen updater] 20 | name: {{ gettext('Update') }} 21 | icon: refresh 22 | panel: updater 23 | enable: {{ moonraker_connected }} 24 | 25 | [menu __splashscreen settings] 26 | name: KlipperScreen 27 | icon: settings 28 | panel: settings 29 | 30 | [menu __splashscreen system] 31 | name: {{ gettext('System') }} 32 | icon: info 33 | panel: system 34 | enable: {{ moonraker_connected }} 35 | -------------------------------------------------------------------------------- /docs/Contact.md: -------------------------------------------------------------------------------- 1 | # Contact 2 | 3 | There are several ways to contact people who can assist with issues. 4 | 5 | Discord is probably going to provide the quickest response as there are more people in the chat who can help. 6 | 7 | 8 | ## Klipper Community Discord 9 | 10 | [Look for the channel `#klipper-screen`](https://discord.klipper3d.org/) 11 | 12 | 13 | ## Issues or improvements to the docs or the application 14 | 15 | You may submit a GitHub issue request for any bugs you encounter. 16 | 17 | or a Pull Request with translations, features, doc fixes. 18 | 19 | or open an issue describing the changes. 20 | 21 | or even provide ideas for a feature. 22 | 23 | [GitHub repository](https://github.com/KlipperScreen/KlipperScreen/) 24 | -------------------------------------------------------------------------------- /docs/Panels/Job_status.md: -------------------------------------------------------------------------------- 1 | # Job Status 2 | 3 | Also known as "Print Status" or the "printing panel" shows the relevant information of the current print. 4 | 5 | ![Screenshot](../img/panels/job_status.png) 6 | 7 | !!! tip 8 | the third row shows the LCD message (`M117`) 9 | 10 | This panel has more information than it shows by default, just click/tap the corresponding the status buttons to access the extra information 11 | 12 | ## Position info 13 | ![speed_screenshot](../img/panels/job_status_speed.png) 14 | !!! note 15 | Layer is calculated from object height, it may not be accurate if variable layer is used 16 | 17 | If that is the case use the Layer Progress method described in the [Quicktips](../Quicktips.md#layer-progress) 18 | 19 | ## Extrusion info 20 | ![extrusion_screenshot](../img/panels/job_status_extrusion.png) 21 | 22 | ## Time info 23 | ![time_screenshot](../img/panels/job_status_time.png) 24 | 25 | ## Extra temperature items 26 | 27 | By default, only extruder and bed temperatures will be available but additional items can be defined 28 | using ["titlebar_items" in the config](../Configuration.md#printer-options) 29 | -------------------------------------------------------------------------------- /docs/Panels/Temperature.md: -------------------------------------------------------------------------------- 1 | # Temperature 2 | 3 | This panel is available when there is at least one device with a temperature sensor asociated, 4 | this includes extruders, heaters, sensors and temperature_fans. 5 | 6 | There are 3 main modes of operation: 7 | 8 | ## Preheat 9 | [Define profiles](../Configuration.md#preheat-options) to quickly change the target temperature of multiple selected devices. 10 | This is the default mode when not printing. 11 | 12 | ![Preheat_screenshot](../img/panels/temperature.png) 13 | 14 | ## Delta adjust 15 | Change the target of the selected devices, the amount is selectable. 16 | This is the default mode while printing 17 | 18 | ![Delta_screenshot](../img/panels/temperature_delta.png) 19 | 20 | ## Direct input with keypad 21 | Allows to set the exact temperature using the keypad. 22 | 23 | ![Keypad_screenshot](../img/panels/temperature_keypad.png) 24 | -------------------------------------------------------------------------------- /docs/Troubleshooting/Desktop.md: -------------------------------------------------------------------------------- 1 | #### Check if You Have a Desktop Environment 2 | 1. Let you device finish startup 3 | 2. At the end of the boot process look at the screen and check using this examples 4 | 5 | 6 | | Desktop environment | Console | 7 | |:------------------------------------------:|:--------------------------------------------:| 8 | | ![de](../img/troubleshooting/desktop.png) | ![boot](../img/troubleshooting/boot.png) | 9 | | Desktop environment | Console | 10 | | ![delog](../img/troubleshooting/delog.png) | ![clilog](../img/troubleshooting/clilog.png) | 11 | 12 | 13 | If you installed a desktop (GUI version) of the OS and want to run KlipperScreen exclusively then do: 14 | ```sh title="Boot to console / KlipperScreen" 15 | sudo systemctl set-default multi-user.target && sudo reboot 16 | ``` 17 | to undo and go back to the desktop environment: 18 | ```sh title="Boot to the desktop" 19 | sudo systemctl set-default graphical.target && sudo reboot 20 | ``` -------------------------------------------------------------------------------- /docs/Troubleshooting/FBturbo.md: -------------------------------------------------------------------------------- 1 | # FBturbo failing with undefined symbol 2 | 3 | in the system [log](../Troubleshooting.md) this appears: 4 | 5 | !!! abstract "Log" 6 | ```sh 7 | xinit[948]: /usr/lib/xorg/Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers/fbturbo_drv.so: undefined symbol: shadowUpdatePackedWeak 8 | ``` 9 | 10 | Your system doesn't seem compatible with the FBturbo driver that you have installed 11 | 12 | Remove the fbturbo driver 13 | 14 | ```sh 15 | sudo apt purge xserver-xorg-video-fbturbo 16 | ``` 17 | 18 | make sure the config is removed: 19 | 20 | ```sh 21 | sudo rm /usr/share/X11/xorg.conf.d/99-fbturbo.conf 22 | ``` 23 | -------------------------------------------------------------------------------- /docs/Troubleshooting/Physical_Install.md: -------------------------------------------------------------------------------- 1 | # Physical installation issues 2 | 3 | If the screen never shows the console even during startup, Then it's typically an improperly installed screen, 4 | 5 | !!! important 6 | It is advised follow the manufacturer instructions on how to physically connect the screen and install the proper drivers. 7 | 8 | ## Cable issues 9 | 10 | * Check that the cable is inserted properly: 11 | it shouldn't be loose, and in the case of ribbon cables like DSI make sure the contacts face the right way 12 | * If the touchscreen is connected via USB, try another port if available, 13 | if you are using a HUB try connecting the touch directly without the HUB. 14 | * If the board has more than one HDMI try the other port 15 | 16 | ## Driver issues 17 | 18 | Some screens need drivers installed the most common cases are: 19 | 20 | ### Waveshare 21 | * [Waveshare Wiki](https://www.waveshare.com/wiki) 22 | * [repo LCD-show](https://github.com/waveshare/LCD-show) 23 | 24 | ### Goodtft (generic/clones) 25 | * [Goodtft Wiki](http://www.lcdwiki.com) 26 | * [repo LCD-show](https://github.com/goodtft/LCD-show) 27 | -------------------------------------------------------------------------------- /docs/Troubleshooting/VC_ERROR.md: -------------------------------------------------------------------------------- 1 | # Cannot open virtual Console 2 | 3 | If you see this line in the [log](../Troubleshooting.md): 4 | !!! abstract "Log" 5 | ```sh 6 | xf86OpenConsole: Cannot open virtual console 2 (Permission denied) 7 | ``` 8 | 9 | * Run `cat /etc/X11/Xwrapper.config` 10 | 11 | This should have the line `allowed_users=anybody` in it 12 | 13 | * Run `cat /etc/group | grep tty` 14 | 15 | If your username is not listed under that line, you need to add it with the following command: 16 | 17 | ```sh 18 | usermod -a -G tty pi 19 | ``` 20 | (if your username is not 'pi' change 'pi' to your username) 21 | 22 | Restart KlipperScreen: 23 | ```sh 24 | sudo service KlipperScreen restart 25 | ``` 26 | 27 | If it's still failing: 28 | 29 | add `needs_root_rights=yes` to `/etc/X11/Xwrapper.config`: 30 | 31 | ```sh 32 | sudo bash -c "echo needs_root_rights=yes>>/etc/X11/Xwrapper.config" 33 | ``` 34 | 35 | Restart KlipperScreen: 36 | ```sh 37 | sudo service KlipperScreen restart 38 | ``` 39 | 40 | -------------------------------------------------------------------------------- /docs/Updating.md: -------------------------------------------------------------------------------- 1 | # Updating 2 | 3 | ## Using Moonraker update manager 4 | 5 | !!! info 6 | This method will not work if KlipperScreen and Moonraker are on different Hosts 7 | 8 | For this to work, KlipperScreen should be added to moonraker.conf as explained in the installation instructions. 9 | [moonraker-configuration](Installation.md/#moonraker-configuration) 10 | 11 | Then you can update using the System panel: 12 | 13 | ![system-panel-screenshot](img/panels/system.png) 14 | 15 | or from any UI that supports updating from moonraker. 16 | 17 | 18 | ## Using KIAUH 19 | 20 | Same as in the installation instructions, but select update instead of install 21 | 22 | ![KIAUH-screenshot](img/install/KIAUH.png) 23 | 24 | 25 | ## Manual update 26 | 27 | ```sh 28 | cd ~/KlipperScreen 29 | git pull 30 | source ~/.KlipperScreen-env/bin/activate 31 | pip --disable-pip-version-check install -r ~/KlipperScreen/scripts/KlipperScreen-requirements.txt 32 | sudo service KlipperScreen restart 33 | deactivate 34 | ``` 35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/changelog.md: -------------------------------------------------------------------------------- 1 | ../CHANGELOG.md -------------------------------------------------------------------------------- /docs/img/disable_dpms_poweroff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/disable_dpms_poweroff.png -------------------------------------------------------------------------------- /docs/img/hardware/rpi35a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/hardware/rpi35a.jpg -------------------------------------------------------------------------------- /docs/img/install/KIAUH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/install/KIAUH.png -------------------------------------------------------------------------------- /docs/img/macros/Prompt_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/macros/Prompt_1.png -------------------------------------------------------------------------------- /docs/img/macros/Prompt_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/macros/Prompt_2.png -------------------------------------------------------------------------------- /docs/img/panels/bed_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/bed_level.png -------------------------------------------------------------------------------- /docs/img/panels/bed_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/bed_mesh.png -------------------------------------------------------------------------------- /docs/img/panels/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/console.png -------------------------------------------------------------------------------- /docs/img/panels/extrude.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/extrude.png -------------------------------------------------------------------------------- /docs/img/panels/fan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/fan.png -------------------------------------------------------------------------------- /docs/img/panels/fine_tune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/fine_tune.png -------------------------------------------------------------------------------- /docs/img/panels/gcode_macros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/gcode_macros.png -------------------------------------------------------------------------------- /docs/img/panels/gcodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/gcodes.png -------------------------------------------------------------------------------- /docs/img/panels/input_shaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/input_shaper.png -------------------------------------------------------------------------------- /docs/img/panels/job_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/job_status.png -------------------------------------------------------------------------------- /docs/img/panels/job_status_extrusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/job_status_extrusion.png -------------------------------------------------------------------------------- /docs/img/panels/job_status_speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/job_status_speed.png -------------------------------------------------------------------------------- /docs/img/panels/job_status_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/job_status_time.png -------------------------------------------------------------------------------- /docs/img/panels/limits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/limits.png -------------------------------------------------------------------------------- /docs/img/panels/main_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/main_panel.png -------------------------------------------------------------------------------- /docs/img/panels/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/menu.png -------------------------------------------------------------------------------- /docs/img/panels/move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/move.png -------------------------------------------------------------------------------- /docs/img/panels/network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/network.png -------------------------------------------------------------------------------- /docs/img/panels/power.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/power.png -------------------------------------------------------------------------------- /docs/img/panels/retraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/retraction.png -------------------------------------------------------------------------------- /docs/img/panels/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/settings.png -------------------------------------------------------------------------------- /docs/img/panels/splash_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/splash_screen.png -------------------------------------------------------------------------------- /docs/img/panels/spoolman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/spoolman.png -------------------------------------------------------------------------------- /docs/img/panels/temperature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/temperature.png -------------------------------------------------------------------------------- /docs/img/panels/temperature_delta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/temperature_delta.png -------------------------------------------------------------------------------- /docs/img/panels/temperature_keypad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/temperature_keypad.png -------------------------------------------------------------------------------- /docs/img/panels/updater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/updater.png -------------------------------------------------------------------------------- /docs/img/panels/zcalibrate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/panels/zcalibrate.png -------------------------------------------------------------------------------- /docs/img/quicktips/Cura-thumbnails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/Cura-thumbnails.png -------------------------------------------------------------------------------- /docs/img/quicktips/IdeaMaker-thumbnails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/IdeaMaker-thumbnails.png -------------------------------------------------------------------------------- /docs/img/quicktips/OrcaSlicer-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/OrcaSlicer-progress.png -------------------------------------------------------------------------------- /docs/img/quicktips/OrcaSlicer-thumbnails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/OrcaSlicer-thumbnails.png -------------------------------------------------------------------------------- /docs/img/quicktips/PS_SS_Layer_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/PS_SS_Layer_progress.png -------------------------------------------------------------------------------- /docs/img/quicktips/PrusaSlicer-thumbnails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/PrusaSlicer-thumbnails.png -------------------------------------------------------------------------------- /docs/img/quicktips/SuperSlicer-thumbnails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/quicktips/SuperSlicer-thumbnails.png -------------------------------------------------------------------------------- /docs/img/sponsors/LDO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/sponsors/LDO.png -------------------------------------------------------------------------------- /docs/img/sponsors/YUMI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/sponsors/YUMI.png -------------------------------------------------------------------------------- /docs/img/theming/theme_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/theming/theme_example.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/boot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/boot.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/clilog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/clilog.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/delog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/delog.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/desktop.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/dpms.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/dpms.gif -------------------------------------------------------------------------------- /docs/img/troubleshooting/gldriver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/gldriver.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/logs_fluidd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/logs_fluidd.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/logs_mainsail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/logs_mainsail.png -------------------------------------------------------------------------------- /docs/img/troubleshooting/xtcal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/docs/img/troubleshooting/xtcal.png -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs>=1.3.0 2 | mkdocs-material>=8.2.16 3 | -------------------------------------------------------------------------------- /docs/stylesheets/extra.css: -------------------------------------------------------------------------------- 1 | img { 2 | display: block; 3 | margin: 0 auto; 4 | } 5 | 6 | .md-typeset .md-typeset__table { 7 | display: block; 8 | } 9 | .md-typeset__table table:not([class]) { 10 | display: table; 11 | } 12 | 13 | h2, h3, h4 { 14 | padding: 0.5em 0; 15 | text-align: center; 16 | background-color: rgba(0, 0, 0, 0.5); 17 | } 18 | -------------------------------------------------------------------------------- /ks_includes/emptyCursor.xbm: -------------------------------------------------------------------------------- 1 | #define emptyCursor_width 1 2 | #define emptyCursor_height 1 3 | #define emptyCursor_x_hot 0 4 | #define emptyCursor_y_hot 0 5 | static unsigned char emptyCursor_bits[] = { 6 | 0x00}; 7 | -------------------------------------------------------------------------------- /ks_includes/locales/ar/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/ar/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/bg/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/bg/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/cs/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/cs/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/da/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/da/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/de/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/de/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/de_formal/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/de_formal/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/en/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/en/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/es/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/es/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/et/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/et/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/fr/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/fr/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/gu/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/gu/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/he/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/he/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/hu/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/hu/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/it/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/it/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/jp/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/jp/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/ko/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/ko/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/lt/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/lt/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/nl/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/nl/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/pl/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/pl/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/pt/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/pt/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/pt_BR/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/pt_BR/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/ru/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/ru/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/sl/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/sl/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/stats/bg.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Bulgarian", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/bg/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/cs.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Czech", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/cs/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/de.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "German", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/de/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Spanish", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/es/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/hu.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Hungarian", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/hu/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/it.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Italian", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/it/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/lt.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Lithuanian", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/lt/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Dutch", 3 | "translated_percent": "99.6", 4 | "filename": "ks_includes/locales/nl/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/pl.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Polish", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/pl/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/pt_BR.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Portuguese (Brazil)", 3 | "translated_percent": "99.0", 4 | "filename": "ks_includes/locales/pt_BR/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Russian", 3 | "translated_percent": "99.6", 4 | "filename": "ks_includes/locales/ru/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Turkish", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/tr/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/zh_CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Chinese (Simplified Han script)", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/zh_CN/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/stats/zh_TW.json: -------------------------------------------------------------------------------- 1 | { 2 | "language_name": "Chinese (Traditional Han script)", 3 | "translated_percent": "100.0", 4 | "filename": "ks_includes/locales/zh_TW/LC_MESSAGES/KlipperScreen.po", 5 | } -------------------------------------------------------------------------------- /ks_includes/locales/sv/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/sv/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/tr/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/tr/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/uk/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/uk/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/vi/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/vi/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/zh_CN/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/zh_CN/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/locales/zh_TW/LC_MESSAGES/KlipperScreen.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/ks_includes/locales/zh_TW/LC_MESSAGES/KlipperScreen.mo -------------------------------------------------------------------------------- /ks_includes/widgets/flowboxchild_extended.py: -------------------------------------------------------------------------------- 1 | import gi 2 | 3 | gi.require_version("Gtk", "3.0") 4 | from gi.repository import Gtk 5 | 6 | 7 | class PrintListItem(Gtk.FlowBoxChild): 8 | def __init__(self): 9 | super().__init__() 10 | self.date = None 11 | self.size = None 12 | self.dir = 0 13 | self.path = None 14 | 15 | def set_date(self, date): 16 | self.date = date 17 | 18 | def set_size(self, size): 19 | self.size = size 20 | 21 | def set_as_dir(self, is_dir: bool): 22 | self.dir = -1 if is_dir else 0 23 | 24 | def set_path(self, path): 25 | self.path = path 26 | 27 | def get_date(self): 28 | return self.date 29 | 30 | def get_size(self): 31 | return self.size 32 | 33 | def get_is_dir(self): 34 | return self.dir 35 | 36 | def get_path(self): 37 | return self.path 38 | -------------------------------------------------------------------------------- /ks_includes/widgets/scroll.py: -------------------------------------------------------------------------------- 1 | import gi 2 | 3 | gi.require_version("Gtk", "3.0") 4 | from gi.repository import Gtk, Gdk 5 | 6 | 7 | class CustomScrolledWindow(Gtk.ScrolledWindow): 8 | def __init__(self, steppers=False, **kwargs): 9 | args = { 10 | "hexpand": True, 11 | "vexpand": True, 12 | "overlay_scrolling": False 13 | } 14 | args.update(kwargs) 15 | super().__init__(**args) 16 | self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | 17 | Gdk.EventMask.TOUCH_MASK | 18 | Gdk.EventMask.BUTTON_RELEASE_MASK) 19 | if steppers: 20 | self.get_vscrollbar().get_style_context().add_class("with-steppers") 21 | -------------------------------------------------------------------------------- /panels/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigtreetech/KlipperScreen/79740f27007af99d5abff10b7fd3002a03e036ed/panels/__init__.py -------------------------------------------------------------------------------- /panels/example.py: -------------------------------------------------------------------------------- 1 | import gi 2 | 3 | gi.require_version("Gtk", "3.0") 4 | from gi.repository import Gtk 5 | from ks_includes.screen_panel import ScreenPanel 6 | 7 | 8 | class Panel(ScreenPanel): 9 | def __init__(self, screen, title): 10 | title = title or _("Example") 11 | super().__init__(screen, title) 12 | 13 | # Create gtk items here 14 | 15 | self.content.add(Gtk.Box()) 16 | -------------------------------------------------------------------------------- /scripts/KlipperScreen-requirements.txt: -------------------------------------------------------------------------------- 1 | jinja2==3.1.5;python_version>="3.7" 2 | requests==2.32.3;python_version>="3.8" 3 | sdbus==0.11.1;python_version>="3.8" 4 | sdbus_networkmanager==2.0.0;python_version>="3.8" 5 | 6 | # libmpv-dev 0.33 is required for 1.0 7 | python-mpv==0.5.2;python_version<"3.10" 8 | python-mpv==1.0.7;python_version>="3.10" 9 | 10 | backports.zoneinfo;python_version<"3.9" 11 | 12 | PyGObject==3.48.2;python_version=="3.8" 13 | pycairo==1.26.1;python_version=="3.8" 14 | 15 | PyGObject==3.50.0;python_version>"3.8" 16 | pycairo==1.27.0;python_version>"3.8" 17 | websocket-client==1.8.0;python_version>="3.8" 18 | psutil==6.0.0;python_version>="3.8" 19 | -------------------------------------------------------------------------------- /scripts/KlipperScreen-start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | XDG_RUNTIME_DIR=/run/user/$(id -u) 4 | export XDG_RUNTIME_DIR 5 | 6 | SCRIPTPATH=$(dirname $(realpath $0)) 7 | if [ -f $SCRIPTPATH/launch_KlipperScreen.sh ] 8 | then 9 | echo "Running $SCRIPTPATH/launch_KlipperScreen.sh" 10 | $SCRIPTPATH/launch_KlipperScreen.sh 11 | exit $? 12 | fi 13 | 14 | if [[ "$BACKEND" =~ ^[wW]$ ]]; then 15 | echo "Running KlipperScreen on Cage" 16 | exec /usr/bin/cage -ds $KS_XCLIENT 17 | 18 | else 19 | echo "Running KlipperScreen on X in display :0 by default" 20 | exec /usr/bin/xinit $KS_XCLIENT 21 | fi 22 | -------------------------------------------------------------------------------- /scripts/KlipperScreen.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=KlipperScreen 3 | GenericName=Touch screen GUI for Klipper via Moonraker 4 | Icon=KlipperScreen 5 | Exec=sh -c "$HOME/.KlipperScreen-env/bin/python $HOME/KlipperScreen/screen.py" 6 | Terminal=false 7 | Type=Application 8 | Categories=Graphics;3DGraphics;Engineering; 9 | Keywords=3D;Printing 10 | StartupNotify=false 11 | StartupWMClass=klipper-screen 12 | -------------------------------------------------------------------------------- /scripts/KlipperScreen.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=KlipperScreen 3 | StartLimitIntervalSec=0 4 | # Make sure we are started after logins are permitted. If Plymouth is 5 | # used, we want to start when it is on its way out. 6 | After=systemd-user-sessions.service plymouth-quit-wait.service 7 | # On systems without virtual consoles, do not start. 8 | ConditionPathExists=/dev/tty0 9 | # D-Bus is necessary for contacting logind, which is required. 10 | Wants=dbus.socket systemd-logind.service 11 | After=dbus.socket systemd-logind.service 12 | After=moonraker.service 13 | 14 | [Service] 15 | Type=simple 16 | Restart=always 17 | RestartSec=2 18 | User=KS_USER 19 | SupplementaryGroups=klipperscreen 20 | WorkingDirectory=KS_DIR 21 | Environment="KS_XCLIENT=KS_ENV/bin/python KS_DIR/screen.py" BACKEND=KS_BACKEND 22 | ExecStart="KS_DIR/scripts/KlipperScreen-start.sh" 23 | 24 | # Log this user with utmp, letting it show up with commands 'w' and 25 | # 'who'. This is needed since we replace (a)getty. 26 | UtmpIdentifier=tty7 27 | UtmpMode=user 28 | # Create a PAM session to run pam-systemd, which creates /var/run/$UID 29 | PAMName=%u 30 | # A virtual terminal is needed. 31 | TTYPath=/dev/tty7 32 | TTYReset=yes 33 | TTYVHangup=yes 34 | TTYVTDisallocate=yes 35 | 36 | [Install] 37 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /scripts/Uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Uninstalling KlipperScreen" 4 | echo "" 5 | echo "* Stopping service" 6 | sudo service KlipperScreen stop 7 | echo "* Removing unit file" 8 | sudo rm /etc/systemd/system/KlipperScreen.service 9 | echo "* Removing enviroment" 10 | sudo rm -rf ~/.KlipperScreen-env 11 | echo "!! Please remove $(dirname `pwd`) manually" 12 | echo "Done" 13 | -------------------------------------------------------------------------------- /scripts/build_docs.sh: -------------------------------------------------------------------------------- 1 | # mkdocs build --clean --site-dir _html --config-file mkdocs.yml 2 | # For testing is better to use the integrated server. 3 | mkdocs serve --config-file mkdocs.yml 4 | -------------------------------------------------------------------------------- /scripts/check_code.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pycodestyle --ignore=E402,W503,W504 --max-line-length=120 --max-doc-length=120 screen.py ks_includes panels 4 | -------------------------------------------------------------------------------- /scripts/dev-requirements.txt: -------------------------------------------------------------------------------- 1 | pycodestyle 2 | pygobject-stubs --config-settings=config=Gtk3,Gdk3 3 | -------------------------------------------------------------------------------- /scripts/sample-android-adb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # forward local display :100 to remote display :0 3 | adb forward tcp:6100 tcp:6000 4 | 5 | adb shell dumpsys nfc | grep 'mScreenState=' | grep OFF_LOCKED > /dev/null 2>&1 6 | if [ $? -lt 1 ] 7 | then 8 | echo "Screen is OFF and Locked. Turning screen on..." 9 | adb shell input keyevent 26 10 | fi 11 | 12 | adb shell dumpsys nfc | grep 'mScreenState=' | grep ON_LOCKED> /dev/null 2>&1 13 | if [ $? -lt 1 ] 14 | then 15 | echo "Screen is Locked. Unlocking..." 16 | adb shell input keyevent 82 17 | fi 18 | 19 | # start xsdl 20 | adb shell am start-activity x.org.server/.MainActivity 21 | 22 | ret=1 23 | timeout=0 24 | echo -n "Waiting for x-server to be ready " 25 | while [ $ret -gt 0 ] && [ $timeout -lt 60 ] 26 | do 27 | xset -display :100 -q > /dev/null 2>&1 28 | ret=$? 29 | timeout=$( expr $timeout + 1 ) 30 | echo -n "." 31 | sleep 1 32 | done 33 | echo "" 34 | if [ $timeout -lt 60 ] 35 | then 36 | DISPLAY=:100 $KS_XCLIENT 37 | exit 0 38 | else 39 | exit 1 40 | fi 41 | -------------------------------------------------------------------------------- /scripts/system-dependencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "debian": [ 3 | "libgirepository1.0-dev", 4 | "gcc", 5 | "libcairo2-dev", 6 | "pkg-config", 7 | "python3-dev", 8 | "gir1.2-gtk-3.0", 9 | "fonts-nanum", 10 | "fonts-ipafont", 11 | "libmpv-dev", 12 | "librsvg2-common", 13 | "libopenjp2-7", 14 | "libdbus-glib-1-dev", 15 | "autoconf" 16 | ], 17 | "arch": [ 18 | "cairo", 19 | "pkgconf", 20 | "gobject-introspection", 21 | "gtk3", 22 | "ttf-nanum", 23 | "otf-ipafont", 24 | "mpv", 25 | "librsvg", 26 | "openjpeg2", 27 | "dbus-glib", 28 | "autoconf" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /scripts/update_translation_files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Update pot 4 | xgettext --keyword=_ --keyword=ngettext:1,2 --language=Python --no-location --sort-output \ 5 | -o ks_includes/locales/KlipperScreen.pot \ 6 | *.py \ 7 | ks_includes/*.py \ 8 | ks_includes/widgets/*.py \ 9 | panels/*.py \ 10 | config/*.conf 11 | # Update po 12 | for FILE in ks_includes/locales/*; do 13 | if [ -d $FILE ]; then 14 | echo Processing $FILE 15 | msgmerge -q $FILE/LC_MESSAGES/KlipperScreen.po \ 16 | ks_includes/locales/KlipperScreen.pot \ 17 | -o $FILE/LC_MESSAGES/KlipperScreen.po 18 | # Clean Fuzzy translations 19 | msgattrib --clear-fuzzy --empty -o $FILE/LC_MESSAGES/KlipperScreen.po $FILE/LC_MESSAGES/KlipperScreen.po 20 | # Compile mo 21 | msgfmt -o $FILE/LC_MESSAGES/KlipperScreen.mo $FILE/LC_MESSAGES/KlipperScreen.po 22 | fi 23 | done 24 | -------------------------------------------------------------------------------- /scripts/xsdl_wrapper.sh: -------------------------------------------------------------------------------- 1 | # A wrapper for the popular script for KlipperScreen on Android over adb over USB. 2 | # https://klipper.discourse.group/t/how-to-klipperscreen-on-android-smart-phones/1196 3 | # 4 | # Keeps the process alive while the server is active 5 | # to mimic default X's behaviour and keep the service happy 6 | 7 | if [ -f $PWD/launch_klipperscreen.sh ]; then 8 | exec $PWD/launch_klipperscreen.sh 9 | elif [ ! -f $PWD/launch_klipperscreen.sh ]; then 10 | echo "launch_klipperscreen.sh does not exist" 11 | exit 12 | fi 13 | 14 | ret=1 15 | timeout=0 16 | echo -n "Waiting for X-server to be ready " 17 | while [ $ret -gt 0 ] && [ $timeout -lt 60 ] 18 | do 19 | xset -display :100 -q > /dev/null 2>&1 20 | ret=$? 21 | timeout=$( expr $timeout + 1 ) 22 | echo -n "." 23 | sleep 1 24 | done 25 | echo "" 26 | if [ $timeout -lt 60 ] 27 | then 28 | echo -n "X server found. Monitoring connection" 29 | ret=0 30 | while [ $ret -eq 0 ] 31 | do 32 | xset -display :100 -q > /dev/null 2>&1 33 | ret=$? 34 | sleep 60 35 | done 36 | echo -n "X Server connection lost" 37 | exit 0 38 | 39 | else 40 | echo -n "X server not found" 41 | exit 1 42 | fi 43 | -------------------------------------------------------------------------------- /styles/base.conf: -------------------------------------------------------------------------------- 1 | { 2 | "graph_colors": { 3 | "extruder": { 4 | "colors": ["FF5252", "FF7252", "FF9252", "FFB252", "FFD252"], 5 | "state": 0 6 | }, 7 | "bed": { 8 | "colors": ["1FB0FF"], 9 | "state": 0 10 | }, 11 | "fan": { 12 | "colors": ["3DC25A", "58FC7C", "10EB40", "7EF297"], 13 | "state": 0 14 | }, 15 | "sensor": { 16 | "colors": ["D67600", "830EE3", "B366F2", "E06573", "E38819"], 17 | "state": 0 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /styles/colorized/style.conf: -------------------------------------------------------------------------------- 1 | { 2 | "graph_colors": { 3 | "extruder": { 4 | "colors": ["DC322F", "B58900", "CB4B16", "AA1F1D", "973911"], 5 | "state": 0 6 | }, 7 | "bed": { 8 | "colors": ["268BD2"], 9 | "state": 0 10 | }, 11 | "fan": { 12 | "colors": ["859900", "2AA198", "637300", "1F7A72"], 13 | "state": 0 14 | }, 15 | "sensor": { 16 | "colors": ["D33682", "6C71C4", "C06CC4", "6D26D1", "2A34A1"], 17 | "state": 0 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /styles/complete.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 32 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 32 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-100.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-25.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-50.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-75.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-charging.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/battery-unknown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-b-l.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-b-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-b-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-l-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-r-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-t-l.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-t-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed-level-t-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/bed.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/cancel.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/complete.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/console.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 32 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/decrease.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/extrude.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/extruder.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-dark/images/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/files.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/heat-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/home-x.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/home-y.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/home-z.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/hourglass.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/increase.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/load.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/move.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/resume.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/sd.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/shuffle.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/stop.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/toolchanger.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/z-closer.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/z-farther.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/images/z-tilt.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-dark/style.conf: -------------------------------------------------------------------------------- 1 | { 2 | "graph_colors": { 3 | "extruder": { 4 | "colors": ["C62828", "9C27B0", "F06292", "F44336", "6A1B9A"], 5 | "state": 0 6 | }, 7 | "bed": { 8 | "colors": ["00B0FF"], 9 | "state": 0 10 | }, 11 | "fan": { 12 | "colors": ["558B2F", "8BC34A", "00695C", "009688"], 13 | "state": 0 14 | }, 15 | "sensor": { 16 | "colors": ["FF8F00", "3F51B5", "9E9D24", "CDDC39", "FFC107"], 17 | "state": 0 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /styles/material-darker/images/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 32 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 32 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-100.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-25.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-50.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-75.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-charging.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/battery-unknown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-b-l.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-b-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-b-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-l-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-r-m.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-t-l.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/bed-level-t-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/console.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 32 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/decrease.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/extrude.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/extruder.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-darker/images/filament.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /styles/material-darker/images/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/heat-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/home-x.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/home-y.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/home-z.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/hourglass.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/increase.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/load.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/resume.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/sd.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/shuffle.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/toolchanger.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/z-closer.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/z-farther.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/images/z-tilt.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-darker/style.conf: -------------------------------------------------------------------------------- 1 | { 2 | "graph_colors": { 3 | "extruder": { 4 | "colors": ["C62828", "9C27B0", "F06292", "F44336", "6A1B9A"], 5 | "state": 0 6 | }, 7 | "bed": { 8 | "colors": ["00B0FF"], 9 | "state": 0 10 | }, 11 | "fan": { 12 | "colors": ["558B2F", "8BC34A", "00695C", "009688"], 13 | "state": 0 14 | }, 15 | "sensor": { 16 | "colors": ["FF8F00", "3F51B5", "9E9D24", "CDDC39", "FFC107"], 17 | "state": 0 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /styles/material-light/images/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/arrow-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/back.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/backspace.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/bed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/cancel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/clock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/complete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/console.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /styles/material-light/images/cool-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/custom-script.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/decrease.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /styles/material-light/images/emergency.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extrude.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-10.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-6.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-7.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-8.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder-9.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/extruder.svg: -------------------------------------------------------------------------------- 1 | 2 | 14 | 16 | 34 | 38 | 39 | -------------------------------------------------------------------------------- /styles/material-light/images/fan-on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/fan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/files.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/fine-tune.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/flow+.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/flow-.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/hashtag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/heat-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/heater.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/home-x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/home-y.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/home-z.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/home.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/hourglass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/increase.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/light.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/load.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/main.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /styles/material-light/images/motor-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/move.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/network.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/notifications.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/notifications_active.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/printer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/refresh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/resume.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/retract.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/sd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/shuffle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/shutdown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/speed+.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/speed-.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/toolchanger.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/z-closer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/z-farther.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/images/z-tilt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/material-light/style.conf: -------------------------------------------------------------------------------- 1 | { 2 | "graph_colors": { 3 | "extruder": { 4 | "colors": ["C62828", "9C27B0", "F06292", "F44336", "6A1B9A"], 5 | "state": 0 6 | }, 7 | "bed": { 8 | "colors": ["00B0FF"], 9 | "state": 0 10 | }, 11 | "fan": { 12 | "colors": ["558B2F", "8BC34A", "00695C", "009688"], 13 | "state": 0 14 | }, 15 | "sensor": { 16 | "colors": ["FF8F00", "3F51B5", "9E9D24", "CDDC39", "FFC107"], 17 | "state": 0 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /styles/printers/readme.md: -------------------------------------------------------------------------------- 1 | In this folder add the images for the printer selection screen when using multiple printers 2 | 3 | ** No images will be provided from the main repo ** 4 | 5 | 1. Supported formats: SVG (preferred) or PNG 6 | 2. The name of the image should be exactly equal to the printer name 7 | 8 | -------------------------------------------------------------------------------- /styles/z-bolt/images/warning.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /styles/z-bolt/style.conf: -------------------------------------------------------------------------------- 1 | { 2 | "graph_colors": { 3 | "extruder": { 4 | "colors": ["ED6500", "ED8500", "EDA500", "EDC500", "EDF500"], 5 | "state": 0 6 | }, 7 | "bed": { 8 | "colors": ["009384"], 9 | "state": 0 10 | }, 11 | "fan": { 12 | "colors": ["A7E100", "7ECE21", "AAA920", "AC7140"], 13 | "state": 0 14 | }, 15 | "sensor": { 16 | "colors": ["B10080", "7800B0", "AC4958", "B1A080", "B1C080"], 17 | "state": 0 18 | } 19 | } 20 | } 21 | --------------------------------------------------------------------------------