Building the KDE4 for Slackware 15.0 in the KTown style - a build based on the PBSLACKS patches
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
... also the notifications patch made by my friend.
Congratulations for uploading the v3, but to know that you haven't applied properly kde-workspace-notifications.patch.gz for kde-workspace, and that's why the notifications don't work.
The file actually has the extension ".patch.gz" not ".diff.gz"
By changing the name of the patch and rebuilding kde-workspace, the notifications worked OK. I could say that it works exactly as I remember about KDE4.
And yes, the NM integration is still not perfect.
Last edited by ZhaoLin1457; 03-27-2023 at 11:03 AM.
Congratulations for uploading the v3, but to know that you haven't applied properly kde-workspace-notifications.patch.gz for kde-workspace, and that's why the notifications don't work.
The file actually has the extension ".patch.gz" not ".diff.gz"
By changing the name of the patch and rebuilding kde-workspace, the notifications worked OK. I could say that it works exactly as I remember about KDE4.
So, there is a patch for the third build of my kde4town.
It's a 17.05 MB tarball named kde4town-patch-20230327.tar, containing the proper patched kde/kde-workspace-4.11.22-x86_64-9_KDE4.txz in the packages folder and the proper kde/patch/kde-workspace.patch file on source folder.
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,098
Rep:
Quote:
Originally Posted by LuckyCyborg
......I have Qt5 installed. In fact, my build system is a full install excluding the KDE series which contains the Plasma5........
A search of this thread didn't find an answer, so my apologies if this has already been covered and I missed it.
So, my question is, how to install your project?
For example, can one do a fresh installation of the latest -current .iso, without kde5,
then install your packages and dependencies, reboot, and expect kde4 to run?
Thanks.
A search of this thread didn't find an answer, so my apologies if this has already been covered and I missed it.
So, my question is, how to install your project?
For example, can one do a fresh installation of the latest -current .iso, without kde5,
then install your packages and dependencies, reboot, and expect kde4 to run?
Thanks.
First of all, this build of KDE4 of mine targets the Slackware 15.0 and as you can see, there are still some problems to struggle with: the NetworkManager integration and that QML issue. But, overall the desktop is functional, stable and usable.
Probably in future I will target the Slackware 15.1 too, when it will be released, but not the -current, because it changes too fast and my expertise (and work power) is limited.
Secondly, this particular KDE4 packages set is supposed to work in a full installation of Slackware 15.0 excluding the KDE series which, as you know, contains the Plasma5. As it's certainly obvious, the KDE4 can't tag along with Plasma5
So, the best is a fresh full install Slackware 15.0 but without KDE series, then to download the latest packages tarball, extract it, then you can find and install KDE4 as usual with "upgradepkg --install-new --reinstall"
This, of course if you can consider me as a "trusted packages builder" , otherwise you have also the source tarball where is the full build tree, with all scripts, patches and source tarballs, organized in the KTown style. Hence, you can build your own KDE4 packages - of course, in a system like I have specified. And preferably without any other custom packages being installed.
Last edited by LuckyCyborg; 03-31-2023 at 11:20 AM.
I have solved the QMenuItem with a very simple fix.
The problem comes from the compilation of Qt4 with QT4 already there. The Qt4 compilation system detect the Qt3Support headers and when compiling the QtGui lib it includes a QMenuItem which is compiled only if qt3support is enable.
This QMenuItem is not used when we compile KDE4. It exists only in the compiled qt lib QtGui.so
But when KDE is running the qt runtime found 2 instances of the QMenuItem object, one from QtGui.so and the other from KDE, the one we need. The qt runtime take the wrong one which has no qt signals, nor properties in it.
The remedy is simple and there is no need to recompile qt : I have renamed QMenuItem to QMenuItem2 and has changes the few dependencies (QMenu and the class which generate the kde component lib).
So you just have to pick my latest kde-runtime patch and suppress the 3 kde-workspace patches (widgetexplorer, notifications and also activities which had the same QMenuItem problem). And recompile / reinstall kde-runtime and kde-workspace. And all the missing menus are again there.
In fact KDE4 can coexist with the KF5 Foundation classes which are a subpart of KDE5. I have them since a long time and I compile some tools with qt5 and KF5 and they work well in my KDE4 / QT4 desktop.
For KDE5 applications some are upgrades of ones which are in KDE4 and compiled with QT4. Those wil conflicts with KDE4.
I have solved the QMenuItem with a very simple fix.
The problem comes from the compilation of Qt4 with QT4 already there. The Qt4 compilation system detect the Qt3Support headers and when compiling the QtGui lib it includes a QMenuItem which is compiled only if qt3support is enable.
This QMenuItem is not used when we compile KDE4. It exists only in the compiled qt lib QtGui.so
But when KDE is running the qt runtime found 2 instances of the QMenuItem object, one from QtGui.so and the other from KDE, the one we need. The qt runtime take the wrong one which has no qt signals, nor properties in it.
The remedy is simple and there is no need to recompile qt : I have renamed QMenuItem to QMenuItem2 and has changes the few dependencies (QMenu and the class which generate the kde component lib).
So you just have to pick my latest kde-runtime patch and suppress the 3 kde-workspace patches (widgetexplorer, notifications and also activities which had the same QMenuItem problem). And recompile / reinstall kde-runtime and kde-workspace. And all the missing menus are again there.
I have solved the QMenuItem with a very simple fix.
The problem comes from the compilation of Qt4 with QT4 already there. The Qt4 compilation system detect the Qt3Support headers and when compiling the QtGui lib it includes a QMenuItem which is compiled only if qt3support is enable.
This QMenuItem is not used when we compile KDE4. It exists only in the compiled qt lib QtGui.so
But when KDE is running the qt runtime found 2 instances of the QMenuItem object, one from QtGui.so and the other from KDE, the one we need. The qt runtime take the wrong one which has no qt signals, nor properties in it.
The remedy is simple and there is no need to recompile qt : I have renamed QMenuItem to QMenuItem2 and has changes the few dependencies (QMenu and the class which generate the kde component lib).
So you just have to pick my latest kde-runtime patch and suppress the 3 kde-workspace patches (widgetexplorer, notifications and also activities which had the same QMenuItem problem). And recompile / reinstall kde-runtime and kde-workspace. And all the missing menus are again there.
I can confirm that this patch fixes the QML problem. Heartiest congratulations!
I used kde4town v3 as published by LuckyCyborg, upgraded with "upgradepkg --reinstall -reinstall */*.t?z" after which I applied the changes proposed by you to the sources and built kde-runtime and kde-workspace packages.
So, practically now only the problem of NM integration remains, which still does not work completely correctly. If this problem will also be solved, I think that the porting of KDE4 in Slackware 15.0 is completed.
If you are kind, I would like to add an additionally small request: as you know, the task manager displays a maximum of 4 tooltips for an application with multiple open windows. Probably years ago it was a very smart solution, but today these 4 tooltips seem few, considering that today's monitors have resolutions of 1600x900 or 1680x1050. So here there is room for more tooltips.
Could you tell me where this number of 4 tooltips can be changed, or create a patch for it? I would like to change to the 6 or 7 tooltips presented. Thank you!
Last edited by ZhaoLin1457; 04-02-2023 at 06:57 AM.
I can confirm that this patch fixes the QML problem. Heartiest congratulations!
I used kde4town v3 as published by LuckyCyborg, upgraded with "upgradepkg --reinstall -reinstall */*.t?z" after which I applied the changes proposed by you to the sources and built kde-runtime and kde-workspace packages.
So, practically now only the problem of NM integration remains, which still does not work completely correctly. If this problem will also be solved, I think that the porting of KDE4 in Slackware 15.0 is completed.
If you are kind, I would like to add an additionally small request: as you know, the task manager displays a maximum of 4 tooltips for an application with multiple open windows. Probably years ago it was a very smart solution, but today these 4 tooltips seem few, considering that today's monitors have resolutions of 1600x900 or 1680x1050. So here there is room for more tooltips.
Could you tell me where this number of 4 tooltips can be changed, or create a patch for it? I would like to change to the 6 or 7 tooltips presented. Thank you!
I didn't see the 4 tooltips maximum value. I can try to look after that.
For the nm applet I will look after it more closely as soon as I will have some time.
Heck, in the end seems like that it was a building issue...
I think this was a secret sauce, and it wasn't your fault. Compiling Qt4 without being installed was just a little building secret of our BDFL.
Looking at your and BrunoLafleur's adventures in porting KDE4 to Slackware 15.0, I can't help but think of the efforts of Monsieur Nobodino who is struggling with the entire building of Slackware. And surely there are many more "secret sauces" here.
Last edited by ZhaoLin1457; 04-02-2023 at 07:17 AM.
I didn't see the 4 tooltips maximum value. I can try to look after that.
However, this is how the default task manager in KDE4 behaves. Even if I opened 6 Firefox windows, they are present in the taskbar button list, but a maximum of 4 tooltips (windows) are presented in the mouse hover over this button.
This limitation does not exist in the Smooth-Tasks alternative that is present in kde4town v3
Thank you in advance if you could take the time to look at this.
Quote:
Originally Posted by BrunoLafleur
For the nm applet I will look after it more closely as soon as I will have some time.
I look forward to the complete solution of the NetworkManager integration.
As much as we would love Plasma5, it seems that KDE4 behaves much better on old computers or with limited performance.
As I said, I think this fixing of integration of NetworkManager is the key to concluding this porting of KDE4. Otherwise, it seems that KDE4 now works perfectly.
Last edited by ZhaoLin1457; 04-02-2023 at 07:28 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.