Do not wait for tray to become available

Closes #1024
This commit is contained in:
Andrew Hayzen 2021-03-02 22:48:14 +00:00
parent 12024b9a5d
commit 2080784dd1
1 changed files with 1 additions and 31 deletions

View File

@ -16,9 +16,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define TRAY_RETRY_COUNT 5
#define TRAY_RETRY_WAIT 2000
#include "QBarrierApplication.h"
#include "MainWindow.h"
#include "AppConfig.h"
@ -47,8 +44,6 @@ public:
}
};
int waitForTray();
#if defined(Q_OS_MAC)
bool checkMacAssistiveDevices();
#endif
@ -93,14 +88,12 @@ int main(int argc, char* argv[])
}
#endif
int trayAvailable = waitForTray();
QApplication::setQuitOnLastWindowClosed(false);
QSettings settings;
AppConfig appConfig (&settings);
if (appConfig.getAutoHide() && !trayAvailable)
if (appConfig.getAutoHide() && !QSystemTrayIcon::isSystemTrayAvailable())
{
// force auto hide to false - otherwise there is no way to get the GUI back
fprintf(stdout, "System tray not available, force disabling auto hide!\n");
@ -124,29 +117,6 @@ int main(int argc, char* argv[])
return app.exec();
}
int waitForTray()
{
// on linux, the system tray may not be available immediately after logging in,
// so keep retrying but give up after a short time.
int trayAttempts = 0;
while (true)
{
if (QSystemTrayIcon::isSystemTrayAvailable())
{
break;
}
if (++trayAttempts > TRAY_RETRY_COUNT)
{
fprintf(stdout, "System tray is unavailable.\n");
return false;
}
QThreadImpl::msleep(TRAY_RETRY_WAIT);
}
return true;
}
#if defined(Q_OS_MAC)
bool checkMacAssistiveDevices()
{