D7237: KIO/Mac : make kiod5 an "agent"
This revision was automatically updated to reflect the committed changes. Closed by commit R241:088a0c67ccdc: make kiod5 an "agent" on Mac (authored by rjvbb). CHANGED PRIOR TO COMMIT https://phabricator.kde.org/D7237?vs=18037=18080#toc REPOSITORY R241 KIO CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D7237?vs=18037=18080 REVISION DETAIL https://phabricator.kde.org/D7237 AFFECTED FILES src/kiod/CMakeLists.txt src/kiod/kiod_agent.mm src/kiod/kiod_main.cpp src/kpasswdserver/kpasswdserver.cpp To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
dfaure accepted this revision. This revision is now accepted and ready to land. REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D7237 To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
rjvbb set the repository for this revision to R241 KIO. REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D7237 To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
rjvbb updated this revision to Diff 18037. rjvbb added a comment. I clearly didn't have my eyes aligned with their sockets ... this should finally be the complete patch. CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D7237?vs=17997=18037 REVISION DETAIL https://phabricator.kde.org/D7237 AFFECTED FILES src/kiod/CMakeLists.txt src/kiod/kiod_agent.mm src/kiod/kiod_main.cpp src/kpasswdserver/kpasswdserver.cpp To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
rjvbb added a comment. In https://phabricator.kde.org/D7237#134438, @dfaure wrote: > Forgot to git add kiod_agent.mm? In fact, I see I have a comparable patch for kioslave, but simpler because AFAICT it won't ever put up a GUI itself. What would be an appropriate place in KIO/core where we could put the 2 functions so they can be shared? REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D7237 To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
rjvbb updated this revision to Diff 17997. rjvbb edited the summary of this revision. rjvbb added a comment. Forgot a `git add` indeed, as well as a final bit of proofreading. CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D7237?vs=17981=17997 REVISION DETAIL https://phabricator.kde.org/D7237 AFFECTED FILES src/kiod/CMakeLists.txt src/kiod/kiod_agent.mm src/kiod/kiod_main.cpp To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
rjvbb set the repository for this revision to R241 KIO. REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D7237 To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
dfaure requested changes to this revision. dfaure added a comment. This revision now requires changes to proceed. Forgot to git add kiod_agent.mm? Looks good otherwise. INLINE COMMENTS > kiod_main.cpp:132 > +// possibly because of how things have been set up after creating > +// the QApplication instance. Failure to do this will make disable > +// text input into dialogs we may post. s/make disable/disable/ REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D7237 To: rjvbb, #frameworks, dfaure Cc: kde-mac, dfaure, #frameworks
D7237: KIO/Mac : make kiod5 an "agent"
rjvbb created this revision. rjvbb added a project: Frameworks. REVISION SUMMARY This introduces a similar change to kiod5 that was already made to other comparable background applications: 1 the LSUIElement InfoDict key is set, causing the application to run like an "agent" (without Dock or AppSwitcher presence) 2 in case of kiod5, this state has to be confirmed just before calling `QApplication::exec()` (failure to do so disables text inputs in the dialogs the application may post) 3 when a password dialog is posted the application (kiod5) is brought to the foreground instead of attaching the dialog to the application responsible for the request. TEST PLAN works as intended on Mac, no change elsewhere. It might be useful to include the functions used in 1) and 2) above in KWindowSystem to avoid unnecessary duplication (and having to introduce ditto ObjC files). REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D7237 AFFECTED FILES src/kiod/CMakeLists.txt src/kiod/kiod_main.cpp src/kpasswdserver/kpasswdserver.cpp To: rjvbb, #frameworks Cc: kde-mac, dfaure, #frameworks