KWrite on Mac

After some hacking on frameworks, I have the first running KWrite version on Mac that uses an unpatched Qt from the offline installer:
KWrite on Mac
It is still ugly, as scaled on my HiDPI display as the plist file is missing and it crashs on everything (aka open dialog) and has no icons.

But beside that, it works.

No magic, just the xcode clang toolchain + stock qt + stock cmake + gettext + KDE Frameworks 5 ;)

Script that did the job (still some patches to frameworks missing in master that remove optional deps and fixes linking), it is available in updated form in kate.git:

The changes will benefit Windows builds, too, as they made the dependencies a bit smaller. You for example need no longer phonon to get this running, nor do you need to hassle around with the xslt/xml doctools on Windows.

Patches that are needed t to be applied to have this working:

16 thoughts on “KWrite on Mac

    1. Still, a lot of stuff is to do here.
      I think, if I would have dbus running, some of the crashs would go away. Still, to locate icons, more work is needed I guess.
      On the bright side, things like hidpi support just need some own plist template we could ship with ECM, will work on that in the next days, then at least not all things look that badly scaled here and my eyes stop bleeding :=)

  1. I think actually that this was very unproductive…
    That I got that far is actually your work, as I just did the same as you on Windows with the large CMake file: start with plain qt/cmake and do all other stuff manually. Did actually make it work far better than following the mac ports / homebrew route.

      1. Ideally I would aim to have a application bundle for Kate, like Krita aims for one, too. That it works nice in homebrew is ok and that should stay that way, but I think for easy deployment, it is much nicer to have application bundles around as the standard distribution way.

        1. oh yes, that would be gorgeous. Let me know if you make any progress :) I always dreamt that our homebrew packages would be frameworks, too, so you could just copy them to your kwrite bundle and make your redistributable in no time :)

          Unfortunately, KDE still looks in a lot of global places, but hey, it’s open source, we can fix it ;)

          1. At the moment, from core to ktexteditor, I think I patched aways all global lookups expect for the io slave stuff, which I am not that into. kxmlgui uses resources, even for stuff shipped with it, kconfig patch is prepared for global shipped defaults in resources, ktexteditor ships all its assets in resources and even KWrite/Kate itself need no external stuff.

            Still, e.g. icons are completly missing, like seen above, but I think that is not that hard to solve, but I must read first more about the fromTheme lookup Qt uses.

    1. A lot of “my work” was to check what emerge from kde-on-windows does and what has been done with Krita for windows.
      Your productiveness was the starting to push/drive changes to Frameworks5 :)

    1. I did, and Harald did a great job with that! Just like the MacPorts people do a great job with shipping all stuff. But the aim for Frameworks should be: it must be usable for 3rdparty devs. At least we always try to promote that. This means you must be able to build some app bundle with it. There is still a long way to go for that.

    2. I work with journalists, activists and non-profit organizations in Europe, West Asia, and North Africa. Many KDE apps would work really well for that target audience, both Windows and OS X. Examples: KWrite, Kate, Kontact (KMail, KAddressbook, Kleopatra), KSnapshot, Gwenview, and Okular.

      Homebrew and the existing KDE on Windows project are really great but very difficult for many people to understand if you are trying to convince them to look at your software. Having traditional .exe or .msi installers for Windows and .dmg or .pkg installers for OS X would help me and the people I work to help get access to this high quality software.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top