Hello fellow developers. I’m a student at the Technical University of Vienna in Austria and would love to participate in the upcoming Google Summer of Code. I have already talked about this proposal on IRC, but now I want to present the full document (continuously updated version at https://u4060579.ct.sendgrid.net/wf/click?upn=O9eTlgqxXzWn1NMw0BaGZmBpi5949V-2F64iX6DVMiDuk-2FmhujSzqkX8U3MqXWcMYzlpe-2FbkHoSMIx4G1WV7inNC8PTWOrs4zQ2rvqyX13sIHugo7QEbzE7QWPmywv1adb-2BT-2Fk7mMbnjmlJWsRdyIYLQ-3D-3D_P1L0NV5fXQ-2Fk2ezJ7xYR3Ac8eQNE5mcZ3ZViRgxqmiWWddouDRu-2BMPLoGNOXAq5q4BZ-2Fz2AVWWe0c0qzLkBDpbkbwuNRuaBMiHUKXVpDR-2F9aQOXISrJW3BEx3DTHqHl5dmlxZnhPRDlvWdk6F42ZjrAWvmn6AjbBvgOIBhkXEpBdX0JQyUp6Ft4mHElPk0BUacbuiZ3As2jOII3DscZsnA-3D-3D
=================================================== Project title: Make High-DPI awesome ---------------------------------------------------- Abstract ------------ As seen on Blog Posts on Planet KDE[1] support for High-DPI monitors has come a long way since Plasma 5.0. And thanks to the work by many dedicated people[2] the situation in Plasma is now almost ideal. But unfortunately, this is not the case for all KDE applications. Support for HiDPI seems to be more of a hit-and-miss for some of them, many crucial for day-to-day workflows (like Okular and Gwenview). Competing desktop environments have nowadays a nearly perfect HiDPI support, so I think it is time to face the remaining problems once and for all. Therefore I suggest the following approach: * My Google Summer of Code project will find HiDPI rendering issues in KDE applications and fix them in a coordinated approach. Proposal Timeline -------------------------- Before May 30 (Before official coding begin) * I will be active on IRC and the mailing lists and discuss with my mentor the planned steps in detail * Setting up KDE development environment for framework+workspace+apps using kdesrc-build (already done) * Submitting first patch, fixing gwenview (WIP) * Building list of HiDPI rendering problems from following sources: - Looking at bugs.kde.org (examples: #362856 okular, #373232 konsole, #373178 gwenview) - Writing about personal experience (and open bug reports decumeting the problems) - Writing a Blog Post aggregated on Planet KDE about upcoming plan and ask users to provide more examples * Publishing this list on a wiki (e.g. Techbase or the Community Wiki) and prioritizing issues May 30 - June 30 (Phase 1) * Fixing HiDPI rendering bugs in applications. This will not only require collaboration with my mentor, but also with the maintainer(s) of the application. The scope for this should be strictly inside the KDE ecosystem. If there are any bugs upstream - for example in the Qt Framework - I will open bug reports, but not try to fix them. Besides setting environment variables like QT_SCREEN_SCALE_FACTORS, I also have a 4K monitor I can test my patches with. June 30 - July 28 (Phase 2) * Further work on found issues. July 28 - August 29 (Final phase) * Further work on found issues. * Polishing user interface for HiDPI settings. Extend it, so it allows different scale factors for multiple screens. * Set-up sane defaults for new installations regarding HiDPI settings so that new KDE users have a good experience on the first boot * If possible, try to also force other applications to use configured settings when starting a KDE workspace (Firefox? Google Chrome? GTK? Java?) Outcome ------------- After my project is finished, users will have a more polished user experience with HiDPI screens out of the box. Base KDE apps will no longer show any rendering problems when drawn on a 4K screen. About me -------------- I’m a 24 year old computer science student at the Technical University of Vienna. Besides previous tiny patches to KDE-related software (e.g. [3]) I gained experience with Qt while developing software for smart interactive displays (like the ones you see in museums) written in C++/Qt and QML. Further programming experience of mine is in Python and Java. My study term lasts until end of June, so it will overlap partly with the GSoC. I took fewer courses this semester, so there won’t be any time problems with coding. I also work part-time at an IT operating company which is specialized in Big Data and Cloud Services, but cleared time for the intended 30hrs/week I will spend on working for the project. I have no plan to write a proposal for any other organization. [1] https://u4060579.ct.sendgrid.net/wf/click?upn=pWA8muICCr9ChFr-2B9lC2pbyJooR2Au4SWT8iMX7vaPaMWntq9wDdylREcvnP5pdR4Pgr6vOUcGlVdxAz0yVy6F-2B2GV8r83xnmTpDMPM8f5M-3D_P1L0NV5fXQ-2Fk2ezJ7xYR3Ac8eQNE5mcZ3ZViRgxqmiWWddouDRu-2BMPLoGNOXAq5qELO-2BTFil03oKYmdLzdT98E0S1HBYCCaAw4fsIpVj3f81FflWMEH2qnRyxYNWgIW9pCfomp2RdAoutR3e-2F85J-2BtAlATtOzP2AreuuTsF11mKMiqFWe0z2uqdOCJ1eb22BJLh3NNEYcD2wdfupNMwUdA-3D-3D [2] https://u4060579.ct.sendgrid.net/wf/click?upn=Ns3hUQ8zqyROw-2FUif9tAMxZgVAGHP3CdwVOnGNMb0pyBhVHiKA5bdQtixWff7YD8F7mKHHx0K1tTldQNzKZzxA-3D-3D_P1L0NV5fXQ-2Fk2ezJ7xYR3Ac8eQNE5mcZ3ZViRgxqmiWWddouDRu-2BMPLoGNOXAq5qy6b-2F-2FRiTZnglU-2F0JD-2BcYTS7OEn88NsNHBuj6Uyi-2Bbu0mNPVQVTRIa92px-2FFSzR-2FIAaJj6FzZ7PNixAqG6LkKdMCVDdXkMGs1QmMWQS9cYg6ozIX4rrVYPmJQrfAHT-2FFH1mHQhJkhxGxbM458SlnRmQ-3D-3D [3] https://u4060579.ct.sendgrid.net/wf/click?upn=O9eTlgqxXzWn1NMw0BaGZhS4A7mVASBxW7T3kd1x5CJhFTYxWxmMz6UuGf3tNZ9TncSaef8RBhJ1MjFL6BBs8Q-3D-3D_P1L0NV5fXQ-2Fk2ezJ7xYR3Ac8eQNE5mcZ3ZViRgxqmiWWddouDRu-2BMPLoGNOXAq5qqYed7lsmf7TL-2BmvB75aRf0VNEaIM5VOUGi9u-2FFpuB9-2FUdSSxhWmNEUwNGvoC6dTIA-2FHLvgI4OQV-2FoehtoqyuESnqmHFiNXNQTtz3op7cDog7nZjmlBcfNa71Tt4ef4GoiBKCcxkCLydO3yMbBAEmmQ-3D-3D =================================================== I have set up a complete KDE development environment using kdesrc-build and am currently in the process of writing a patch for #373178 - Blurry scaling on HiDPI for gwenview. I know this project covers many different parts of KDE - frameworks, applications and possibly the workspace too. Is there somebody who thinks this is a good idea and is willing to mentor it? I’m looking also forward to any feedback you have about this proposal. If you think that there is not a high chance that this project will get selected, please tell me and I will choose another one from the GSoC 2017 Ideas List. Greetings, Lukas Hetzenecker