diff --git a/.github/workflows/job-test-linux-ubuntu.yml b/.github/workflows/job-test-linux-ubuntu.yml index cf781572a..44b3036ce 100644 --- a/.github/workflows/job-test-linux-ubuntu.yml +++ b/.github/workflows/job-test-linux-ubuntu.yml @@ -17,6 +17,7 @@ jobs: include: - distro: ubuntu20.04 - distro: ubuntu19.10 + - distro: ubuntu21.04 # - distro: ubuntu18.04 #Need to install git 2.18+ # - distro: ubuntu16.04 #Need to install git 2.18+ diff --git a/ChangeLog b/ChangeLog index bf901520a..ca6037579 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,10 +8,12 @@ Bug fixes: - #7001 Add option to prevent computer from going to sleep - #7029 | #7033 Wrong encoding for text copied between linux and windows - #7015 Fix Windows service not starting up after sleep +- #7036 Fix tray icon not changing theme on Big Sur Enhancements: - #6998 Remove functionality related to the screen saver synchronisation - #7026 Update the way we package OpenSSL for Windows build +- #7037 Add Ubuntu 21.04 build - #7030 Add user nofication for secure input on Mac =========== diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 09216f164..5cf97134b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,7 +6,7 @@ jobs: - job: Linux pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' strategy: matrix: @@ -27,6 +27,10 @@ jobs: image: symless/synergy-core:ubuntu20.04 packager: deb name: ubuntu20 + ubuntu2104: + image: symless/synergy-core:ubuntu21.04 + packager: deb + name: ubuntu21 debian9: image: symless/synergy-core:debian9 packager: deb diff --git a/src/gui/src/MainWindow.cpp b/src/gui/src/MainWindow.cpp index d46458754..e89aad348 100644 --- a/src/gui/src/MainWindow.cpp +++ b/src/gui/src/MainWindow.cpp @@ -379,10 +379,19 @@ void MainWindow::setIcon(qSynergyState state) const QIcon icon; #ifdef Q_OS_MAC - if (isOSXUseDarkIcons()) - icon.addFile(synergyDarkIconFiles[state]); - else - icon.addFile(synergyLightIconFiles[state]); + switch(getOSXIconsTheme()) { + case IconsTheme::ICONS_DARK: + icon.addFile(synergyDarkIconFiles[state]); + break; + case IconsTheme::ICONS_LIGHT: + icon.addFile(synergyLightIconFiles[state]); + break; + case IconsTheme::ICONS_TEMPLATE: + default: + icon.addFile(synergyDarkIconFiles[state]); + icon.setIsMask(true); + break; + } #else icon.addFile(synergyDefaultIconFiles[state]); #endif diff --git a/src/gui/src/OSXHelpers.h b/src/gui/src/OSXHelpers.h index cfae2b4a4..246bead75 100644 --- a/src/gui/src/OSXHelpers.h +++ b/src/gui/src/OSXHelpers.h @@ -21,10 +21,16 @@ #include +enum class IconsTheme { + ICONS_DARK, + ICONS_LIGHT, + ICONS_TEMPLATE +}; + bool isOSXSecureInputEnabled(); int getOSXSecureInputEventPID(); std::string getOSXProcessName(int pid); bool isOSXInterfaceStyleDark(); -bool isOSXUseDarkIcons(); +IconsTheme getOSXIconsTheme(); #endif diff --git a/src/gui/src/OSXHelpers.mm b/src/gui/src/OSXHelpers.mm index 9a919ec9e..7cd319daf 100644 --- a/src/gui/src/OSXHelpers.mm +++ b/src/gui/src/OSXHelpers.mm @@ -101,13 +101,12 @@ isOSXInterfaceStyleDark() return (style && [style isKindOfClass:[NSString class]] && NSOrderedSame == [style caseInsensitiveCompare:@"dark"]); } -bool -isOSXUseDarkIcons() +IconsTheme +getOSXIconsTheme() { - if (@available(macOS 11, *)) { - return true; - } - else { - return isOSXInterfaceStyleDark(); - } + if (@available(macOS 11, *)) + return IconsTheme::ICONS_TEMPLATE; + else if(isOSXInterfaceStyleDark()) + return IconsTheme::ICONS_DARK; + return IconsTheme::ICONS_LIGHT; }