<div dir="ltr"><div dir="ltr"><div>Hi HiPhish,</div><div><br></div><div>Very happy to help you here.<br></div><div><br></div><div>> what prerequisite knowledge do I need and what is the best way of learning it?</div><div></div><div><br></div><div>That's a very hard question to answer, there is no definitive answer.</div><div>Well I would say that depends on what you want to do.</div><div>If you want to do some Ui dev in Plasma, or Qml apps, you will need to learn some Qml and Kirigami.</div><div>If you want to touch to lower levels or C++ apps, you will need some knowledge of C++, Qt, cmake and about the KDE Frameworks.</div><div>But then depending on the application domain you may need to learn more.</div><div>Focus on what you already know and what you need to learn and that should be ok.<br></div><div><br></div><div>Our C++ Frameworks on top of Qt are numerous, you can find their doc at <a href="https://api.kde.org/frameworks/index.html">https://api.kde.org/frameworks/index.html</a> but that's not necessary you know them all.</div><div>We have some tutorials that should be a good starting point on that matter: <a href="https://techbase.kde.org/Development/Tutorials">https://techbase.kde.org/Development/Tutorials</a><br></div><div><div><br></div><div>We also have documentation about our organization and processes at <a href="https://community.kde.org/Main_Page">https://community.kde.org/Main_Page</a></div><div>The getting started in developpement page should be very relevant to you <a href="https://community.kde.org/Get_Involved/development">https://community.kde.org/Get_Involved/development</a></div><div></div><div><br></div></div><div>I would suggest you learn piece by piece from an example. It should help you chew the documentation and the learning.</div><div>Find something simple to work on that motivates you. An app you, a feature missing, a bug...<br></div><br><div></div><div>Application development tends to be simpler, so it can be a great starting point.</div><div>Plasma DE takes a bit longer to get to, mainly because the development environment requires more setup.</div><div>This blog post by Christoph Cullmann presents a good example on how to start hacking on a KDE App: <a href="https://kate-editor.org/post/2021/2021-02-07-kdesrc-build-and-kate/">https://kate-editor.org/post/2021/2021-02-07-kdesrc-build-and-kate/</a></div><div></div><div><br></div><div>And join matrix to get some help <a href="https://community.kde.org/Get_Involved/development#Communicate_with_the_team">https://community.kde.org/Get_Involved/development#Communicate_with_the_team</a><div></div><div>You can have a look at the developpement at <a href="https://invent.kde.org">https://invent.kde.org</a> to see how things go.</div></div></div><div><br></div><div>> I want to do as much work as reasonably possible through code rather than GUI <br>
tools. <br></div><div>That's perfectly fine, we don't have any strong ties to any development environment, nor does Qt development necessitates any IDE.</div><div><br></div><div>Contributing to a FOSS project is not easy, but it is worthwhile and a great experience.<br></div><div><br></div><div>Cheers !<br></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Méven</div></div>