https://bugs.kde.org/show_bug.cgi?id=426948

            Bug ID: 426948
           Summary: kritarunner.exe should be a console application
                    instead of GUI application
           Product: krita
           Version: unspecified
          Platform: Microsoft Windows
                OS: Microsoft Windows
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Scripting
          Assignee: krita-bugs-n...@kde.org
          Reporter: al...@alvinhc.com
  Target Milestone: ---

>From ludvigsen on IRC last night, it appears that `kritarunner.exe` is built
using the windows subsystem, which causes some significant usability issues:

- When run from cmd.exe (and possibly PowerShell), the command returns
immediately, instead of waiting for the subprocess to exit.
- qDebug output get printed via OutputDebugString which can only be viewed
using DebuvView (or if the parent process is reading the stdout/stderr pipes).
This would be a huge obstacle to users without prior knowledge on this.


**Proposed Solution:**

Build the kritarunner target to use the console subsystem. ECM has this
function to mark it as such:
https://invent.kde.org/frameworks/extra-cmake-modules/-/blob/master/modules/ECMMarkNonGuiExecutable.cmake

Potential issues:

If a user had been relying on the existing behaviour this will be a breaking
change. Though I don't think it makes sense for anyone to rely on this broken
behaviour.


**Alternative Solution:**

It is possible to build a separate `kritarunner.com` to be a console
application, so when someone runs `kritarunner` from cmd.exe it will start
`kritarunner.com` instead of `kritarunner.exe` and get proper console output.
For example, Inkscape on Windows use this approach.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to