[konsole] [Bug 408497] Apps launched with "Run in terminal" not working under Wayland when Konsole is the default terminal emulator

Wolfgang Bauer bugzilla_noreply at kde.org
Mon Feb 24 18:24:37 GMT 2020


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

Wolfgang Bauer <wbauer at tmo.at> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wbauer at tmo.at

--- Comment #5 from Wolfgang Bauer <wbauer at tmo.at> ---
The reason is (likely) this code in kio
(https://cgit.kde.org/kio.git/tree/src/core/desktopexecparser.cpp#n429):
        if (terminal == QLatin1String("konsole")) {
            if (!d->service.workingDirectory().isEmpty()) {
                terminal += QLatin1String(" --workdir ") +
KShell::quoteArg(d->service.workingDirectory());
            }
            terminal += QLatin1String(" -qwindowtitle '%c' %i");
        }

%i expands to "--icon xxx", which is not supported (by Qt) on Wayland.

See
https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes#Exec_key_of_.desktop_files
:
> The Exec key of your .desktop file should not contain the %i "field code".
> Your application won't start on Wayland otherwise, because the specification
> expands that code in the --icon argument, which is accepted by QGuiApplication > only on XCB platforms. This code review contains a discussion about the
> upstream decision. You can use the -qwindowicon argument as replacement. It
> still won't work on Wayland (it will on most other platforms) but now your app > will start everywhere.
> 
> // Don't
> Exec=someapp %i %U
> // Do
> Exec=someapp -qwindowicon someicon %U

So IMHO, one way to fix it would be to explicitly handle the "-icon" option in
konsole, the other to make kio not use that option on Wayland.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list