Develop convergent kirigami applications to replace desktop-only versions where appropriate
Open, Needs TriagePublic

ngraham added a subscriber: ngraham.EditedDec 27 2019, 6:58 PM

In general Kirigami apps need a lot of massaging to be made to look like desktop apps, and I think that's a strategic liability that needs addressing before we contemplate abandoning desktop-centric apps or porting them all to use Kirigami for their UI. "Convergence" can't mean "looks like a big phone app" on the desktop or else it will fail as a convergent toolkit. One of the big things is that huge dumb picture header, which is an ugly and space-wasting Android-ism that looks terrible in desktop apps (IMO of course).

I think a big part of the problem here is that the toolkit itself doesn't do a good enough job of providing a visually pleasing default appearance tailored to each form factor, so each app tries to fix this itself, naturally in all different ways. So you get differences between apps in sidebar background color, sidebar width, sidebar list appearance, sidebar icon style and size, toolbar appearance, sidebar header style (picture vs toolbar vs nothing), main view background color, etc.

Essentially I think the toolkit leaves a bit too much up to the developer to DIY things rather than providing better form-factor-specific defaults that can then be easily overridden if necessary. I think it needs the following, at a minimum:

  • Automatically hide the header image (if present) on the desktop and replace it with a toolbar above the sidebar
  • Default to the view bg color for the sidebar (aka white)
  • A resizable splitter for the sidebar in desktop mode, and a narrower default width
  • Default to giving every page/main view a toolbar with the title in it, even if there's nothing else in the toolbar
This comment was removed by churaev.

Some issues with QML on the desktop I've observed:

  • No right-click menu in QQC2 text entries.
  • QQC2 menus and popups can't cross window boundaries, even if it would avoid scrolling, and their shadows get clipped by them.
  • Poor integration with themes other than Breeze.
  • No hover, menu, and combo box animations.
  • Missing controls such as tab widget and tree view.
  • Unclear how to make a list view with a frame, and they tend to be buggy wherever I see them (e.g. Desktop Effects in 5.17 Neon).
  • Slowness is apparently the easy option (see https://phabricator.kde.org/R169:4203a779031cb7c2268fbdd75d3ddddd9d786056).

All valid points that we should fix for sure. Some are more fixable in KDE-land than others (e.g. the single-window nature of QQC2 is baked into the toolkit and hard/impossible to work around). Some of these issues are slated to be fixed in QML3 with Qt 6 IIRC.