Summary: | Window is too small when KCMs are opened standalone (e.g. using `kcmshell5), and contents get cut off | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kcmutils | Reporter: | Andres Betts <anditosan1000> |
Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | andrew.crouthamel, bugseforuns, coque.couto, danielroschka, epost.kde, filipfila.kde, freek, i, i, jazzvoid, jgrulich, julien, kishore96, medhefgo, mevatron, murat.cileli, nate, q4ali, rbugman28, simgunz, sitter, trmdi, turboslak, vatbier |
Priority: | NOR | Keywords: | junior-jobs |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=396837 https://bugs.kde.org/show_bug.cgi?id=396188 https://bugs.kde.org/show_bug.cgi?id=398820 https://bugs.kde.org/show_bug.cgi?id=398805 https://bugs.kde.org/show_bug.cgi?id=398799 https://bugs.kde.org/show_bug.cgi?id=398798 https://bugs.kde.org/show_bug.cgi?id=398793 https://bugs.kde.org/show_bug.cgi?id=398797 https://bugs.kde.org/show_bug.cgi?id=396076 https://bugs.kde.org/show_bug.cgi?id=400355 |
||
Latest Commit: | https://commits.kde.org/kcmutils/23ba2b37ef825f0efccc169455f45b0dcdac97cf | Version Fixed In: | 5.51 |
Sentry Crash Report: | |||
Attachments: |
wifikcm
Network KCM looks fine to me now Network kcm on neon dev unstable. Hidden buttons on bottom. |
Yeah, looks like the list should be much more narrow, and the rest of the window a bit wider. This is the default window size on my system too (Neon User). I agree, this looks clunky. *** Bug 392314 has been marked as a duplicate of this bug. *** How is this bug coming along? This bug is actually not plasma-nm specific, other KCMs are small as well, when opened. I spent some time trying to fix it from our side, but failed, managed to do so only in kcmshell itself (if I remember correctly), I just didn't consider it as a proper fix so didn't push for review. Thank you Jan. We will likely tackle this soon as we continue working on the KCMs. *** Bug 395422 has been marked as a duplicate of this bug. *** *** Bug 395602 has been marked as a duplicate of this bug. *** I think you just need to update the sizeHint, no? *** Bug 393891 has been marked as a duplicate of this bug. *** *** Bug 392673 has been marked as a duplicate of this bug. *** *** Bug 391564 has been marked as a duplicate of this bug. *** Jan, could you maybe submit your patch anyway just to solicit feedback? This is a pretty high-profile issue and especially since it affects other KCMs too, it would be nice to get it resolved! *** Bug 397157 has been marked as a duplicate of this bug. *** bug 396076 seems related/duplicate. *** Bug 396076 has been marked as a duplicate of this bug. *** *** Bug 379858 has been marked as a duplicate of this bug. *** *** Bug 395454 has been marked as a duplicate of this bug. *** *** Bug 394747 has been marked as a duplicate of this bug. *** There seem to be multiple problems First, there seems to be a problem with QDialog + QScrollArea having some kind of implicit preferred maximum size, after which dialog stops growing to fit content. For example, all kcmshell5 dialogs open at 637x518 max for me no matter what's the size of the widget inside. Second, some widgets that have QML contents report incorrect size hint because QML content takes time to initialize. This is why KScreen KCM has size hint explicitly set, and it stops it from opening as extremely tiny window, but issue 1 stops it from opening as a large enough window to fit all contents. Third, few widgets already seem to have scrollable content (e.g. opengl kcm) and they probably just need manual minimum size set. First problem is the biggest issue I suppose, since it affects all KCMs with large content and network manager KCM in particular, but I don't know where this preferred size comes from so I don't know how to fix it yet :/ Proposed fix for first issue: https://phabricator.kde.org/D14692 Second and third need to be hunt down per-KCM I suppose Git commit 23ba2b37ef825f0efccc169455f45b0dcdac97cf by Valeriy Malov. Committed on 13/08/2018 at 08:55. Pushed by valeriymalov into branch 'master'. Use custom QScrollArea with size hint not limited by font size Summary: For some reason original QScrollArea has constraint on a size hint This causes large KCMShell pages open in relatively small windows, because QScrollArea inside reports small size hint Test Plan: patched 5.48.0 with this, tested networkmanager and few other kcms, they now seem to open in full size (except for kscreen which has custom sizehint, it probably needs size hint for the QML area specifically, not the whole window; and except for opengl that has it's own scrollable area which needs a size hint too) Reviewers: #frameworks, ngraham Reviewed By: ngraham Subscribers: ngraham, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D14692 M +1 -1 src/kcmultidialog.cpp M +22 -0 src/kcmultidialog.h https://commits.kde.org/kcmutils/23ba2b37ef825f0efccc169455f45b0dcdac97cf *** Bug 397437 has been marked as a duplicate of this bug. *** *** Bug 396748 has been marked as a duplicate of this bug. *** Good work. I've noticed this issue when using scaling on a hidpi system. Does this patch solve when scaling? Yes, the patch resolves the issue with HiDPI as well (at least for me). (In reply to Nate Graham from comment #27) > Yes, the patch resolves the issue with HiDPI as well (at least for me). Awesome! This was one of those minor nuisances that I wasn't sure where to file it. I'll have to test in the coming weeks. *** Bug 397361 has been marked as a duplicate of this bug. *** is the fix available on neon dev unstable? bug persists in such distro. (In reply to Dr. Chapatin from comment #30) > is the fix available on neon dev unstable? > bug persists in such distro. 1x scale or a different scale? Tested both 1x and 1.2x scale: "per-activity power management" window opened via krunner is too small (bug 379858) power saving kcm has horizontal scroll bar network manager kcm: vertical scroll bar when scale is 1x, therefore the buttons on botton are hidden (bug 393891, bug 395602, bug 392314). When display scale is 1.2x, both horizontal and vertical scroll bars are active. "desktop effects" opened via krunner is too small (bug 396076) touchpad kcm has horizontal scroll bar when scale is 1.2x (bug 397361). I also still have this issue. I just tested on a Dell XPS 13 (4k), with latest Neon Unstable (Frameworks 5.50) booted natively (no VM), and I have vertical scrollbars in most standalone KCM apps. Displays is the worst for me. The issue seems to get worse as scaling is increased. I usually run at 2x. The horizontal scrollbars seem to go away for me though, so that's a positive note. I think we should reopen this... Created attachment 114800 [details]
Network KCM looks fine to me now
I'm attaching an image of what `kcmshell5 kcm_networkmanagement` shows at 1x scaling for me now. Looks fine to me. Andrew and bugseforuns, can you confirm that this is what it looks like for you at 1x? If it looks bad at > 1x, that's a separate bug, or an issue with the patch that we didn't catch (oops), in which case we should track that with a new bug.
I do notice that some other KCMs such as Applications, Desktop Effects, and Displays are a bit too small at 1x, but they're not absolutely tiny the way they used to be. I suspect what's happening here is that we fixed the general bug about kcmshell not respecting KCMs' sizeHints that was preventing KCMs from being able to be sized correctly within kcmshell at all, but now we need to adjust some individual KCMs so that they pass an appropriate sizeHint to the shell. Probably we should un-dupe the bugs that were tracking the individual KCMs that still need adjustment so we can fix their sizeHints.
Seems like a lot of KCMs that are still bugged are QML ones that rely on rely on KQuickAddons::ConfigModule kcm_fileindexermonitor kcm_fonts kcm_launchfeedback kcm_translations kcm_workspace Some QML KCMs work fine though, like Networks or Mouse. Both have some sort of top level UI or QWidget, e.g. mouse KCM propagates sizeHint from QML properties into a QWidget KQuickAddons::ConfigModule on the other hand is just a QObject with no concept of size hint. It seems like something should be done with ConfigModule, but just turning it into a QWidget with sizeHint makes no difference since no one ever asks it it's sizeHint anyway. I'm not really familiar with QML to fix this right away :/ This probably should be split out into a separate bug? Created attachment 114815 [details]
Network kcm on neon dev unstable. Hidden buttons on bottom.
(In reply to Nate Graham from comment #34) > Created attachment 114800 [details] > Network KCM looks fine to me now > > I'm attaching an image of what `kcmshell5 kcm_networkmanagement` shows at 1x > scaling for me now. Looks fine to me. Andrew and bugseforuns, can you > confirm that this is what it looks like for you at 1x? If it looks bad at > > 1x, that's a separate bug, or an issue with the patch that we didn't catch > (oops), in which case we should track that with a new bug. I confirm it looks OK at 1x. 2x I get scrollbars. (In reply to Dr. Chapatin from comment #36) > Created attachment 114815 [details] > Network kcm on neon dev unstable. Hidden buttons on bottom. Ok, when dialog is adjusted based on the size hint, its size is limited by 2/3 of the desktop size (hardcoded in QWidgetPrivate::adjustedSize: https://bugreports.qt.io/browse/QTBUG-3459). That's probably the cause of issue here. I guess it can be worked around by a custom adjustSize() function. No idea if that's related to hi-dpi issues, can't test that. (In reply to Dr. Chapatin from comment #36) > Created attachment 114815 [details] > Network kcm on neon dev unstable. Hidden buttons on bottom. Confirm this. (In reply to Dr. Chapatin from comment #36) > Created attachment 114815 [details] > Network kcm on neon dev unstable. Hidden buttons on bottom. Looks like this particular issue is caused by https://bugreports.qt.io/browse/QTBUG-3459, as Valeriy indicates. I'd prefer to go the route of fixing it in Qt rather than working around it locally (though that's an option too, if worse comes to worst). So it seems that we have three angles of attack: 1. Fix individual KCMs that don't give us proper SizeHints, now that kcmshell *pays attention to sizeHints. Bugseforuns, since you're carefully tracking the issues here, would you like to un-dupe the bugs for individual KCMs that still need adjustment and add appropriate comments? 2. Fix or work around https://bugreports.qt.io/browse/QTBUG-3459 so that KCMs sizeHints are actually properly respected on short screens. Valeriy, would you be interested in tackling that? 3. Fix the issue with the fix for this bug not working for HiDPI. Andrew, since you have a HiDPI screen, would you like to investigate this part? I'd love to help, but this is honestly outside of my capabilities at the moment. I'd be glad to work with someone and test though. Workaround for QTBUG-3459 https://phabricator.kde.org/D15406 Git commit cc4ecfdcd48a52a67f60eb69ed69e91ca42ee405 by Valeriy Malov. Committed on 12/09/2018 at 02:20. Pushed by valeriymalov into branch 'master'. Manually resize KCMUtilDialog to sizeHint() Summary: Workaround for https://bugreports.qt.io/browse/QTBUG-3459 Currently adjustSize() is limited to 2/3 of the screen size for windows This adds unnecessary scrollbars on dialogs that would otherwise fit the screen Manually resize the window after adjustSize() happens to avoid this limitation Test Plan: Tested on a 1366x768 laptop, with this patch networkmanagement window opens in full screen height (respecting the panel) Reviewers: #frameworks, ngraham Reviewed By: ngraham Subscribers: davidedmundson, acrouthamel, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D15406 M +13 -2 src/kcmultidialog.cpp https://commits.kde.org/kcmutils/cc4ecfdcd48a52a67f60eb69ed69e91ca42ee405 Awesome. Now we're down to two issues: - Fix High DPI - Fix individual KCMs that provide incorrect sizeHints. For this we should probably un-dupe any bugs for individual KCMs that still have a problem at 1x with current git master. New bug for QML KCMs not properly passing on their sizeHints: Bug 398820 New bugs for individual other KCMs with inappropriate sizeHint values: - Formats: Bug 398805 - Applications: Bug 398799 - Bluetooth: Bug 398798 - Per-activity power settings: Bug 398793 - Icons: Bug 398797 Thanks for filing these bugs, Dr. Chapatin. Desktop effects: Bug 396076 Maybe relate: https://bugs.kde.org/show_bug.cgi?id=400355 *** Bug 401163 has been marked as a duplicate of this bug. *** *** Bug 401718 has been marked as a duplicate of this bug. *** *** Bug 386433 has been marked as a duplicate of this bug. *** |
Created attachment 110197 [details] wifikcm The window is too small.