[Bug 1051353] New: Chromium cannot be set as default browser in Plasma
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353 Bug ID: 1051353 Summary: Chromium cannot be set as default browser in Plasma Classification: openSUSE Product: openSUSE Distribution Version: Leap 42.3 Hardware: x86-64 OS: openSUSE 42.3 Status: NEW Severity: Normal Priority: P5 - None Component: Other Assignee: bnc-team-screening@forge.provo.novell.com Reporter: farcusnz@gmail.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 Build Identifier: new install of openSUSE 42.3 Chromium 60.0.3112.78 installed In systemsettings5 > applications > web browser set chromium as the default Launch chromium and am informed that it isn't the default browser . . . would I like to set it as default. Select "Yes" But on next launch of Chromium am asked same question again Chromium no longer has a setting to disable the checking to see if it is default. Reproducible: Always Expected Results: Chromium should respect the setting in Plasma 5.8 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c1
Fabian Vogt
fvogt@linux-lm3i:~> xdg-settings get default-web-browser vivaldi.desktop fvogt@linux-lm3i:~> xdg-settings check default-web-browser vivaldi.desktop no
Plasma stores either the desktop file or the binary of the browser (prefixed with !) as General/BrowserApplication in kdeglobals. xdg-settings reads the full path and resolves symlinks of the given desktop file, but does not do that for BrowserApplication if prefixed with !, which ultimately results in this:
+ '[' xvivaldi '!=' x -a xvivaldi '!=' x/usr/lib64/vivaldi/vivaldi ']'
It compares the unresolved binary path with a fully resolved one and fails. The right fix here is to fully resolve the binary from BrowserApplication as well, just as desktop_file_to_binary does. Workaround: Edit kdeglobals and change
[General] BrowserApplication[$e]=!vivaldi
to
[General] BrowserApplication[$e]=vivaldi.desktop
Additionally, the logic in check_browser_kde is utterly broken as it consults text/html even if BrowserApplication is a full match. Adding bugowner of xdg-utils to CC. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c2
--- Comment #2 from Fabian Vogt
Adding bugowner of xdg-utils to CC.
Ping? This is still broken as some users reported. Affects TW, 42.x and therefore also 15. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c3
--- Comment #3 from Fabian Vogt
(In reply to Fabian Vogt from comment #1)
Adding bugowner of xdg-utils to CC.
Ping?
This is still broken as some users reported.
Affects TW, 42.x and therefore also 15.
Two weeks later, another ping. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c5
--- Comment #5 from Fabian Vogt
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c6
--- Comment #6 from Simon Lees
Ping. Can this be fixed before Leap 15?
A detailed analysis is in comment 1 already.
Yep i've just started looking at it again yesterday before stopping for a different minor issue. It will be fixed for leap 15 hopefully on the installation mediums if not as a maintenance update available at the time of release. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c9
Andreas Stieger
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c10
--- Comment #10 from Simon Lees
Is bug 1087741 a duplicate of this?
I don't think so, from my testing the get browser function was working as intended and returning the right default, it was just the check browser function that was broken so chromium would report it wasn't the default when it actually was. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c14
--- Comment #14 from Andreas Stieger
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c15
--- Comment #15 from Mark Fairbairn
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c17
Simon Lees
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c18
Fabian Vogt
I can't replicate that but I found another bug where if firefox is set as the default browser chromium and xdg-settings check will still believe chromium is the default.
The following lines look atleast like they don't do what the comment says they do to me they seem pretty broken.
# Because KDE will use the handler for MIME type text/html if this value # is empty, we allow either the empty string or a match to $check here. if [ x"$binary" != x -a x"$binary" != x"$check" ]; then
@Fabian firefox gets stored as firefox, rather then !firefox or firefox.desktop is this behavior expected
That's wrong. plasma-desktop's componentchooser sets either a .desktop file or exec with !. KSharedConfig::Ptr profile = KSharedConfig::openConfig(QStringLiteral("kdeglobals")); KConfigGroup config(profile, QStringLiteral("General")); QString exec; if (radioService->isChecked()) { if (m_browserService) { exec = m_browserService->storageId(); } } else if (radioExec->isChecked()) { exec = lineExec->text(); if (m_browserService && (exec == m_browserExec)) { exec = m_browserService->storageId(); // Use service } else if (!exec.isEmpty()) { exec = '!' + exec; // Literal command } } config.writePathEntry( QStringLiteral("BrowserApplication"), exec); // KConfig::Normal|KConfig::Global Note that the storageId of a kservice is the full .desktop file name. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c19
--- Comment #19 from Fabian Vogt
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c20
--- Comment #20 from Simon Lees
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c21
Fabian Vogt
This is now blocked on a xdg-utils / firefox issue that i'm discussing with upstream https://bugs.freedesktop.org/show_bug.cgi?id=106449
As the update seems to make the issue worse, should sr 605413 to Leap 15 be revoked? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353
http://bugzilla.opensuse.org/show_bug.cgi?id=1051353#c22
Simon Lees
(In reply to Simon Lees from comment #20)
This is now blocked on a xdg-utils / firefox issue that i'm discussing with upstream https://bugs.freedesktop.org/show_bug.cgi?id=106449
As the update seems to make the issue worse, should sr 605413 to Leap 15 be revoked?
on my test machine at least the update fixed the chromium issue for everyway I could find to set chromium as the default. Firefox uses something other then xdg-settings check browser to check if its the default (likely get browser which isn't broken) so its not actually showing as an issue anywhere. So without being able to replicate Mark's issue it seems that the new update is still better but once it is fixed i'll push out a maintenance update to leap 15 anyway -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com