diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py
index 973e2bd584..14afa604df 100644
--- a/src/calibre/gui2/__init__.py
+++ b/src/calibre/gui2/__init__.py
@@ -53,6 +53,7 @@ def _config():
help=_('Columns to be displayed in the book list'))
c.add_opt('autolaunch_server', default=False, help=_('Automatically launch content server on application startup'))
c.add_opt('oldest_news', default=60, help=_('Oldest news kept in database'))
+ c.add_opt('systray_icon', default=True, help=_('Show system tray icon'))
return ConfigProxy(c)
config = _config()
diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py
index 707e1a1daf..38b4060084 100644
--- a/src/calibre/gui2/dialogs/config.py
+++ b/src/calibre/gui2/dialogs/config.py
@@ -117,6 +117,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
self.username.setText(opts.username)
self.password.setText(opts.password if opts.password else '')
self.auto_launch.setChecked(config['autolaunch_server'])
+ self.systray_icon.setChecked(config['systray_icon'])
def up_column(self):
idx = self.columns.currentRow()
@@ -217,6 +218,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
config['save_to_disk_single_format'] = BOOK_EXTENSIONS[self.single_format.currentIndex()]
config['cover_flow_queue_length'] = self.cover_browse.value()
prefs['language'] = str(self.language.itemData(self.language.currentIndex()).toString())
+ config['systray_icon'] = self.systray_icon.checkState() == Qt.Checked
config['autolaunch_server'] = self.auto_launch.isChecked()
sc = server_config()
sc.set('username', unicode(self.username.text()).strip())
diff --git a/src/calibre/gui2/dialogs/config.ui b/src/calibre/gui2/dialogs/config.ui
index 94a0f96e29..637e9d9325 100644
--- a/src/calibre/gui2/dialogs/config.ui
+++ b/src/calibre/gui2/dialogs/config.ui
@@ -72,7 +72,7 @@
-
- 0
+ 1
@@ -357,7 +357,7 @@
- -
+
-
-
@@ -374,7 +374,7 @@
- -
+
-
Toolbar
@@ -422,7 +422,7 @@
- -
+
-
Select visible &columns in library view
@@ -503,6 +503,13 @@
+ -
+
+
+ Enable system &tray icon (needs restart)
+
+
+
diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py
index 0f49b97beb..44c8b91a32 100644
--- a/src/calibre/gui2/main.py
+++ b/src/calibre/gui2/main.py
@@ -91,7 +91,7 @@ class Main(MainWindow, Ui_MainWindow):
self.viewers = collections.deque()
self.content_server = None
self.system_tray_icon = QSystemTrayIcon(QIcon(':/library'), self)
- if opts.no_systray:
+ if not config['systray_icon']:
self.system_tray_icon.hide()
else:
self.system_tray_icon.show()
@@ -1337,8 +1337,6 @@ path_to_ebook to the database.
help=_('Use the library located at the specified path.'))
parser.add_option('-v', '--verbose', default=0, action='count',
help=_('Log debugging information to console'))
- parser.add_option('--no-systray', default=False, action='store_true',
- help=_('Disable system tray icon'))
return parser
def main(args=sys.argv):