Skip to content

Fix an issue that on Linux the project name or model file name was not displayed in titlebar#12706

Merged
SoftFever merged 5 commits into
mainfrom
feature/optimize_linux_experience
Mar 9, 2026
Merged

Fix an issue that on Linux the project name or model file name was not displayed in titlebar#12706
SoftFever merged 5 commits into
mainfrom
feature/optimize_linux_experience

Conversation

@SoftFever

Copy link
Copy Markdown
Collaborator

Description

Fixes #12636

Screenshots/Recordings/Graphs

Screenshot From 2026-03-10 00-57-28

Tests

Copilot AI review requested due to automatic review settings March 9, 2026 17:00
@SoftFever SoftFever merged commit f310beb into main Mar 9, 2026
8 of 14 checks passed
@SoftFever SoftFever deleted the feature/optimize_linux_experience branch March 9, 2026 17:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes the Linux borderless-window title display regression by ensuring the project/model name (and dirty marker) is propagated to the app’s custom top bar when the system title bar is removed.

Changes:

  • Update project title handling so non-macOS platforms set the custom BBLTopbar title (fixing Linux title display).
  • Adjust platform conditionals around SetTitle()/dirty-state updates to separate macOS behavior.
  • Update Linux build command documentation in CLAUDE.md.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/slic3r/GUI/Plater.cpp Updates title/topbar title propagation for project name and dirty state, especially for Linux CSD/borderless window mode.
