* feature: add panel component to normalize all panels * feature: add expand function to panel component * chore: remove not used computed value * feature: add slot for override the icon in the panel * chore: remove unused package (vue2-collapse) * feature: change StatusPanel.vue to panel component * feature: add prop to change toolbar color * feature: change MinSettingsPanel.vue to panel component * feature: change MoonrakerStatePanel.vue to panel component * feature: change KlippyStatePanel.vue to panel component * feature: change KlipperWarningsPanel.vue to panel component * feature: change ControlPanel.vue to panel component * feature: change PrintsettingsPanel.vue to panel component * feature: change MiscellaneousPanel.vue to panel component * feature: change ToolsPanel.vue to panel component * feature: change MacrosPanel.vue to panel component * feature: change MiniconsolePanel.vue to panel component * feature: change FarmPrinterPanel.vue to panel component * bugfix: add toolbar zindex to fix panel hover overlay * bugfix: remove toolbar zindex and modify hover effect * bugfix: farmprinter loading state (remove debug output) * feature: add prop to disable margin botton of panel component * feature: change HistoryListPanel.vue to panel component * feature: move history statistics in HistoryStatisticsPanel.vue and use panel component * feature: change ZoffsetPanel.vue to panel component * feature: add slot after toolbar title in panel component * feature: change Heightmap.vue to panel component * feature: change Files.vue to panel component * feature: change Viewer.vue to panel component * feature: add buttons before toolbar in panel component * feature: change ConfigFilesPanel.vue to panel component * feature: change EndstopPanel.vue to panel component * chore: fix typo in card class from ConfigFilesPanel.vue * feature: change LimitsPanel.vue to panel component * feature: change LogfilesPanel.vue to panel component * feature: change SystemPanel.vue to panel component * feature: change UpdatePanel.vue to panel component
…
…
Mainsail
Mainsail a lightweight & responsive web interface for Klipper, the 3D printer firmware. It communicates with Moonraker (Klipper-API) from Arksine.
Mainsail is also available in remote mode on http://my.mainsail.xyz. Find out more.
Screenshots
Features
- Optimized for desktops, tablets and mobile devices
- Supports multiple 3D printers (Printer Farm)
- Localization (i18n)
- File Manager (gcode and config files)
- File Editor (gcode and config files)
- Print History / Stats
- Temperature Presets (with custom gcode)
- Bed Mesh Leveling
- Multi-Webcam support
- Control power devices (relays, TPLink, Tasmota, ..)
- Customizable UI (logos, backgrounds & even custom css)
Get support & assistance
Do you need help or just want to talk? Join us on Discord. We have a very active community.
Have you found a bug? Then we would like you to create an issue.
Support this project
The project is primarily developed and maintained by meteyou. To keep the project going he invests his free time, almost every day. To motivate him (☕🍺😜) there are several ways to support the project.
Credit, sources and inspiration
- Kevin O'Connor for the awesome 3D printer firmware Klipper
- Eric Callahan (arksine) for Moonraker (Klipper API). Without Moonraker, Mainsail would not be possible.
- lixxbox for the Mainsail logo & Docs
- Vue.js: The Progressive JavaScript Framework
- Vuetify: Material Design Component Framework for Vue.js
Massive thanks to the whole Voron Design community. Without them such a project would not be possible.
Languages
Vue
74.7%
TypeScript
24.7%
CSS
0.4%
JavaScript
0.1%