QStandardPaths::findExecutable() is not able to find bundles so akonadi
is unable to start. Fix that generating non bundles applications.
The processes are still visible in the macos Dock, but a follow up
patch could hide them.
See https://stackoverflow.com/questions/620841/how-to-hide-the-dock-icon
Details
Diff Detail
- Repository
- R165 Akonadi
- Branch
- Applications/19.04-bundle (branched from Applications/19.04)
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 10097 Build 10115: arc lint + arc unit
templates/akonadiresource/src/CMakeLists.txt | ||
---|---|---|
27 | The problem is that resources can have GUI (the settings dialog) - wouldn't marking them as non-gui affect this? Will the app still be able to create new windows on demand? Especially on Windows, since the app won't be marked as a win32 app...? |
Hm indeed, this would have to be tested from a windows user as well.
I did tested it on mac os and it works fine, akonadi resources can show their UI when requested.
Please add a widows reviewer if possible, i would not be able to test that on my own.
The main difference for a Qt application not marked as gui/WIN32 is that a console Windows will pop up when the application is executed.
Thanks Hannah. So this change is a no-go, we would end up with a dozen terminals on Windows this way.
Would it make sense to think about Kontact on Mac in the terms of a singular bundle, similar to Kontact Flatpak/Appimage, and take a completely different approach in packaging Kontact for Mac?
I have no idea / knowledge about flatpack/appimage, nor how it's packaged.
More largely, Having pim packaged in a single bundle would be a huge task (ie, need patched Qt, los of patched stuff etc, and the most annoying one dbus service).
I only do use Craft on macos to get KDE stuff built / used.
I do have pending fixes for craft that fixed dbus and it's service registering for the user session, that make akonadi and some dbus based applications to starts.
Does not mean it works fine for all though, but having kontact working first in Craft would be a first step closer to have a standalone bundle.
I will rework the patch to if/def the non gui marking to Apple only soon.
src/agentserver/CMakeLists.txt | ||
---|---|---|
13 | I wonder if it wouldn't be simpler, instead of these three lines, to just write set_target_properties(akonadi_agent_server PROPERTIES MACOSX_BUNDLE FALSE) This is more standard CMake, and doesn't need an ugly if(). ecm_mark_nongui_executable only has value in the fact that it encapsulates Mac and Windows. If it's mac only, then I wouldn't use it. | |
src/akonadictl/CMakeLists.txt | ||
19 | order matters? or is this a no-op change? |