Skip to content

Initial macOS port

Hennadii Chernyshchyk requested to merge github/fork/gasinvein/macos into master

Created by: gasinvein

This is a very immature port, probably not suitable for general audience, but the app builds and works (except screen grab for OCR) on macOS. Probably enough for someone who just wants this app usable on a Mac, like myself. Known problems / TODOs:

  • OCR doesn't work
  • Autostart management doesn't work
  • D-Bus is a hard requirement on macOS, where it's not widely available. Probably should be made optional with a bunch of #ifdefs. Although the D-Bus interface itself works fine.
  • Dependency bundling isn't implemented, macdeployqt not used (although this may be a good thing for package managers like MacPorts).
  • UI icons are too dark in dark mode.
  • QTaskbarControl requires a small patch to build on macOS. Given the original project is abandoned and archived, probably it should be forked?
    --- a/CMakeLists.txt
    +++ b/CMakeLists.txt
    @@ -31,7 +31,7 @@ elseif(WIN32)
     elseif(APPLE AND NOT IOS)
         target_sources(${PROJECT_NAME} PRIVATE qtaskbarcontrol_mac.mm)
        
    -    find_package(Qt COMPONENTS MacExtras REQUIRED)
    +    find_package(Qt5 COMPONENTS MacExtras REQUIRED)
         find_library(APPKIT_LIBRARY AppKit)
         target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::MacExtras ${APPKIT_LIBRARY})
     else()

Merge request reports