CLAUDE.md Updates a documented Linux build command (but currently leaves another Linux build block inconsistent).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CLAUDE.md
Comment on lines 42 to 46
### Building on Linux
**Always use this command to build the project when testing build issues on Linux.**
```bash
cmake --build build/arm64 --config RelWithDebInfo --target all --
cmake --build build --config RelWithDebInfo --target all --

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This updates the Linux build command in the second "Building on Linux" section, but there is still an earlier "Building on Linux" block (around lines 23–28) that references build/arm64. Please update/remove the duplicate section so the Linux build instructions are consistent throughout the document.

Copilot uses AI. Check for mistakes.
Comment thread src/slic3r/GUI/Plater.cpp
wxGetApp().mainframe->SetTitle(title);
wxGetApp().mainframe->update_title_colour_after_set_title();
#else
wxGetApp().mainframe->SetTitle(title);

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In update_title_dirty_status() the non-Apple branch sets the wxFrame title to just title (e.g. *Project), which drops the " - OrcaSlicer" suffix set in set_project_name() and also changes Windows behavior now that __WINDOWS__ falls into this branch. This makes the window/taskbar title inconsistent after the dirty flag toggles. Consider keeping the suffix on non-Apple (or restoring a dedicated __WINDOWS__ branch if Windows should keep the previous behavior).

Suggested change
wxGetApp().mainframe->SetTitle(title);
wxGetApp().mainframe->SetTitle(title + " - OrcaSlicer");

Copilot uses AI. Check for mistakes.
HelioPri added a commit to Helio-Additive/OrcaSlicer that referenced this pull request Mar 23, 2026
* Q2C model and new consumables

* Merge local changes with upstream ones

* Minor tweaks

* Unfix unnecessary line break

* Update Qidi X-Max 4 0.4 nozzle.json

* Tweak before merging upstream changes

* Restore merged changes

* Update Plater.cpp

* Update Plater.cpp

* Update Plater.cpp

* update

* Fix plurals on some GUI strings

* Fix three regressions in the multi-tool extruder tab system: (OrcaSlicer#12680)

1. Dirty flags not showing for extruder options:
2. Crash when switching to non-first extruder tabs:
3. Modifying one extruder's parameter affects other extruders:

* Fix crash when slicing multi-material print with wipe tower (OrcaSlicer#12682)

The WipeTower2 code path never called construct_mesh(), leaving
wipe_tower_mesh_data as std::nullopt. GCode export then dereferenced
it unconditionally, triggering an assertion failure / crash.

* Move adaptive flowrate to developer mode and clarified tooltip (OrcaSlicer#12688)

* Set Adaptive Volumetric Speed as a developer mode setting, and further clarified in the tooltip

* Fixed typo

* Fix for notifications unable to be interacted after gcode viewer collapsed (OrcaSlicer#12689)

JIRA-126

* Fix zoom button tooltip width miscalculation (OrcaSlicer#12692)

wx strings to be converted to utf-8 before doing width calculation for consistency.
 
 JIRA-127

* Disable filament grouping button logic when when not Bambu H2D (OrcaSlicer#12693)

# Description
When using the Bambu H2D, users can use Filament Grouping, a button found next to the bed preview. When not on a H2D profile, the button is hidden. However, it remained usable, and clicking an empty space below all the buttons causes the dialog to appear.

This PR fixes that by adding a check before the button is registered.

Addresses point 9 (focusing on the 2nd bullet) in OrcaSlicer#12684 

## Tests
Tried to click on the empty area right below the column of buttons (see the below images)
Made sure to have the H2D profile loaded as well, and checked that the dialog still opens for that printer.

H2D active
<img width="1635" height="949" alt="image" src="https://github.com/user-attachments/assets/da6fb03b-e3c8-4504-ac60-b96ecc6347dc" />
Area to click for the invisible button
<img width="935" height="788" alt="image" src="https://github.com/user-attachments/assets/1f001bcf-0224-4922-b5bf-47a95820e536" />

* Fix flushing windows dialog able to move around using trackpad and added esc to close dialog (OrcaSlicer#12694)

Added entry to wipingdialog.html css to prevent it from being overscrollable and its position fixed.
Added escape button to close dialog event on both javascript and webview events

JIRA-136

* Remove leftover Bambu warning caption from dialogs (OrcaSlicer#12696)

### Description
A couple of warning dialogs still used a caption containing "**BambuStudio warning**". It is a leftover from the original BambuStudio codebase.

### This PR
- removes the explicit caption so the dialogs use the standard application warning title instead.

### Result
- removes the remaining Bambu reference while keeping the visible behavior consistent with the rest of the UI.
- addresses point 1. of  "New ports from Bambu Studio" section from OrcaSlicer#12684

### Screenshots

- **Before:**
<img width="1352" height="277" alt="image" src="https://github.com/user-attachments/assets/d107acaa-f159-496a-b14e-93cd149bf355" />

- **After:**
<img width="1356" height="278" alt="image" src="https://github.com/user-attachments/assets/e111b5b3-9b3e-4b13-b20d-f98e5173ea16" />

* Added check for esc key to close dialog (OrcaSlicer#12697)

Added wx event for esc to close dialog for filament grouping dialog

JIRA-139

* Fix conversion to wxstring (OrcaSlicer#12698)

Fix obj import dialog encoding for non ASCII letters by making the correct conversion to wxstring

JIRA-137

* Update translate CZ (OrcaSlicer#12640)

Translation added

# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->

* Translate more pt-BR strings (OrcaSlicer#12664)

# Description
Ditto

* Added eSUN Filament PLA Basic, Marble, Matte (OrcaSlicer#12657)

# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->
Added eSUN Filament PLA Basic, Marble, Matte to Orca Filament Library

<img width="811" height="331" alt="image" src="https://github.com/user-attachments/assets/5cda8b59-cd44-4e32-bae0-d08d2346dd39" />


## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
```
./OrcaSlicer_profile_validator -v eSUN
Total loaded vendors: 1
Validation completed successfully
```

* feat: add Creality K2 Support (OrcaSlicer#12662)

* feat: add K2 support

* fix: remove k2 pro from k2 process json

* fix: set correct start gcodes for the nozzles

* Update HU language (OrcaSlicer#12686)

HU language update

* fix: round flush_volumes_matrix values to integers (OrcaSlicer#12672)

When flush_multiplier is applied to flush_volumes_matrix values, the
result can be a decimal (e.g., 272 * 1.3 = 353.6). Some printer firmware
metadata parsers (notably Creality K2) crash when parsing decimal values
in flush_volumes_matrix, causing prints to get stuck at "File selected".

This fix rounds the multiplied values to integers, ensuring compatibility
with firmware that expects integer values in this field.

Fixes compatibility with Creality K2 and potentially other Klipper-based
printers that parse the CONFIG_BLOCK metadata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <[email protected]>

* Standardize strings (OrcaSlicer#12665)

* Standardize view actions

* Standardize the term for "first layer"

---------

Co-authored-by: SoftFever <[email protected]>

* Some QoL tweaks (OrcaSlicer#12700)

* 1. Calculate `FilamentTempType` based on `filament_info.json`, with a fallback to the temperature range.
2. Clean up some strings.

* Update src/slic3r/GUI/ObjColorDialog.cpp

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>

* Add support for esthetic filament sub-types in Snapmaker Printer Agent (OrcaSlicer#12699)

# Description
Esthetic filaments such as wood-infused, matte and marble filaments will now be handled by the Snapmaker printer agent so that they could be matched to more appropriate print profiles instead of generic PLA.

* update

* Fix errors OrcaSlicer_cs.po (OrcaSlicer#12701)

* Optimize linux experience (OrcaSlicer#12705)

* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in titlebar (OrcaSlicer#12706)

* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in title bar

* QoL: Default values in tooltips for Percent, FloatOrPercent, String and Bool options (OrcaSlicer#12508)

QoL: Default values in tooltips for Percent, String and Bool options

* FIX: hidden Line Type Linux (OrcaSlicer#12364)

Fix(GCodeViewer): Resolve z-fighting for wipe, seam, and retract markers using shader depth bias

Co-authored-by: SoftFever <[email protected]>

* QoL: Fix hotkeys blocked in Prepare view when notification is shown (OrcaSlicer#12715)

Fix hotkeys blocked in Prepare view when notification is shown

Restore SetFocus() in the GLCanvas3D mouse-entering handler so the
canvas reclaims wxWidget keyboard focus whenever the mouse enters it
(provided the main window is active). Without this, clicking a sidebar
control or a UI update triggered by slicing could leave the canvas
without focus, causing hotkeys like Tab to stop working until the user
clicked the canvas or dismissed the notification.

* Update Qidi X-Max 4 0.4 nozzle.json

* Remove duplicate items from actual speed plot (OrcaSlicer#12711)

* init

* update

* Fix: Added a warning if the Hollow base pattern is selected for the non-tree supports (OrcaSlicer#12710)

Fixes point 4 of OrcaSlicer#12684

* Calibration dialog Fixes (incorrect validators, scaling issues, UI refinements) (OrcaSlicer#12702)

* Update calib_dlg.cpp

* match validators

* update

* add missing linebreak

* update

* VOLUMIC profils update (OrcaSlicer#12721)

* VOLUMIC profils updates

* Delete resources/profiles/Volumic/EXO42 IDRE_cover.png

* VOLUMIC profils updates

* VOLUMIC profils updates

* Profils bug fix

* VOLUMIC profils updates

* Fix SC2 Stage 2

* Update Volumic.json

* Update BBLTopbar.cpp

* Fixes

* update

* Fix GIT_COMMIT_HASH not set in Flatpak builds (OrcaSlicer#12725)

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Feature/flatpak clang llvm21 (OrcaSlicer#12727)

* Fix GIT_COMMIT_HASH not set in Flatpak builds

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Switch Flatpak build to Clang/LLD via LLVM 21 SDK extension

- Add org.freedesktop.Sdk.Extension.llvm21
- Bump runtime to GNOME 49 (SDK 25.08) for llvm21 availability

* fix build errors and improving build speed for flatpak

* fxi more build errors

* Update error messages for GNOME Platform and SDK versions

* Update OrcaSlicer_ru.po

* fix shaky text while resizing

* simplify solution

* Update Qidi X-Max 4 0.4 nozzle.json (OrcaSlicer#12716)

Update Qidi X-Max 4 0.4 nozzle.json

* Update BBLTopbar.cpp

* fix flatpak build (OrcaSlicer#12738)

remove duplicated code

* Update CC2 Profiles from elegoo slicer (OrcaSlicer#12215)

* Fix CLI segfault (SIGSEGV) when using --info, --slice, or --export-3mf (OrcaSlicer#12719)

In CLI mode, PartPlateList is constructed with a NULL plater pointer
(OrcaSlicer.cpp:3612). When set_shapes() calls PartPlate::set_shape(),
it unconditionally executes render data preparation code that
dereferences the null plater through calls like generate_print_polygon()
→ wxGetApp().plater(), causing a segmentation fault (exit code 139).

This adds a null check on m_plater in PartPlate::set_shape() to skip
the render-only code block that generates logo triangles, print/exclude
polygons, gridlines, icon vertices, and plate name textures.

These rendering operations are not needed in CLI mode and this change
has no impact on GUI mode where m_plater is always valid.

* Feature/fix crash on linux when clicking assemble feature (OrcaSlicer#12739)

* fix crash on Linux when clicking Assemble gizmo

* some qol changes for dev

* Revert "some qol changes for dev"

This reverts commit ffe3213.

* Update calib_dlg.cpp

* Update calib_dlg.cpp

* Update OrcaSlicer_ru.po

* Add the filament id for the box of the Generic PC

* FIX: Divide by zero exception in `InterlockingGenerator` when invalid configuration parameters are used. (fixes bambulab/BambuStudio#9910 )

(cherry picked from commit cdd60ab71f8a3895fcb1345b2ccc2f2f472bf968)

* chore: translate comment for ignoring truncating casts warning

* Allow cancellation during beam interlocking generation

* Disable arc fitting for Qidi processes

Qidi printers run Klipper and we don't want arc fitting enabled for
these.

* Skip top surfaces with non-positive density

Add a guard that skips creating fill params for top surfaces when the configured density is less than or equal to zero. This avoids generating surface fills for zero/negative densities and prevents unnecessary processing or potential errors when top surface density is disabled.

* Fix crash in DiffPresetDialog::update_tree() on preset selection change (OrcaSlicer#12765)

std::map::at() throws std::out_of_range when option.category or
"Basic information" is not present in the tab's category_icon_map,
crashing the app. Replace with a safe find()-based helper lambda
that falls back to an empty string (no icon) when the key is missing.

* Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (OrcaSlicer#12449, OrcaSlicer#12766)

* init

* fix compacting when app open with home tab

* Flow ratio instead flow rate calib

* feat: swap the mmu detection to prefer the more generic moonraker database

Happy Hare now writes mmu lane data to the moonraker db similar to AFC, so we can normalize to the one implementation. For now, i've just re-ordered it so that the moonraker db is checked first. I want this because I've actually updated the happy hare data to include more data than we had access to via the "mmu" object. For happy hare we now have access to vendor name, which we can eventually use to further fine tune the auto-matched filament preset.

* Fix wipe tower placed outside bed boundary on first slice

The wipe tower config position (wipe_tower_x/y) could be outside the
plate boundary (e.g. default y=250 on a 200mm printer). No constraint
was applied at slice time, so the tower was generated out-of-bounds.

* Add wipe_tower_type printer setting to replace vendor-based wipe tower selection

  Previously, wipe tower behavior was determined by checking if the printer
  was a QIDI vendor. This introduces a configurable enum (Type 1 / Type 2)
  so any printer can select its wipe tower implementation. BBL printers
  remain hardcoded to Type 1. Qidi profiles default to Type 1.

* Fix Flatpak missing locale support (OrcaSlicer#12714)

Add the localization/ directory to the Flatpak source list so
run_gettext.sh can compile .po files into .mo translations.

Replace LC_ALL=C.UTF-8 with LC_NUMERIC=C in the entrypoint script
to preserve the user's language settings while still preventing
decimal-separator parsing issues.

* fix crash when opening preference dialog

* small tweak of the script to support Mac

* Fix PR comment posting for fork contributors by splitting into two workflows

  The check_profiles workflow used gh pr comment directly, which fails for
  fork PRs due to read-only GITHUB_TOKEN. Split into artifact upload +
  workflow_run pattern so comments post with proper write permissions.

* Update HU language

Update HU language after the adjustments of OrcaSlicer#12681.

* small tweak

* update

* Add FILL3D PLA Turbo filament profile to OrcaFilamentLibrary

* Update OrcaSlicer_ru.po

* Revert "Fix wipe tower placed outside bed boundary on first slice (OrcaSlicer#12777)"

This reverts commit 494601e, reversing
changes made to d28e964.

* Revert "Fix wipe tower loaded outside of plate boundaries (OrcaSlicer#12191)"

This reverts commit e14e186.

* revist fixes for wipe tower pos issues

* Skip flushing volume validation for multi-tool printers
Flushing volumes only apply to SEMM and BBL printers. Multi-tool printers don't perform filament purging between tool changes, so the zero-volume warning was being incorrectly triggered.

* check precise_z_height and enable_prime_tower conflicts in print validate

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Extend self-hosted runner support to all platforms

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Revert "Extend self-hosted runner support to all platforms"

* CMake: Accept ignored prefixes from build_release_macos.sh

Defaults to ignore:

/opt/local    (MacPorts)
/opt/homebrew (Homebrew on ARM)
/opt/local    (Homebrew on x86)

We want to ignore these paths so any dependencies they might contain don't interfere with the build.

This fixes OrcaSlicer#10460

* Revert "Revert "Extend self-hosted runner support to all platforms" (OrcaSlicer#12827)"

This reverts commit f2eab54, reversing
changes made to 7565b27.

* fix errors

* update cmake to 4.3.x

* minor change

* skip flatpak arm64 for self hosted runners

* tweak

* clean

* skip flatpak

* use clang and lld

* use different cache key for linux clang

* respect clang flag for all deps

* print build time

* simplify mac download

* Security fix: path traversal in 3MF import (OrcaSlicer#12860)

* Update TURKISH translations (OrcaSlicer#12838)

* Update TURKISH translations

* Update TURKISH translations

* Update error Czech translations in OrcaSlicer_cs.po (OrcaSlicer#12641)

Thanks

* Follow-up for PR OrcaSlicer#12773 (OrcaSlicer#12800)

Adapt language files to PR OrcaSlicer#12773

- Language files are adapated for the new msgid from PR OrcaSlicer#12773
- changes from PR OrcaSlicer#12773 applied to APPLE build also

* feat: add winget_updater github action (OrcaSlicer#12807)

Co-authored-by: SoftFever <[email protected]>

* update locale and complete some missing translations for some language(AI)

* fixed an issue that some translations are not used

* Attempt to fix OrcaSlicer_zh_TW.po (OrcaSlicer#12867)

* New de translation  (OrcaSlicer#12875)

* Aktualisiere deutsche Übersetzungen in der i18n-Datei für bessere Klarheit und Konsistenz

* Update German localization for OrcaSlicer

- Improved translations for various messages, ensuring clarity and consistency.
- Corrected terminology for technical terms such as "flow ratio" and "emboss text object."
- Adjusted phrasing for better readability and grammatical accuracy.
- Removed redundant or unclear phrases to streamline user experience.
- Added new entries for warnings and notifications related to printer operations.

* typo

* update flatpak app id and add migration code (OrcaSlicer#12879)

* update flatpak app id and add migration code

* tweak some text

* Optimised for the Artillery M1 Pro printer (OrcaSlicer#12885)

* Optimised for the Artillery M1 Pro printer

* tidy up

---------

Co-authored-by: SoftFever <[email protected]>

* Set exclude objects to enabled by default to support dynamic MBL (OrcaSlicer#12869)

Set exclude objects to enabled by default to support dynamic mesh bed leveling.

* Add Anet A8 Plus (OrcaSlicer#12792)

* Add Anet A8 Plus support because the folks in OrcaSlicer didn't

* Fix the structure also import the orca_printer file to get the process

* asdsadasd

* tidy up and bump profile version (OrcaSlicer#12889)

* tidy up and bump profile version

* fix error

* tidy up

* fix

* tide up more

* fix errors

* fix more errors

---------

Co-authored-by: HYzd766 <[email protected]>
Co-authored-by: HYzd766 <[email protected]>
Co-authored-by: Felix14_v2 <[email protected]>
Co-authored-by: yw4z <[email protected]>
Co-authored-by: Alexandre Folle de Menezes <[email protected]>
Co-authored-by: SoftFever <[email protected]>
Co-authored-by: Sabriel-Koh <[email protected]>
Co-authored-by: Derrick <[email protected]>
Co-authored-by: Kiss Lorand <[email protected]>
Co-authored-by: Jakub Hencl <[email protected]>
Co-authored-by: Schildkroet <[email protected]>
Co-authored-by: Olof Larsson <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: gaaat98 <[email protected]>
Co-authored-by: Rodrigo Faselli <[email protected]>
Co-authored-by: Valerii Bokhan <[email protected]>
Co-authored-by: tome9111991 <[email protected]>
Co-authored-by: VOLUMIC <[email protected]>
Co-authored-by: TheLegendTubaGuy <[email protected]>
Co-authored-by: Niccolo <[email protected]>
Co-authored-by: Max Paperno <[email protected]>
Co-authored-by: Bent Hillerkus <[email protected]>
Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: TheLegendTubaGuy <[email protected]>
Co-authored-by: Branden Cash <[email protected]>
Co-authored-by: kisslorand <[email protected]>
Co-authored-by: julianramirezarango-source <[email protected]>
Co-authored-by: Felix14_v2 <[email protected]>
Co-authored-by: Kevin J. Lynagh <[email protected]>
Co-authored-by: GlauTech <[email protected]>
Co-authored-by: Alessio Tudisco <[email protected]>
Co-authored-by: Heiko Liebscher <[email protected]>
Co-authored-by: liuyingmo <[email protected]>
Co-authored-by: liutang <[email protected]>
Co-authored-by: Ezzeldin Ahmed <[email protected]>
kisslorand added a commit to kisslorand/OrcaSlicer that referenced this pull request Mar 25, 2026
On Windows, opening a model file while OrcaSlicer is already running could
fail when single-instance mode was enabled.

The second launch correctly detected that another instance already existed,
but it could no longer find the running main window to forward the file-open
request. As a result, the new process exited and the file was dropped.

This happened because the existing-instance lookup depended on the native
window title containing "OrcaSlicer". After the titlebar change from OrcaSlicer#12706,
the title may contain only the project name, so the running instance was no
longer discoverable that way.

Fix this by identifying the existing main window through stable window
properties instead of title text:
- require the expected wxWidgets window class
- require the instance hash properties to exist
- match against the current instance hash

This restores forwarding of externally opened files to the already-running
instance without depending on the current titlebar text.
kisslorand added a commit to kisslorand/OrcaSlicer that referenced this pull request Mar 25, 2026
On Windows, opening a model file while OrcaSlicer is already running could
fail when single-instance mode was enabled.

The second launch correctly detected that another instance already existed,
but it could no longer find the running main window to forward the file-open
request. As a result, the new process exited and the file was dropped.

This happened because the existing-instance lookup depended on the native
window title containing "OrcaSlicer". After the titlebar change from OrcaSlicer#12706,
the title may contain only the project name, so the running instance was no
longer discoverable that way.

Fix this by identifying the existing main window through stable window
properties instead of title text:
- require the expected wxWidgets window class
- require the instance hash properties to exist
- match against the current instance hash

This restores forwarding of externally opened files to the already-running
instance without depending on the current titlebar text.
kisslorand added a commit to kisslorand/OrcaSlicer that referenced this pull request Apr 21, 2026
On Windows, opening a model file while OrcaSlicer is already running could
fail when single-instance mode was enabled.

The second launch correctly detected that another instance already existed,
but it could no longer find the running main window to forward the file-open
request. As a result, the new process exited and the file was dropped.

This happened because the existing-instance lookup depended on the native
window title containing "OrcaSlicer". After the titlebar change from OrcaSlicer#12706,
the title may contain only the project name, so the running instance was no
longer discoverable that way.

Fix this by identifying the existing main window through stable window
properties instead of title text:
- require the expected wxWidgets window class
- require the instance hash properties to exist
- match against the current instance hash

This restores forwarding of externally opened files to the already-running
instance without depending on the current titlebar text.
kisslorand added a commit to kisslorand/OrcaSlicer that referenced this pull request Apr 21, 2026
On Windows, opening a model file while OrcaSlicer is already running could
fail when single-instance mode was enabled.

The second launch correctly detected that another instance already existed,
but it could no longer find the running main window to forward the file-open
request. As a result, the new process exited and the file was dropped.

This happened because the existing-instance lookup depended on the native
window title containing "OrcaSlicer". After the titlebar change from OrcaSlicer#12706,
the title may contain only the project name, so the running instance was no
longer discoverable that way.

Fix this by identifying the existing main window through stable window
properties instead of title text:
- require the expected wxWidgets window class
- require the instance hash properties to exist
- match against the current instance hash

This restores forwarding of externally opened files to the already-running
instance without depending on the current titlebar text.
HelioPri added a commit to Helio-Additive/OrcaSlicer that referenced this pull request Apr 24, 2026
* Q2C model and new consumables

* Merge local changes with upstream ones

* Minor tweaks

* Unfix unnecessary line break

* Update Qidi X-Max 4 0.4 nozzle.json

* Tweak before merging upstream changes

* Restore merged changes

* Update Plater.cpp

* Update Plater.cpp

* Update Plater.cpp

* update

* Fix plurals on some GUI strings

* Fix three regressions in the multi-tool extruder tab system: (OrcaSlicer#12680)

1. Dirty flags not showing for extruder options:
2. Crash when switching to non-first extruder tabs:
3. Modifying one extruder's parameter affects other extruders:

* Fix crash when slicing multi-material print with wipe tower (OrcaSlicer#12682)

The WipeTower2 code path never called construct_mesh(), leaving
wipe_tower_mesh_data as std::nullopt. GCode export then dereferenced
it unconditionally, triggering an assertion failure / crash.

* Move adaptive flowrate to developer mode and clarified tooltip (OrcaSlicer#12688)

* Set Adaptive Volumetric Speed as a developer mode setting, and further clarified in the tooltip

* Fixed typo

* Fix for notifications unable to be interacted after gcode viewer collapsed (OrcaSlicer#12689)

JIRA-126

* Fix zoom button tooltip width miscalculation (OrcaSlicer#12692)

wx strings to be converted to utf-8 before doing width calculation for consistency.
 
 JIRA-127

* Disable filament grouping button logic when when not Bambu H2D (OrcaSlicer#12693)

# Description
When using the Bambu H2D, users can use Filament Grouping, a button found next to the bed preview. When not on a H2D profile, the button is hidden. However, it remained usable, and clicking an empty space below all the buttons causes the dialog to appear.

This PR fixes that by adding a check before the button is registered.

Addresses point 9 (focusing on the 2nd bullet) in OrcaSlicer#12684 

## Tests
Tried to click on the empty area right below the column of buttons (see the below images)
Made sure to have the H2D profile loaded as well, and checked that the dialog still opens for that printer.

H2D active
<img width="1635" height="949" alt="image" src="https://github.com/user-attachments/assets/da6fb03b-e3c8-4504-ac60-b96ecc6347dc" />
Area to click for the invisible button
<img width="935" height="788" alt="image" src="https://github.com/user-attachments/assets/1f001bcf-0224-4922-b5bf-47a95820e536" />

* Fix flushing windows dialog able to move around using trackpad and added esc to close dialog (OrcaSlicer#12694)

Added entry to wipingdialog.html css to prevent it from being overscrollable and its position fixed.
Added escape button to close dialog event on both javascript and webview events

JIRA-136

* Remove leftover Bambu warning caption from dialogs (OrcaSlicer#12696)

### Description
A couple of warning dialogs still used a caption containing "**BambuStudio warning**". It is a leftover from the original BambuStudio codebase.

### This PR
- removes the explicit caption so the dialogs use the standard application warning title instead.

### Result
- removes the remaining Bambu reference while keeping the visible behavior consistent with the rest of the UI.
- addresses point 1. of  "New ports from Bambu Studio" section from OrcaSlicer#12684

### Screenshots

- **Before:**
<img width="1352" height="277" alt="image" src="https://github.com/user-attachments/assets/d107acaa-f159-496a-b14e-93cd149bf355" />

- **After:**
<img width="1356" height="278" alt="image" src="https://github.com/user-attachments/assets/e111b5b3-9b3e-4b13-b20d-f98e5173ea16" />

* Added check for esc key to close dialog (OrcaSlicer#12697)

Added wx event for esc to close dialog for filament grouping dialog

JIRA-139

* Fix conversion to wxstring (OrcaSlicer#12698)

Fix obj import dialog encoding for non ASCII letters by making the correct conversion to wxstring

JIRA-137

* Update translate CZ (OrcaSlicer#12640)

Translation added

# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->

* Translate more pt-BR strings (OrcaSlicer#12664)

# Description
Ditto

* Added eSUN Filament PLA Basic, Marble, Matte (OrcaSlicer#12657)

# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->
Added eSUN Filament PLA Basic, Marble, Matte to Orca Filament Library

<img width="811" height="331" alt="image" src="https://github.com/user-attachments/assets/5cda8b59-cd44-4e32-bae0-d08d2346dd39" />


## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
```
./OrcaSlicer_profile_validator -v eSUN
Total loaded vendors: 1
Validation completed successfully
```

* feat: add Creality K2 Support (OrcaSlicer#12662)

* feat: add K2 support

* fix: remove k2 pro from k2 process json

* fix: set correct start gcodes for the nozzles

* Update HU language (OrcaSlicer#12686)

HU language update

* fix: round flush_volumes_matrix values to integers (OrcaSlicer#12672)

When flush_multiplier is applied to flush_volumes_matrix values, the
result can be a decimal (e.g., 272 * 1.3 = 353.6). Some printer firmware
metadata parsers (notably Creality K2) crash when parsing decimal values
in flush_volumes_matrix, causing prints to get stuck at "File selected".

This fix rounds the multiplied values to integers, ensuring compatibility
with firmware that expects integer values in this field.

Fixes compatibility with Creality K2 and potentially other Klipper-based
printers that parse the CONFIG_BLOCK metadata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <[email protected]>

* Standardize strings (OrcaSlicer#12665)

* Standardize view actions

* Standardize the term for "first layer"

---------

Co-authored-by: SoftFever <[email protected]>

* Some QoL tweaks (OrcaSlicer#12700)

* 1. Calculate `FilamentTempType` based on `filament_info.json`, with a fallback to the temperature range.
2. Clean up some strings.

* Update src/slic3r/GUI/ObjColorDialog.cpp

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>

* Add support for esthetic filament sub-types in Snapmaker Printer Agent (OrcaSlicer#12699)

# Description
Esthetic filaments such as wood-infused, matte and marble filaments will now be handled by the Snapmaker printer agent so that they could be matched to more appropriate print profiles instead of generic PLA.

* update

* Fix errors OrcaSlicer_cs.po (OrcaSlicer#12701)

* Optimize linux experience (OrcaSlicer#12705)

* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in titlebar (OrcaSlicer#12706)

* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in title bar

* QoL: Default values in tooltips for Percent, FloatOrPercent, String and Bool options (OrcaSlicer#12508)

QoL: Default values in tooltips for Percent, String and Bool options

* FIX: hidden Line Type Linux (OrcaSlicer#12364)

Fix(GCodeViewer): Resolve z-fighting for wipe, seam, and retract markers using shader depth bias

Co-authored-by: SoftFever <[email protected]>

* QoL: Fix hotkeys blocked in Prepare view when notification is shown (OrcaSlicer#12715)

Fix hotkeys blocked in Prepare view when notification is shown

Restore SetFocus() in the GLCanvas3D mouse-entering handler so the
canvas reclaims wxWidget keyboard focus whenever the mouse enters it
(provided the main window is active). Without this, clicking a sidebar
control or a UI update triggered by slicing could leave the canvas
without focus, causing hotkeys like Tab to stop working until the user
clicked the canvas or dismissed the notification.

* Update Qidi X-Max 4 0.4 nozzle.json

* Remove duplicate items from actual speed plot (OrcaSlicer#12711)

* init

* update

* Fix: Added a warning if the Hollow base pattern is selected for the non-tree supports (OrcaSlicer#12710)

Fixes point 4 of OrcaSlicer#12684

* Calibration dialog Fixes (incorrect validators, scaling issues, UI refinements) (OrcaSlicer#12702)

* Update calib_dlg.cpp

* match validators

* update

* add missing linebreak

* update

* VOLUMIC profils update (OrcaSlicer#12721)

* VOLUMIC profils updates

* Delete resources/profiles/Volumic/EXO42 IDRE_cover.png

* VOLUMIC profils updates

* VOLUMIC profils updates

* Profils bug fix

* VOLUMIC profils updates

* Fix SC2 Stage 2

* Update Volumic.json

* Update BBLTopbar.cpp

* Fixes

* update

* Fix GIT_COMMIT_HASH not set in Flatpak builds (OrcaSlicer#12725)

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Feature/flatpak clang llvm21 (OrcaSlicer#12727)

* Fix GIT_COMMIT_HASH not set in Flatpak builds

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Switch Flatpak build to Clang/LLD via LLVM 21 SDK extension

- Add org.freedesktop.Sdk.Extension.llvm21
- Bump runtime to GNOME 49 (SDK 25.08) for llvm21 availability

* fix build errors and improving build speed for flatpak

* fxi more build errors

* Update error messages for GNOME Platform and SDK versions

* Update OrcaSlicer_ru.po

* fix shaky text while resizing

* simplify solution

* Update Qidi X-Max 4 0.4 nozzle.json (OrcaSlicer#12716)

Update Qidi X-Max 4 0.4 nozzle.json

* Update BBLTopbar.cpp

* fix flatpak build (OrcaSlicer#12738)

remove duplicated code

* Update CC2 Profiles from elegoo slicer (OrcaSlicer#12215)

* Fix CLI segfault (SIGSEGV) when using --info, --slice, or --export-3mf (OrcaSlicer#12719)

In CLI mode, PartPlateList is constructed with a NULL plater pointer
(OrcaSlicer.cpp:3612). When set_shapes() calls PartPlate::set_shape(),
it unconditionally executes render data preparation code that
dereferences the null plater through calls like generate_print_polygon()
→ wxGetApp().plater(), causing a segmentation fault (exit code 139).

This adds a null check on m_plater in PartPlate::set_shape() to skip
the render-only code block that generates logo triangles, print/exclude
polygons, gridlines, icon vertices, and plate name textures.

These rendering operations are not needed in CLI mode and this change
has no impact on GUI mode where m_plater is always valid.

* Feature/fix crash on linux when clicking assemble feature (OrcaSlicer#12739)

* fix crash on Linux when clicking Assemble gizmo

* some qol changes for dev

* Revert "some qol changes for dev"

This reverts commit ffe3213.

* Update calib_dlg.cpp

* Update calib_dlg.cpp

* Update OrcaSlicer_ru.po

* Add the filament id for the box of the Generic PC

* FIX: Divide by zero exception in `InterlockingGenerator` when invalid configuration parameters are used. (fixes bambulab/BambuStudio#9910 )

(cherry picked from commit cdd60ab71f8a3895fcb1345b2ccc2f2f472bf968)

* chore: translate comment for ignoring truncating casts warning

* Allow cancellation during beam interlocking generation

* Disable arc fitting for Qidi processes

Qidi printers run Klipper and we don't want arc fitting enabled for
these.

* Skip top surfaces with non-positive density

Add a guard that skips creating fill params for top surfaces when the configured density is less than or equal to zero. This avoids generating surface fills for zero/negative densities and prevents unnecessary processing or potential errors when top surface density is disabled.

* Fix crash in DiffPresetDialog::update_tree() on preset selection change (OrcaSlicer#12765)

std::map::at() throws std::out_of_range when option.category or
"Basic information" is not present in the tab's category_icon_map,
crashing the app. Replace with a safe find()-based helper lambda
that falls back to an empty string (no icon) when the key is missing.

* Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (OrcaSlicer#12449, OrcaSlicer#12766)

* init

* fix compacting when app open with home tab

* Flow ratio instead flow rate calib

* feat: swap the mmu detection to prefer the more generic moonraker database

Happy Hare now writes mmu lane data to the moonraker db similar to AFC, so we can normalize to the one implementation. For now, i've just re-ordered it so that the moonraker db is checked first. I want this because I've actually updated the happy hare data to include more data than we had access to via the "mmu" object. For happy hare we now have access to vendor name, which we can eventually use to further fine tune the auto-matched filament preset.

* Fix wipe tower placed outside bed boundary on first slice

The wipe tower config position (wipe_tower_x/y) could be outside the
plate boundary (e.g. default y=250 on a 200mm printer). No constraint
was applied at slice time, so the tower was generated out-of-bounds.

* Add wipe_tower_type printer setting to replace vendor-based wipe tower selection

  Previously, wipe tower behavior was determined by checking if the printer
  was a QIDI vendor. This introduces a configurable enum (Type 1 / Type 2)
  so any printer can select its wipe tower implementation. BBL printers
  remain hardcoded to Type 1. Qidi profiles default to Type 1.

* Fix Flatpak missing locale support (OrcaSlicer#12714)

Add the localization/ directory to the Flatpak source list so
run_gettext.sh can compile .po files into .mo translations.

Replace LC_ALL=C.UTF-8 with LC_NUMERIC=C in the entrypoint script
to preserve the user's language settings while still preventing
decimal-separator parsing issues.

* fix crash when opening preference dialog

* small tweak of the script to support Mac

* Fix PR comment posting for fork contributors by splitting into two workflows

  The check_profiles workflow used gh pr comment directly, which fails for
  fork PRs due to read-only GITHUB_TOKEN. Split into artifact upload +
  workflow_run pattern so comments post with proper write permissions.

* Update HU language

Update HU language after the adjustments of OrcaSlicer#12681.

* small tweak

* update

* Add FILL3D PLA Turbo filament profile to OrcaFilamentLibrary

* Update OrcaSlicer_ru.po

* Revert "Fix wipe tower placed outside bed boundary on first slice (OrcaSlicer#12777)"

This reverts commit 494601e, reversing
changes made to d28e964.

* Revert "Fix wipe tower loaded outside of plate boundaries (OrcaSlicer#12191)"

This reverts commit e14e186.

* revist fixes for wipe tower pos issues

* Skip flushing volume validation for multi-tool printers
Flushing volumes only apply to SEMM and BBL printers. Multi-tool printers don't perform filament purging between tool changes, so the zero-volume warning was being incorrectly triggered.

* check precise_z_height and enable_prime_tower conflicts in print validate

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Extend self-hosted runner support to all platforms

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Revert "Extend self-hosted runner support to all platforms"

* CMake: Accept ignored prefixes from build_release_macos.sh

Defaults to ignore:

/opt/local    (MacPorts)
/opt/homebrew (Homebrew on ARM)
/opt/local    (Homebrew on x86)

We want to ignore these paths so any dependencies they might contain don't interfere with the build.

This fixes OrcaSlicer#10460

* Revert "Revert "Extend self-hosted runner support to all platforms" (OrcaSlicer#12827)"

This reverts commit f2eab54, reversing
changes made to 7565b27.

* fix errors

* update cmake to 4.3.x

* minor change

* skip flatpak arm64 for self hosted runners

* tweak

* clean

* skip flatpak

* use clang and lld

* use different cache key for linux clang

* respect clang flag for all deps

* print build time

* simplify mac download

* Security fix: path traversal in 3MF import (OrcaSlicer#12860)

* Update TURKISH translations (OrcaSlicer#12838)

* Update TURKISH translations

* Update TURKISH translations

* Update error Czech translations in OrcaSlicer_cs.po (OrcaSlicer#12641)

Thanks

* Follow-up for PR OrcaSlicer#12773 (OrcaSlicer#12800)

Adapt language files to PR OrcaSlicer#12773

- Language files are adapated for the new msgid from PR OrcaSlicer#12773
- changes from PR OrcaSlicer#12773 applied to APPLE build also

* feat: add winget_updater github action (OrcaSlicer#12807)

Co-authored-by: SoftFever <[email protected]>

* update locale and complete some missing translations for some language(AI)

* fixed an issue that some translations are not used

* Attempt to fix OrcaSlicer_zh_TW.po (OrcaSlicer#12867)

* New de translation  (OrcaSlicer#12875)

* Aktualisiere deutsche Übersetzungen in der i18n-Datei für bessere Klarheit und Konsistenz

* Update German localization for OrcaSlicer

- Improved translations for various messages, ensuring clarity and consistency.
- Corrected terminology for technical terms such as "flow ratio" and "emboss text object."
- Adjusted phrasing for better readability and grammatical accuracy.
- Removed redundant or unclear phrases to streamline user experience.
- Added new entries for warnings and notifications related to printer operations.

* typo

* update flatpak app id and add migration code (OrcaSlicer#12879)

* update flatpak app id and add migration code

* tweak some text

* Optimised for the Artillery M1 Pro printer (OrcaSlicer#12885)

* Optimised for the Artillery M1 Pro printer

* tidy up

---------

Co-authored-by: SoftFever <[email protected]>

* Set exclude objects to enabled by default to support dynamic MBL (OrcaSlicer#12869)

Set exclude objects to enabled by default to support dynamic mesh bed leveling.

* Add Anet A8 Plus (OrcaSlicer#12792)

* Add Anet A8 Plus support because the folks in OrcaSlicer didn't

* Fix the structure also import the orca_printer file to get the process

* asdsadasd

* tidy up and bump profile version (OrcaSlicer#12889)

* tidy up and bump profile version

* fix error

* tidy up

* fix

* tide up more

* fix errors

* fix more errors

* bump version to 2.3.2

---------

Co-authored-by: HYzd766 <[email protected]>
Co-authored-by: HYzd766 <[email protected]>
Co-authored-by: Felix14_v2 <[email protected]>
Co-authored-by: yw4z <[email protected]>
Co-authored-by: Alexandre Folle de Menezes <[email protected]>
Co-authored-by: SoftFever <[email protected]>
Co-authored-by: Sabriel-Koh <[email protected]>
Co-authored-by: Derrick <[email protected]>
Co-authored-by: Kiss Lorand <[email protected]>
Co-authored-by: Jakub Hencl <[email protected]>
Co-authored-by: Schildkroet <[email protected]>
Co-authored-by: Olof Larsson <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: gaaat98 <[email protected]>
Co-authored-by: Rodrigo Faselli <[email protected]>
Co-authored-by: Valerii Bokhan <[email protected]>
Co-authored-by: tome9111991 <[email protected]>
Co-authored-by: VOLUMIC <[email protected]>
Co-authored-by: TheLegendTubaGuy <[email protected]>
Co-authored-by: Niccolo <[email protected]>
Co-authored-by: Max Paperno <[email protected]>
Co-authored-by: Bent Hillerkus <[email protected]>
Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: TheLegendTubaGuy <[email protected]>
Co-authored-by: Branden Cash <[email protected]>
Co-authored-by: kisslorand <[email protected]>
Co-authored-by: julianramirezarango-source <[email protected]>
Co-authored-by: Felix14_v2 <[email protected]>
Co-authored-by: Kevin J. Lynagh <[email protected]>
Co-authored-by: GlauTech <[email protected]>
Co-authored-by: Alessio Tudisco <[email protected]>
Co-authored-by: Heiko Liebscher <[email protected]>
Co-authored-by: liuyingmo <[email protected]>
Co-authored-by: liutang <[email protected]>
Co-authored-by: Ezzeldin Ahmed <[email protected]>
Co-authored-by: Claude Code <[email protected]>
HelioPri added a commit to Helio-Additive/OrcaSlicer that referenced this pull request May 12, 2026
* Q2C model and new consumables

* Merge local changes with upstream ones

* Minor tweaks

* Unfix unnecessary line break

* Update Qidi X-Max 4 0.4 nozzle.json

* Tweak before merging upstream changes

* Restore merged changes

* Update Plater.cpp

* Update Plater.cpp

* Update Plater.cpp

* update

* Fix plurals on some GUI strings

* Fix three regressions in the multi-tool extruder tab system: (OrcaSlicer#12680)

1. Dirty flags not showing for extruder options:
2. Crash when switching to non-first extruder tabs:
3. Modifying one extruder's parameter affects other extruders:

* Fix crash when slicing multi-material print with wipe tower (OrcaSlicer#12682)

The WipeTower2 code path never called construct_mesh(), leaving
wipe_tower_mesh_data as std::nullopt. GCode export then dereferenced
it unconditionally, triggering an assertion failure / crash.

* Move adaptive flowrate to developer mode and clarified tooltip (OrcaSlicer#12688)

* Set Adaptive Volumetric Speed as a developer mode setting, and further clarified in the tooltip

* Fixed typo

* Fix for notifications unable to be interacted after gcode viewer collapsed (OrcaSlicer#12689)

JIRA-126

* Fix zoom button tooltip width miscalculation (OrcaSlicer#12692)

wx strings to be converted to utf-8 before doing width calculation for consistency.
 
 JIRA-127

* Disable filament grouping button logic when when not Bambu H2D (OrcaSlicer#12693)

# Description
When using the Bambu H2D, users can use Filament Grouping, a button found next to the bed preview. When not on a H2D profile, the button is hidden. However, it remained usable, and clicking an empty space below all the buttons causes the dialog to appear.

This PR fixes that by adding a check before the button is registered.

Addresses point 9 (focusing on the 2nd bullet) in OrcaSlicer#12684 

## Tests
Tried to click on the empty area right below the column of buttons (see the below images)
Made sure to have the H2D profile loaded as well, and checked that the dialog still opens for that printer.

H2D active
<img width="1635" height="949" alt="image" src="https://github.com/user-attachments/assets/da6fb03b-e3c8-4504-ac60-b96ecc6347dc" />
Area to click for the invisible button
<img width="935" height="788" alt="image" src="https://github.com/user-attachments/assets/1f001bcf-0224-4922-b5bf-47a95820e536" />

* Fix flushing windows dialog able to move around using trackpad and added esc to close dialog (OrcaSlicer#12694)

Added entry to wipingdialog.html css to prevent it from being overscrollable and its position fixed.
Added escape button to close dialog event on both javascript and webview events

JIRA-136

* Remove leftover Bambu warning caption from dialogs (OrcaSlicer#12696)

### Description
A couple of warning dialogs still used a caption containing "**BambuStudio warning**". It is a leftover from the original BambuStudio codebase.

### This PR
- removes the explicit caption so the dialogs use the standard application warning title instead.

### Result
- removes the remaining Bambu reference while keeping the visible behavior consistent with the rest of the UI.
- addresses point 1. of  "New ports from Bambu Studio" section from OrcaSlicer#12684

### Screenshots

- **Before:**
<img width="1352" height="277" alt="image" src="https://github.com/user-attachments/assets/d107acaa-f159-496a-b14e-93cd149bf355" />

- **After:**
<img width="1356" height="278" alt="image" src="https://github.com/user-attachments/assets/e111b5b3-9b3e-4b13-b20d-f98e5173ea16" />

* Added check for esc key to close dialog (OrcaSlicer#12697)

Added wx event for esc to close dialog for filament grouping dialog

JIRA-139

* Fix conversion to wxstring (OrcaSlicer#12698)

Fix obj import dialog encoding for non ASCII letters by making the correct conversion to wxstring

JIRA-137

* Update translate CZ (OrcaSlicer#12640)

Translation added

# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->

* Translate more pt-BR strings (OrcaSlicer#12664)

# Description
Ditto

* Added eSUN Filament PLA Basic, Marble, Matte (OrcaSlicer#12657)

# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->
Added eSUN Filament PLA Basic, Marble, Matte to Orca Filament Library

<img width="811" height="331" alt="image" src="https://github.com/user-attachments/assets/5cda8b59-cd44-4e32-bae0-d08d2346dd39" />


## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
```
./OrcaSlicer_profile_validator -v eSUN
Total loaded vendors: 1
Validation completed successfully
```

* feat: add Creality K2 Support (OrcaSlicer#12662)

* feat: add K2 support

* fix: remove k2 pro from k2 process json

* fix: set correct start gcodes for the nozzles

* Update HU language (OrcaSlicer#12686)

HU language update

* fix: round flush_volumes_matrix values to integers (OrcaSlicer#12672)

When flush_multiplier is applied to flush_volumes_matrix values, the
result can be a decimal (e.g., 272 * 1.3 = 353.6). Some printer firmware
metadata parsers (notably Creality K2) crash when parsing decimal values
in flush_volumes_matrix, causing prints to get stuck at "File selected".

This fix rounds the multiplied values to integers, ensuring compatibility
with firmware that expects integer values in this field.

Fixes compatibility with Creality K2 and potentially other Klipper-based
printers that parse the CONFIG_BLOCK metadata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <[email protected]>

* Standardize strings (OrcaSlicer#12665)

* Standardize view actions

* Standardize the term for "first layer"

---------

Co-authored-by: SoftFever <[email protected]>

* Some QoL tweaks (OrcaSlicer#12700)

* 1. Calculate `FilamentTempType` based on `filament_info.json`, with a fallback to the temperature range.
2. Clean up some strings.

* Update src/slic3r/GUI/ObjColorDialog.cpp

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>

* Add support for esthetic filament sub-types in Snapmaker Printer Agent (OrcaSlicer#12699)

# Description
Esthetic filaments such as wood-infused, matte and marble filaments will now be handled by the Snapmaker printer agent so that they could be matched to more appropriate print profiles instead of generic PLA.

* update

* Fix errors OrcaSlicer_cs.po (OrcaSlicer#12701)

* Optimize linux experience (OrcaSlicer#12705)

* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in titlebar (OrcaSlicer#12706)

* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in title bar

* QoL: Default values in tooltips for Percent, FloatOrPercent, String and Bool options (OrcaSlicer#12508)

QoL: Default values in tooltips for Percent, String and Bool options

* FIX: hidden Line Type Linux (OrcaSlicer#12364)

Fix(GCodeViewer): Resolve z-fighting for wipe, seam, and retract markers using shader depth bias

Co-authored-by: SoftFever <[email protected]>

* QoL: Fix hotkeys blocked in Prepare view when notification is shown (OrcaSlicer#12715)

Fix hotkeys blocked in Prepare view when notification is shown

Restore SetFocus() in the GLCanvas3D mouse-entering handler so the
canvas reclaims wxWidget keyboard focus whenever the mouse enters it
(provided the main window is active). Without this, clicking a sidebar
control or a UI update triggered by slicing could leave the canvas
without focus, causing hotkeys like Tab to stop working until the user
clicked the canvas or dismissed the notification.

* Update Qidi X-Max 4 0.4 nozzle.json

* Remove duplicate items from actual speed plot (OrcaSlicer#12711)

* init

* update

* Fix: Added a warning if the Hollow base pattern is selected for the non-tree supports (OrcaSlicer#12710)

Fixes point 4 of OrcaSlicer#12684

* Calibration dialog Fixes (incorrect validators, scaling issues, UI refinements) (OrcaSlicer#12702)

* Update calib_dlg.cpp

* match validators

* update

* add missing linebreak

* update

* VOLUMIC profils update (OrcaSlicer#12721)

* VOLUMIC profils updates

* Delete resources/profiles/Volumic/EXO42 IDRE_cover.png

* VOLUMIC profils updates

* VOLUMIC profils updates

* Profils bug fix

* VOLUMIC profils updates

* Fix SC2 Stage 2

* Update Volumic.json

* Update BBLTopbar.cpp

* Fixes

* update

* Fix GIT_COMMIT_HASH not set in Flatpak builds (OrcaSlicer#12725)

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Feature/flatpak clang llvm21 (OrcaSlicer#12727)

* Fix GIT_COMMIT_HASH not set in Flatpak builds

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Switch Flatpak build to Clang/LLD via LLVM 21 SDK extension

- Add org.freedesktop.Sdk.Extension.llvm21
- Bump runtime to GNOME 49 (SDK 25.08) for llvm21 availability

* fix build errors and improving build speed for flatpak

* fxi more build errors

* Update error messages for GNOME Platform and SDK versions

* Update OrcaSlicer_ru.po

* fix shaky text while resizing

* simplify solution

* Update Qidi X-Max 4 0.4 nozzle.json (OrcaSlicer#12716)

Update Qidi X-Max 4 0.4 nozzle.json

* Update BBLTopbar.cpp

* fix flatpak build (OrcaSlicer#12738)

remove duplicated code

* Update CC2 Profiles from elegoo slicer (OrcaSlicer#12215)

* Fix CLI segfault (SIGSEGV) when using --info, --slice, or --export-3mf (OrcaSlicer#12719)

In CLI mode, PartPlateList is constructed with a NULL plater pointer
(OrcaSlicer.cpp:3612). When set_shapes() calls PartPlate::set_shape(),
it unconditionally executes render data preparation code that
dereferences the null plater through calls like generate_print_polygon()
→ wxGetApp().plater(), causing a segmentation fault (exit code 139).

This adds a null check on m_plater in PartPlate::set_shape() to skip
the render-only code block that generates logo triangles, print/exclude
polygons, gridlines, icon vertices, and plate name textures.

These rendering operations are not needed in CLI mode and this change
has no impact on GUI mode where m_plater is always valid.

* Feature/fix crash on linux when clicking assemble feature (OrcaSlicer#12739)

* fix crash on Linux when clicking Assemble gizmo

* some qol changes for dev

* Revert "some qol changes for dev"

This reverts commit ffe3213.

* Update calib_dlg.cpp

* Update calib_dlg.cpp

* Update OrcaSlicer_ru.po

* Add the filament id for the box of the Generic PC

* FIX: Divide by zero exception in `InterlockingGenerator` when invalid configuration parameters are used. (fixes bambulab/BambuStudio#9910 )

(cherry picked from commit cdd60ab71f8a3895fcb1345b2ccc2f2f472bf968)

* chore: translate comment for ignoring truncating casts warning

* Allow cancellation during beam interlocking generation

* Disable arc fitting for Qidi processes

Qidi printers run Klipper and we don't want arc fitting enabled for
these.

* Skip top surfaces with non-positive density

Add a guard that skips creating fill params for top surfaces when the configured density is less than or equal to zero. This avoids generating surface fills for zero/negative densities and prevents unnecessary processing or potential errors when top surface density is disabled.

* Fix crash in DiffPresetDialog::update_tree() on preset selection change (OrcaSlicer#12765)

std::map::at() throws std::out_of_range when option.category or
"Basic information" is not present in the tab's category_icon_map,
crashing the app. Replace with a safe find()-based helper lambda
that falls back to an empty string (no icon) when the key is missing.

* Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (OrcaSlicer#12449, OrcaSlicer#12766)

* init

* fix compacting when app open with home tab

* Flow ratio instead flow rate calib

* feat: swap the mmu detection to prefer the more generic moonraker database

Happy Hare now writes mmu lane data to the moonraker db similar to AFC, so we can normalize to the one implementation. For now, i've just re-ordered it so that the moonraker db is checked first. I want this because I've actually updated the happy hare data to include more data than we had access to via the "mmu" object. For happy hare we now have access to vendor name, which we can eventually use to further fine tune the auto-matched filament preset.

* Fix wipe tower placed outside bed boundary on first slice

The wipe tower config position (wipe_tower_x/y) could be outside the
plate boundary (e.g. default y=250 on a 200mm printer). No constraint
was applied at slice time, so the tower was generated out-of-bounds.

* Add wipe_tower_type printer setting to replace vendor-based wipe tower selection

  Previously, wipe tower behavior was determined by checking if the printer
  was a QIDI vendor. This introduces a configurable enum (Type 1 / Type 2)
  so any printer can select its wipe tower implementation. BBL printers
  remain hardcoded to Type 1. Qidi profiles default to Type 1.

* Fix Flatpak missing locale support (OrcaSlicer#12714)

Add the localization/ directory to the Flatpak source list so
run_gettext.sh can compile .po files into .mo translations.

Replace LC_ALL=C.UTF-8 with LC_NUMERIC=C in the entrypoint script
to preserve the user's language settings while still preventing
decimal-separator parsing issues.

* fix crash when opening preference dialog

* small tweak of the script to support Mac

* Fix PR comment posting for fork contributors by splitting into two workflows

  The check_profiles workflow used gh pr comment directly, which fails for
  fork PRs due to read-only GITHUB_TOKEN. Split into artifact upload +
  workflow_run pattern so comments post with proper write permissions.

* Update HU language

Update HU language after the adjustments of OrcaSlicer#12681.

* small tweak

* update

* Add FILL3D PLA Turbo filament profile to OrcaFilamentLibrary

* Update OrcaSlicer_ru.po

* Revert "Fix wipe tower placed outside bed boundary on first slice (OrcaSlicer#12777)"

This reverts commit 494601e, reversing
changes made to d28e964.

* Revert "Fix wipe tower loaded outside of plate boundaries (OrcaSlicer#12191)"

This reverts commit e14e186.

* revist fixes for wipe tower pos issues

* Skip flushing volume validation for multi-tool printers
Flushing volumes only apply to SEMM and BBL printers. Multi-tool printers don't perform filament purging between tool changes, so the zero-volume warning was being incorrectly triggered.

* check precise_z_height and enable_prime_tower conflicts in print validate

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Extend self-hosted runner support to all platforms

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>

* Revert "Extend self-hosted runner support to all platforms"

* CMake: Accept ignored prefixes from build_release_macos.sh

Defaults to ignore:

/opt/local    (MacPorts)
/opt/homebrew (Homebrew on ARM)
/opt/local    (Homebrew on x86)

We want to ignore these paths so any dependencies they might contain don't interfere with the build.

This fixes OrcaSlicer#10460

* Revert "Revert "Extend self-hosted runner support to all platforms" (OrcaSlicer#12827)"

This reverts commit f2eab54, reversing
changes made to 7565b27.

* fix errors

* update cmake to 4.3.x

* minor change

* skip flatpak arm64 for self hosted runners

* tweak

* clean

* skip flatpak

* use clang and lld

* use different cache key for linux clang

* respect clang flag for all deps

* print build time

* simplify mac download

* Security fix: path traversal in 3MF import (OrcaSlicer#12860)

* Update TURKISH translations (OrcaSlicer#12838)

* Update TURKISH translations

* Update TURKISH translations

* Update error Czech translations in OrcaSlicer_cs.po (OrcaSlicer#12641)

Thanks

* Follow-up for PR OrcaSlicer#12773 (OrcaSlicer#12800)

Adapt language files to PR OrcaSlicer#12773

- Language files are adapated for the new msgid from PR OrcaSlicer#12773
- changes from PR OrcaSlicer#12773 applied to APPLE build also

* feat: add winget_updater github action (OrcaSlicer#12807)

Co-authored-by: SoftFever <[email protected]>

* update locale and complete some missing translations for some language(AI)

* fixed an issue that some translations are not used

* Attempt to fix OrcaSlicer_zh_TW.po (OrcaSlicer#12867)

* New de translation  (OrcaSlicer#12875)

* Aktualisiere deutsche Übersetzungen in der i18n-Datei für bessere Klarheit und Konsistenz

* Update German localization for OrcaSlicer

- Improved translations for various messages, ensuring clarity and consistency.
- Corrected terminology for technical terms such as "flow ratio" and "emboss text object."
- Adjusted phrasing for better readability and grammatical accuracy.
- Removed redundant or unclear phrases to streamline user experience.
- Added new entries for warnings and notifications related to printer operations.

* typo

* update flatpak app id and add migration code (OrcaSlicer#12879)

* update flatpak app id and add migration code

* tweak some text

* Optimised for the Artillery M1 Pro printer (OrcaSlicer#12885)

* Optimised for the Artillery M1 Pro printer

* tidy up

---------

Co-authored-by: SoftFever <[email protected]>

* Set exclude objects to enabled by default to support dynamic MBL (OrcaSlicer#12869)

Set exclude objects to enabled by default to support dynamic mesh bed leveling.

* Add Anet A8 Plus (OrcaSlicer#12792)

* Add Anet A8 Plus support because the folks in OrcaSlicer didn't

* Fix the structure also import the orca_printer file to get the process

* asdsadasd

* tidy up and bump profile version (OrcaSlicer#12889)

* tidy up and bump profile version

* fix error

* tidy up

* fix

* tide up more

* fix errors

* fix more errors

* bump version to 2.3.2

---------

Co-authored-by: HYzd766 <[email protected]>
Co-authored-by: HYzd766 <[email protected]>
Co-authored-by: Felix14_v2 <[email protected]>
Co-authored-by: yw4z <[email protected]>
Co-authored-by: Alexandre Folle de Menezes <[email protected]>
Co-authored-by: SoftFever <[email protected]>
Co-authored-by: Sabriel-Koh <[email protected]>
Co-authored-by: Derrick <[email protected]>
Co-authored-by: Kiss Lorand <[email protected]>
Co-authored-by: Jakub Hencl <[email protected]>
Co-authored-by: Schildkroet <[email protected]>
Co-authored-by: Olof Larsson <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: gaaat98 <[email protected]>
Co-authored-by: Rodrigo Faselli <[email protected]>
Co-authored-by: Valerii Bokhan <[email protected]>
Co-authored-by: tome9111991 <[email protected]>
Co-authored-by: VOLUMIC <[email protected]>
Co-authored-by: TheLegendTubaGuy <[email protected]>
Co-authored-by: Niccolo <[email protected]>
Co-authored-by: Max Paperno <[email protected]>
Co-authored-by: Bent Hillerkus <[email protected]>
Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: TheLegendTubaGuy <[email protected]>
Co-authored-by: Branden Cash <[email protected]>
Co-authored-by: kisslorand <[email protected]>
Co-authored-by: julianramirezarango-source <[email protected]>
Co-authored-by: Felix14_v2 <[email protected]>
Co-authored-by: Kevin J. Lynagh <[email protected]>
Co-authored-by: GlauTech <[email protected]>
Co-authored-by: Alessio Tudisco <[email protected]>
Co-authored-by: Heiko Liebscher <[email protected]>
Co-authored-by: liuyingmo <[email protected]>
Co-authored-by: liutang <[email protected]>
Co-authored-by: Ezzeldin Ahmed <[email protected]>
SoftFever pushed a commit that referenced this pull request May 14, 2026
Fix Windows single-instance file handoff

On Windows, opening a model file while OrcaSlicer is already running could
fail when single-instance mode was enabled.

The second launch correctly detected that another instance already existed,
but it could no longer find the running main window to forward the file-open
request. As a result, the new process exited and the file was dropped.

This happened because the existing-instance lookup depended on the native
window title containing "OrcaSlicer". After the titlebar change from #12706,
the title may contain only the project name, so the running instance was no
longer discoverable that way.

Fix this by identifying the existing main window through stable window
properties instead of title text:
- require the expected wxWidgets window class
- require the instance hash properties to exist
- match against the current instance hash

This restores forwarding of externally opened files to the already-running
instance without depending on the current titlebar text.
igiannakas added a commit to igiannakas/OrcaSlicer that referenced this pull request May 16, 2026
commit 3533c70
Merge: 82aaf31 83179d5
Author: Ioannis Giannakas <[email protected]>
Date:   Sat May 16 07:40:44 2026 +0100

    Merge branch 'main' into toolchange-order

commit 83179d5
Author: Francesco Palmarini <[email protected]>
Date:   Sat May 16 08:37:16 2026 +0200

    Make flushing volumes dialog resizable (OrcaSlicer#13663)

commit fb5296a
Author: Allyn Malventano <[email protected]>
Date:   Sat May 16 02:24:26 2026 -0400

    fix: register enable_filament_dynamic_map and has_filament_switcher config options (OrcaSlicer#13623)

    fix(printconfig): register enable_filament_dynamic_map and has_filament_switcher options

    PR OrcaSlicer#13388 (X2D Support) added import/export for these options in
    bbs_3mf.cpp but never registered them in PrintConfig.cpp. Loading any
    .3mf containing these keys throws UnknownOptionException at
    PartPlate.cpp:6153 when config->apply() looks up the missing definition.

commit 74f2bec
Author: RobertKuszmar <[email protected]>
Date:   Fri May 15 23:20:43 2026 -0700

    Fix PrinterWebView only clear deferred url on success (OrcaSlicer#11508)

    * Fix only clear deferred url on success

    * add comments

    ---------

    Co-authored-by: Ioannis Giannakas <[email protected]>
    Co-authored-by: yw4z <[email protected]>

commit 1555fc9
Author: Justin Levine <[email protected]>
Date:   Fri May 15 18:40:36 2026 -0700

    docs(readme): update logo credit GitHub username (OrcaSlicer#13680)

commit 2f74413
Author: Ian Bassi <[email protected]>
Date:   Fri May 15 20:44:33 2026 -0300

    Updates for printer covers (OrcaSlicer#13660)

    * Remove border for X2D image

    * RatRig improvement

    * Update Elegoo Centauri_cover.png

    * Update Kingroon KLP1_cover.png

    * Update FlyingBear Reborn3_cover.png

    * Update Folgertech FT-6_cover.png

    * Update Snapmaker J1_cover.png

    * flashforge c5

    * RatRir diagonal

    * FlashForge perspective

    * Update Orca Arena X1 Carbon_cover.png

    * Update Tiertime UP310 Pro_cover.png

    * Update Folgertech i3_cover.png

    * Update FlyingBear Ghost 6_cover.png

    * Update Lulzbot Taz 4 or 5_cover.png

    * Update Snapmaker J1_cover.png

    * Revert "Update Orca Arena X1 Carbon_cover.png"

    This reverts commit a6e0f59.

    * Update Orca Arena X1 Carbon_cover.png

    * Update Elegoo Centauri_cover.png

    * Update Tiertime UP310 Pro_cover.png

    * Update Snapmaker J1_cover.png

    * Update Bambu Lab X2D_cover.png

    * flashforge creator

    * Update Snapmaker U1_cover.png

    * Update Folgertech FT-6_cover.png

    * Update Kingroon KLP1_cover.png

    * Update Folgertech i3_cover.png

    * LH stinger

    * Update Lulzbot Taz 4 or 5_cover.png

    * flyingbear

    * LH Stinger

    * deltamaker

    * ratrig

    * Update Generic Repetier Printer_cover.png

    ---------

    Co-authored-by: yw4z <[email protected]>

commit b3bb860
Author: yw4z <[email protected]>
Date:   Fri May 15 20:12:30 2026 +0300

    UI fixes / improvements (OrcaSlicer#12513)

    * bbl device selector search box

    * align file and more menus with its button

    * fix multiline inputbox border color on windows

    * fix multiline inputbox border color on windows

    * preferences: use content width on combobox dropdowns

    * about:  match version text size on macOS

    * msg dialog improvements

    * fix canvas menu overlapping with sliced plates toolbar

    * bbl bind dialog button placement

    * bbl color picker

    * Update StepMeshDialog.cpp

    * drop file dialog

    * drop dialog revert fonts

    * revert windows multiline border

    * Update StepMeshDialog.cpp

    * update

    * Flushing Volumes: match style of combobox

    * fix hyperlink color on canvas notifications

    * fix possible issues with shared profiles notification

commit d614917
Author: Francesco Palmarini <[email protected]>
Date:   Fri May 15 19:09:31 2026 +0200

    Fix H2D LAN print job routing (OrcaSlicer#13662)

commit 4154785
Author: Ocraftyone <[email protected]>
Date:   Fri May 15 11:45:39 2026 -0400

    Speed up encoding check (OrcaSlicer#10873)

    Update encoding check

commit 2167378
Author: SoftFever <[email protected]>
Date:   Fri May 15 19:45:24 2026 +0800

    Enhancement: eliminate UI freeze during cloud preset sync on startup (OrcaSlicer#13673)

    fix: eliminate UI freeze during cloud preset sync on startup
      Move synchronous HTTP calls off the main thread in
      GUI_App::start_sync_user_preset():

      - Call scan_orphaned_info_files() and process_delete_presets() in
        the background sync thread instead of the UI thread, so their
        HTTP DELETE calls don't block startup.
      - Call reload_settings() directly from the background thread
        instead of via CallAfter, so get_user_presets() (HTTP GET) and
        load/save_user_presets (file I/O) run off the main thread.
      - Guard update_side_preset_ui() and app_config->save() with
        is_main_thread_active() / CallAfter so they're safe when called
        from a worker thread.
      - Simplifiy finishFn lambdas: the progress-dialog case only
        destroys the dialog; the no-dialog case is a no-op.

commit cf0dfd1
Author: yw4z <[email protected]>
Date:   Fri May 15 05:03:17 2026 +0300

    Clarify Create nozzle for existing printer (OrcaSlicer#11773)

    * Update CreatePresetsDialog.cpp

    * add information for existing nozzles

commit 4088824
Author: Eldenroot <[email protected]>
Date:   Fri May 15 03:58:45 2026 +0200

    CLI: add layer_height and sparse_infill_density and wall_loops into result (OrcaSlicer#13001)

    * CLI: add layer_height into result

    cherry pick bambulab/BambuStudio@0b857b4

    * add sparse_infill_density and wall_loops

    cherry pick bambulab/BambuStudio@ea9b205

commit 23e6d84
Author: Ocraftyone <[email protected]>
Date:   Thu May 14 21:57:41 2026 -0400

    Bump Devcontainer Ubuntu Version (OrcaSlicer#12252)

    Bump ver

commit 3471b24
Author: yw4z <[email protected]>
Date:   Fri May 15 04:57:12 2026 +0300

    Fix: Font rendering pixelated when cleartype disabled (OrcaSlicer#12201)

    init

commit 6852845
Author: SoftFever <[email protected]>
Date:   Fri May 15 09:52:19 2026 +0800

    fixed an logic error  when adjust logging level

commit 82aaf31
Author: Ian Bassi <[email protected]>
Date:   Thu May 14 21:09:53 2026 -0300

    Update PrintConfig.cpp

commit a46e846
Author: Ian Bassi <[email protected]>
Date:   Mon May 11 19:59:35 2026 -0300

    Improve descriptions

commit 6e3dab8
Author: Ian Bassi <[email protected]>
Date:   Mon May 11 19:29:40 2026 -0300

    Use fallback PrintConfig and support cyclic ordering

    Add fallback to obtain PrintConfig from the PrintObject when m_print_config_ptr is null in both handle_dontcare_extruder overloads, and update checks to use the local print_config. Initialize m_print_config_ptr in the ToolOrdering constructor from the PrintObject. In reorder_extruders_for_minimum_flush_volume, introduce use_cyclic_ordering and adjust the get_custom_seq lambda to consider layer_filaments when cyclic ordering is enabled (sorting and converting filaments to 1-based indices). These changes prevent null dereferences and enable cyclic toolchange ordering based on per-layer filament data.

commit dabce09
Author: Ian Bassi <[email protected]>
Date:   Mon May 11 18:31:42 2026 -0300

    Add toolchange ordering option (Optimized/Cyclic).

    Adapted from prusa3d/PrusaSlicer@517954e#diff-6a6d0a3d3ce08babafde7b52f3743d7b9b599df0bd1b62b3a962e3096c311a8e

commit ecc53d9
Author: Hyiger <[email protected]>
Date:   Thu May 14 10:06:52 2026 -0700

    Fix LAN printing crashes and hangs on Bambu H2D (OrcaSlicer#13296)

    Two related fixes for LAN printing with newer Bambu networking plugins:

    1. FileTransferUtils: guard against missing ft_tunnel_* symbols

       The eMMC tunnel constructor calls ft_tunnel_create / ft_tunnel_set_status_cb
       without checking if the plugin exported them. Older plugins (e.g.
       01.10.01.01) don't have these symbols, so the calls dereference null and
       crash when sending a print. Now throw a clear exception so callers can
       fall back gracefully.

    2. PrintJob: disable eMMC print path by default

       Plugin 02.03.00.62's eMMC tunnel code hangs indefinitely at the upload
       phase (30%) on Bambu H2D, blocked inside the plugin waiting on a future
       that never resolves. Cancel doesn't work because the plugin doesn't
       check cancel_fn during the wait. The plain FTP path works reliably.

       Default to try_emmc_print=false; opt-in via AppConfig setting
       "disable_emmc_print" = "0". Also wrap the eMMC tunnel creation in
       try/catch so a missing-plugin exception cleanly falls back to FTP
       instead of killing the worker thread.

    Co-authored-by: hyiger <[email protected]>
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    Co-authored-by: SoftFever <[email protected]>

commit d14819e
Author: Kiss Lorand <[email protected]>
Date:   Thu May 14 19:59:19 2026 +0300

    Fix air filtration settings hidden on printers that support that feature (OrcaSlicer#13384)

    Enable air filtration support in affected system printer profiles

    Some system printer profiles that support air filtration had the feature
    incorrectly disabled in the printer settings.

    This caused the related filament settings to be hidden, making the feature
    unavailable to users even though it is supported by the printer.

    Enable "support_air_filtration" in affected system printer profiles and
    bump profile version thus forcing Orca to refresh cached settings.

    This ensures air filtration settings are visible and usable on printers
    that support the feature.

commit 69594fa
Author: Kiss Lorand <[email protected]>
Date:   Thu May 14 19:57:52 2026 +0300

    Fix Windows file handoff when single-instance mode is enabled (OrcaSlicer#12944)

    Fix Windows single-instance file handoff

    On Windows, opening a model file while OrcaSlicer is already running could
    fail when single-instance mode was enabled.

    The second launch correctly detected that another instance already existed,
    but it could no longer find the running main window to forward the file-open
    request. As a result, the new process exited and the file was dropped.

    This happened because the existing-instance lookup depended on the native
    window title containing "OrcaSlicer". After the titlebar change from OrcaSlicer#12706,
    the title may contain only the project name, so the running instance was no
    longer discoverable that way.

    Fix this by identifying the existing main window through stable window
    properties instead of title text:
    - require the expected wxWidgets window class
    - require the instance hash properties to exist
    - match against the current instance hash

    This restores forwarding of externally opened files to the already-running
    instance without depending on the current titlebar text.

commit 291b34a
Author: Kiss Lorand <[email protected]>
Date:   Thu May 14 19:50:20 2026 +0300

    Hide some non-applicable settings for tree supports to prevent confusion (OrcaSlicer#12367)

    Hide tree support parameters not in use

    - hide independent support layer height for organic tree support
    - hide threshold overlap for tree supports

    Co-authored-by: SoftFever <[email protected]>

commit 26e6216
Author: Kiss Lorand <[email protected]>
Date:   Thu May 14 19:48:23 2026 +0300

    Fix stale keyboard refresh and auto-resize flicker of speed profile window in Preview tab (OrcaSlicer#12707)

    * Fix speed popup refresh and sizing in Preview

    Fix two UX issues in the Preview actual speed profile popup.

    Keyboard-driven horizontal slider changes could leave the popup visually stale
    until a later input event, which made keyboard navigation feel delayed.
    Also, the speed-profile popup could briefly render at an incorrect height
    before resizing on the next frame.

    This change makes keyboard slider updates explicitly request a follow-up frame,
    so refresh no longer depends on incidental mouse activity.

    It also removes auto-resize from ToolPositionTableWnd and sizes the popup
    before begin() each frame. The popup height is computed from plot height,
    table rows, and window paddings, then clamped to at least the height of the
    adjacent ToolPosition window.

    The popup width is now computed from translated header text and padding terms,
    with a 16:9-derived minimum for a more stable appearance. The width is cached
    for the session and recalculated when UI scale changes.

    Result:
    - keyboard navigation updates reliably
    - popup no longer shows the transient wrong-height first draw
    - sizing is more stable across scale and localization

    * Fix ToolPosition window also + other fixes

    * Fix compile error when ENABLE_ACTUAL_SPEED_DEBUG disabled

    IMGUI_DEFINE_MATH_OPERATORS is needed even if ENABLE_ACTUAL_SPEED_DEBUG is not enabled

    * Guard seam fallback vertex index in GCodeViewer

commit 700292f
Author: Kiss Lorand <[email protected]>
Date:   Thu May 14 19:46:05 2026 +0300

    Fix: Right Edge of G-code Viewer Legend Rows Not Interactive (OrcaSlicer#11899)

    Fix legend hover hit-testing

    Fix GCode viewer legend where the eye icon and right edge don’t respond to hover/click unless you click slightly left (works after switching view types unless the vertical slide is used).

commit d2ca5d3
Author: Kiss Lorand <[email protected]>
Date:   Thu May 14 19:44:40 2026 +0300

    Fix hybrid tree first-layer support base behavior and expose density setting (OrcaSlicer#13454)

    Fix hybrid tree first-layer support base flow and UI consistency

    Fix incorrect first-layer generation for hybrid tree supports.

    The support base on the first layer used brim flow instead of support material flow,
    which could lead to incorrect extrusion behavior and wrong material usage in
    multi-material prints.

    Additionally, spacing and density for the regular support part were not consistently
    derived from the actual first-layer support flow when first-layer and regular
    line widths differed.

    Hybrid-specific behavior is clarified:
    - first-layer expansion applies only to the regular support part
    - tree-only regions keep their existing behavior

    The first-layer support pattern is aligned with normal and organic tree supports
    to ensure consistent and meaningful density behavior.

    Also make first-layer support expansion and density settings visible whenever
    supports are enabled, as density was already affecting hybrid supports but was
    hidden in the UI.

commit dd8cb89
Author: Francesco Palmarini <[email protected]>
Date:   Thu May 14 18:41:04 2026 +0200

    Fix freeze after hiding sync popup (OrcaSlicer#13657)

    Avoid calling Show() on the main frame when it is already visible from BaseTransparentDPIFrame::on_hide(). On GTK this can re-enter size/layout handling after filament sync and leave the UI unresponsive.

commit 9c5f33f
Author: Ian Bassi <[email protected]>
Date:   Thu May 14 12:55:55 2026 -0300

    Fix Filament for Features (OrcaSlicer#13607)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Removal of System Title Bar on Linux breaks file name display and change state in Title Bar(no longer presented)

2 participants