mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-03-17 19:52:31 +00:00
[Linux] Add CLI flag to hide the window on startup
I like to start this program when connecting to my AirPods and it isn't necessary for me to have the window pop up. Therefore, using the --hide flag when starting the program will hide the window on startup. This could also be a configuration option (e.g. 'Start minimized') but I went with the CLI flag for simplicity for now. However, if this is a more viable option (and it may be better in the future), I can implement this as an option in the settings instead.
This commit is contained in:
@@ -5,7 +5,7 @@ import QtQuick.Controls 2.15
|
|||||||
|
|
||||||
ApplicationWindow {
|
ApplicationWindow {
|
||||||
id: mainWindow
|
id: mainWindow
|
||||||
visible: true
|
visible: !airPodsTrayApp.hideOnStart
|
||||||
width: 400
|
width: 400
|
||||||
height: 300
|
height: 300
|
||||||
title: "AirPods Settings"
|
title: "AirPods Settings"
|
||||||
|
|||||||
@@ -35,15 +35,17 @@ class AirPodsTrayApp : public QObject {
|
|||||||
Q_PROPERTY(AutoStartManager *autoStartManager READ autoStartManager CONSTANT)
|
Q_PROPERTY(AutoStartManager *autoStartManager READ autoStartManager CONSTANT)
|
||||||
Q_PROPERTY(bool notificationsEnabled READ notificationsEnabled WRITE setNotificationsEnabled NOTIFY notificationsEnabledChanged)
|
Q_PROPERTY(bool notificationsEnabled READ notificationsEnabled WRITE setNotificationsEnabled NOTIFY notificationsEnabledChanged)
|
||||||
Q_PROPERTY(int retryAttempts READ retryAttempts WRITE setRetryAttempts NOTIFY retryAttemptsChanged)
|
Q_PROPERTY(int retryAttempts READ retryAttempts WRITE setRetryAttempts NOTIFY retryAttemptsChanged)
|
||||||
|
Q_PROPERTY(bool hideOnStart READ hideOnStart CONSTANT)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AirPodsTrayApp(bool debugMode, QObject *parent = nullptr)
|
AirPodsTrayApp(bool debugMode, bool hideOnStart, QObject *parent = nullptr)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, debugMode(debugMode)
|
, debugMode(debugMode)
|
||||||
, m_battery(new Battery(this))
|
, m_battery(new Battery(this))
|
||||||
, monitor(new BluetoothMonitor(this))
|
, monitor(new BluetoothMonitor(this))
|
||||||
, m_settings(new QSettings("AirPodsTrayApp", "AirPodsTrayApp"))
|
, m_settings(new QSettings("AirPodsTrayApp", "AirPodsTrayApp"))
|
||||||
, m_autoStartManager(new AutoStartManager(this))
|
, m_autoStartManager(new AutoStartManager(this))
|
||||||
|
, m_hideOnStart(hideOnStart)
|
||||||
{
|
{
|
||||||
if (debugMode) {
|
if (debugMode) {
|
||||||
QLoggingCategory::setFilterRules("airpodsApp.debug=true");
|
QLoggingCategory::setFilterRules("airpodsApp.debug=true");
|
||||||
@@ -139,6 +141,7 @@ public:
|
|||||||
bool notificationsEnabled() const { return trayManager->notificationsEnabled(); }
|
bool notificationsEnabled() const { return trayManager->notificationsEnabled(); }
|
||||||
void setNotificationsEnabled(bool enabled) { trayManager->setNotificationsEnabled(enabled); }
|
void setNotificationsEnabled(bool enabled) { trayManager->setNotificationsEnabled(enabled); }
|
||||||
int retryAttempts() const { return m_retryAttempts; }
|
int retryAttempts() const { return m_retryAttempts; }
|
||||||
|
bool hideOnStart() const { return m_hideOnStart; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool debugMode;
|
bool debugMode;
|
||||||
@@ -897,6 +900,7 @@ private:
|
|||||||
QSettings *m_settings;
|
QSettings *m_settings;
|
||||||
AutoStartManager *m_autoStartManager;
|
AutoStartManager *m_autoStartManager;
|
||||||
int m_retryAttempts = 3;
|
int m_retryAttempts = 3;
|
||||||
|
bool m_hideOnStart = false;
|
||||||
|
|
||||||
QString m_batteryStatus;
|
QString m_batteryStatus;
|
||||||
QString m_earDetectionStatus;
|
QString m_earDetectionStatus;
|
||||||
@@ -917,16 +921,18 @@ int main(int argc, char *argv[]) {
|
|||||||
app.setQuitOnLastWindowClosed(false);
|
app.setQuitOnLastWindowClosed(false);
|
||||||
|
|
||||||
bool debugMode = false;
|
bool debugMode = false;
|
||||||
|
bool hideOnStart = false;
|
||||||
for (int i = 1; i < argc; ++i) {
|
for (int i = 1; i < argc; ++i) {
|
||||||
if (QString(argv[i]) == "--debug") {
|
if (QString(argv[i]) == "--debug")
|
||||||
debugMode = true;
|
debugMode = true;
|
||||||
break;
|
|
||||||
}
|
if (QString(argv[i]) == "--hide")
|
||||||
|
hideOnStart = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QQmlApplicationEngine engine;
|
QQmlApplicationEngine engine;
|
||||||
qmlRegisterType<Battery>("me.kavishdevar.Battery", 1, 0, "Battery");
|
qmlRegisterType<Battery>("me.kavishdevar.Battery", 1, 0, "Battery");
|
||||||
AirPodsTrayApp *trayApp = new AirPodsTrayApp(debugMode, &engine);
|
AirPodsTrayApp *trayApp = new AirPodsTrayApp(debugMode, hideOnStart, &engine);
|
||||||
engine.rootContext()->setContextProperty("airPodsTrayApp", trayApp);
|
engine.rootContext()->setContextProperty("airPodsTrayApp", trayApp);
|
||||||
engine.loadFromModule("linux", "Main");
|
engine.loadFromModule("linux", "Main");
|
||||||
return app.exec();
|
return app.exec();
|
||||||
|
|||||||
Reference in New Issue
Block a user