diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py
index ccc14b8d1f..a3388a3c29 100644
--- a/src/calibre/gui2/__init__.py
+++ b/src/calibre/gui2/__init__.py
@@ -60,6 +60,8 @@ def _config():
help=_('Delete books from library after uploading to device'))
c.add_opt('separate_cover_flow', default=False,
help=_('Show the cover flow in a separate window instead of in the main calibre window'))
+ c.add_opt('disable_tray_notification', default=False,
+ help=_('Disable notifications from the 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 8acbb2a825..bbd5475e2b 100644
--- a/src/calibre/gui2/dialogs/config.py
+++ b/src/calibre/gui2/dialogs/config.py
@@ -186,6 +186,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
single_format = config['save_to_disk_single_format']
self.single_format.setCurrentIndex(BOOK_EXTENSIONS.index(single_format))
self.cover_browse.setValue(config['cover_flow_queue_length'])
+ self.systray_notifications.setChecked(not config['disable_tray_notification'])
from calibre.translations.compiled import translations
from calibre.translations import language_codes
from calibre.startup import get_lang
@@ -394,6 +395,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
config['toolbar_icon_size'] = self.ICON_SIZES[self.toolbar_button_size.currentIndex()]
config['show_text_in_toolbar'] = bool(self.show_toolbar_text.isChecked())
config['separate_cover_flow'] = bool(self.separate_cover_flow.isChecked())
+ config['disable_tray_notification'] = not self.systray_notifications.isChecked()
pattern = self.filename_pattern.commit()
prefs['filename_pattern'] = pattern
p = {0:'normal', 1:'high', 2:'low'}[self.priority.currentIndex()]
diff --git a/src/calibre/gui2/dialogs/config.ui b/src/calibre/gui2/dialogs/config.ui
index 7f678ce8ea..4cb33dedc8 100644
--- a/src/calibre/gui2/dialogs/config.ui
+++ b/src/calibre/gui2/dialogs/config.ui
@@ -7,7 +7,7 @@
0
0
800
- 570
+ 581
@@ -339,7 +339,7 @@
- -
+
-
-
@@ -356,7 +356,7 @@
- -
+
-
Toolbar
@@ -404,7 +404,7 @@
- -
+
-
Select visible &columns in library view
@@ -492,27 +492,34 @@
- -
+
-
Automatically send downloaded &news to ebook reader
- -
+
-
&Delete news from library when it is sent to reader
- -
+
-
Show cover &browser in a separate window (needs restart)
+ -
+
+
+ Show ¬ifications in system tray
+
+
+
diff --git a/src/calibre/gui2/status.py b/src/calibre/gui2/status.py
index 75a967943e..d55e93d377 100644
--- a/src/calibre/gui2/status.py
+++ b/src/calibre/gui2/status.py
@@ -6,7 +6,7 @@ from PyQt4.QtGui import QStatusBar, QMovie, QLabel, QWidget, QHBoxLayout, QPixma
QVBoxLayout, QSizePolicy, QToolButton, QIcon, QScrollArea, QFrame
from PyQt4.QtCore import Qt, QSize, SIGNAL, QCoreApplication
from calibre import fit_image, preferred_encoding, isosx
-from calibre.gui2 import qstring_to_unicode
+from calibre.gui2 import qstring_to_unicode, config
class BookInfoDisplay(QWidget):
class BookCoverDisplay(QLabel):
@@ -197,7 +197,7 @@ class StatusBar(QStatusBar):
def showMessage(self, msg, timeout=0):
ret = QStatusBar.showMessage(self, msg, timeout)
- if self.systray is not None:
+ if self.systray is not None and not config['disable_tray_notification']:
if isosx and isinstance(msg, unicode):
try:
msg = msg.encode(preferred_encoding)
diff --git a/src/calibre/linux.py b/src/calibre/linux.py
index 93571cce4f..ffd4c46d7f 100644
--- a/src/calibre/linux.py
+++ b/src/calibre/linux.py
@@ -58,7 +58,6 @@ entry_points = {
'librarything = calibre.ebooks.metadata.library_thing:main',
'mobi2oeb = calibre.ebooks.mobi.reader:main',
'oeb2mobi = calibre.ebooks.mobi.writer:main',
- 'lrf2html = calibre.ebooks.lrf.html.convert_to:main',
'lit2oeb = calibre.ebooks.lit.reader:main',
'oeb2lit = calibre.ebooks.lit.writer:main',
'comic2lrf = calibre.ebooks.lrf.comic.convert_from:main',