summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2018-01-22 20:37:30 +0100
committerKali Kaneko <kali@leap.se>2018-01-25 01:19:17 +0100
commit2d72f6eb4b220c8dfa3c64b2f6b82365791f0424 (patch)
tree954ff16bb354f36521e7077ff5dbd99ea4d498b4
parentc3306592fbb54fab0da44a8faaa8a1c6954537fd (diff)
[feat] implement --nowindow flag to display only systray
for some usages, specially with autostart enabled, user might want to launch only the systray. this commit implements a simple ``--nowindow`` switch that just avoids showing the main window for now. in the future, we can have a different entrypoint that just launches bitmaskd and a minimal systray widget. I'm not documenting this feature properly since I think this is still missing some functionality: the ability to switch on and off the vpn, and the ability to pass the --autostart as a flag to the bitmask entrypoint.
-rw-r--r--docs/changelog.rst3
-rw-r--r--src/leap/bitmask/gui/app.py8
2 files changed, 7 insertions, 4 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst
index c7bca741..aec261bc 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -11,8 +11,9 @@ Features
- `#9074 <https://0xacab.org/leap/bitmask-dev/issues/9074>`_: pin provider ca certs.
- `#6914 <https://0xacab.org/leap/bitmask-dev/issues/6914>`_: expose an API to retreive message status.
- `#9188 <https://0xacab.org/leap/bitmask-dev/issues/9188>`_: try other gateways if the main one fails.
-- `#9125 <https://0xacab.org/leap/bitmask-dev/issues/9125>`_: port to use qtwebengine for rendering UI.
- `#9181 <https://0xacab.org/leap/bitmask-dev/issues/9181>`_: hardcode tcp4 in the vpn connection parameters.
+- `#9125 <https://0xacab.org/leap/bitmask-dev/issues/9125>`_: port to use qtwebengine for rendering UI.
+- `#9127 <https://0xacab.org/leap/bitmask-dev/issues/9127>`_: pass --nowindow flag to launch only the systray.
- Autostart VPN if it was running when closed the application.
- Set a windows title, so that Bitmask windows can be programmatically manipulated.
- Support anonymous vpn.
diff --git a/src/leap/bitmask/gui/app.py b/src/leap/bitmask/gui/app.py
index 2988b15c..4a62adf6 100644
--- a/src/leap/bitmask/gui/app.py
+++ b/src/leap/bitmask/gui/app.py
@@ -186,7 +186,7 @@ def _handle_kill(*args, **kw):
closing = True
-def launch_gui():
+def launch_gui(with_window=True):
global qApp
global bitmaskd
global browser
@@ -218,7 +218,8 @@ def launch_gui():
timer.timeout.connect(lambda: None)
timer.start(500)
- browser.show()
+ if with_window:
+ browser.show()
sys.exit(qApp.exec_())
@@ -250,7 +251,8 @@ def start_app():
return bitmask_cli.main()
reset_authtoken()
- launch_gui()
+ with_window = '--nowindow' not in sys.argv
+ launch_gui(with_window)
if __name__ == "__main__":