diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 07acb93..558cdf6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -123,7 +123,8 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
- path: dist/gotify_tray-*.whl
+ name: gotify_tray-${{ github.ref_name }}-py3-none-any.whl
+ path: dist/gotify_tray-${{ github.ref_name }}-py3-none-any.whl
release:
runs-on: ubuntu-latest
@@ -145,4 +146,4 @@ jobs:
gotify-tray_amd64_debian_bullseye.deb
gotify-tray_amd64_debian_bookworm.deb
gotify-tray.dmg
- gotify_tray-*.whl
+ gotify_tray-${{ github.ref_name }}-py3-none-any.whl
diff --git a/gotify_tray/database/default_settings.py b/gotify_tray/database/default_settings.py
index 4376c1b..6ce350d 100644
--- a/gotify_tray/database/default_settings.py
+++ b/gotify_tray/database/default_settings.py
@@ -16,11 +16,6 @@ DEFAULT_SETTINGS = {
"tray/notifications/icon/show": True,
"watchdog/interval/s": 60,
"MessageWidget/image/size": 33,
- "MessageWidget/font/title": "Noto Sans,12,-1,5,75,0,0,0,0,0,Bold",
- "MessageWidget/font/date": "Noto Sans,11,-1,5,50,1,0,0,0,0,Italic",
- "MessageWidget/font/message": "Noto Sans,11,-1,5,50,0,0,0,0,0,Regular",
- "ApplicationItem/font": "Noto Sans,10,-1,5,50,0,0,0,0,0,Regular",
- "MainWindow/font/application": "Noto Sans,13,-1,5,75,0,0,0,0,0,Bold",
"MainWindow/label/size": 25,
"MainWindow/button/size": 33,
"MainWindow/application/icon/size": 40,
diff --git a/gotify_tray/gui/MainApplication.py b/gotify_tray/gui/MainApplication.py
index d494fa7..a3107c9 100644
--- a/gotify_tray/gui/MainApplication.py
+++ b/gotify_tray/gui/MainApplication.py
@@ -1,6 +1,7 @@
import getpass
import logging
import os
+import platform
import sys
import tempfile
from typing import List, Union
@@ -337,7 +338,10 @@ class MainApplication(QtWidgets.QApplication):
def tray_activated_callback(
self, reason: QtWidgets.QSystemTrayIcon.ActivationReason
):
- if reason == QtWidgets.QSystemTrayIcon.ActivationReason.Trigger:
+ if (
+ reason == QtWidgets.QSystemTrayIcon.ActivationReason.Trigger
+ and platform.system() != "Darwin"
+ ):
self.main_window.bring_to_front()
def link_callbacks(self):
@@ -382,6 +386,7 @@ class MainApplication(QtWidgets.QApplication):
self.gotify_client.stop_final()
super(MainApplication, self).quit()
+ sys.exit(0)
def start_gui():
diff --git a/gotify_tray/gui/designs/widget_settings.py b/gotify_tray/gui/designs/widget_settings.py
index abbc233..3a0f95c 100644
--- a/gotify_tray/gui/designs/widget_settings.py
+++ b/gotify_tray/gui/designs/widget_settings.py
@@ -155,7 +155,7 @@ class Ui_Dialog(object):
self.groupBox_notifications.setTitle(_translate("Dialog", "Notifications"))
self.label_notification_duration_ms.setText(_translate("Dialog", "ms"))
self.label_notification_priority.setText(_translate("Dialog", "Minimum priority to show notifications:"))
- self.label_notification_duration.setText(_translate("Dialog", "
Notification duration [?]:
"))
+ self.label_notification_duration.setText(_translate("Dialog", "Notification duration:"))
self.cb_notify.setText(_translate("Dialog", "Show a notification for missed messages after reconnecting"))
self.groupBox_server_info.setTitle(_translate("Dialog", "Server info"))
self.pb_change_server_info.setText(_translate("Dialog", "Change server info"))
diff --git a/gotify_tray/gui/designs/widget_settings.ui b/gotify_tray/gui/designs/widget_settings.ui
index c385c02..3f3579b 100644
--- a/gotify_tray/gui/designs/widget_settings.ui
+++ b/gotify_tray/gui/designs/widget_settings.ui
@@ -70,7 +70,7 @@
-
- <html><head/><body><p>Notification duration <span style=" font-weight:600; color:#0000ff;">[?]</span>:</p></body></html>
+ Notification duration:
diff --git a/gotify_tray/gui/models/ApplicationModel.py b/gotify_tray/gui/models/ApplicationModel.py
index 716fe38..8226004 100644
--- a/gotify_tray/gui/models/ApplicationModel.py
+++ b/gotify_tray/gui/models/ApplicationModel.py
@@ -26,9 +26,11 @@ class ApplicationModelItem(QtGui.QStandardItem):
self.setDropEnabled(False)
self.setData(application, ApplicationItemDataRole.ApplicationRole)
self.setData(icon, ApplicationItemDataRole.IconRole)
- font = QtGui.QFont()
- font.fromString(settings.value("ApplicationItem/font", type=str))
- self.setFont(font)
+
+ if s := settings.value("ApplicationItem/font", type=str):
+ font = QtGui.QFont()
+ font.fromString(s)
+ self.setFont(font)
if icon:
self.setIcon(icon)
@@ -44,9 +46,10 @@ class ApplicationAllMessagesItem(QtGui.QStandardItem):
super(ApplicationAllMessagesItem, self).__init__("ALL MESSAGES")
self.setDropEnabled(False)
self.setDragEnabled(False)
- font = QtGui.QFont()
- font.fromString(settings.value("ApplicationItem/font", type=str))
- self.setFont(font)
+ if s := settings.value("ApplicationItem/font", type=str):
+ font = QtGui.QFont()
+ font.fromString(s)
+ self.setFont(font)
class ApplicationModel(QtGui.QStandardItemModel):
diff --git a/gotify_tray/gui/widgets/MainWindow.py b/gotify_tray/gui/widgets/MainWindow.py
index b76edd1..ad4b974 100644
--- a/gotify_tray/gui/widgets/MainWindow.py
+++ b/gotify_tray/gui/widgets/MainWindow.py
@@ -68,7 +68,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.listView_applications.setIconSize(QtCore.QSize(size, size))
font_title = QtGui.QFont()
- font_title.fromString(settings.value("MainWindow/font/application", type=str))
+ if s := settings.value("MainWindow/font/application", type=str):
+ font_title.fromString(s)
+ else:
+ font_title.setBold(True)
self.label_application.setFont(font_title)
# Set tooltips
diff --git a/gotify_tray/gui/widgets/MessageWidget.py b/gotify_tray/gui/widgets/MessageWidget.py
index 8e737f9..db1cde6 100644
--- a/gotify_tray/gui/widgets/MessageWidget.py
+++ b/gotify_tray/gui/widgets/MessageWidget.py
@@ -21,17 +21,7 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form):
message = message_item.data(MessageItemDataRole.MessageRole)
# Fonts
- font_title = QtGui.QFont()
- font_date = QtGui.QFont()
- font_content = QtGui.QFont()
-
- font_title.fromString(settings.value("MessageWidget/font/title", type=str))
- font_date.fromString(settings.value("MessageWidget/font/date", type=str))
- font_content.fromString(settings.value("MessageWidget/font/message", type=str))
-
- self.label_title.setFont(font_title)
- self.label_date.setFont(font_date)
- self.label_message.setFont(font_content)
+ self.set_fonts()
# Display message contents
self.label_title.setText(message.title)
@@ -74,6 +64,28 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form):
self.link_callbacks()
+ def set_fonts(self):
+ font_title = QtGui.QFont()
+ font_date = QtGui.QFont()
+ font_content = QtGui.QFont()
+
+ if s := settings.value("MessageWidget/font/title", type=str):
+ font_title.fromString(s)
+ else:
+ font_title.setBold(True)
+
+ if s := settings.value("MessageWidget/font/date", type=str):
+ font_date.fromString(s)
+ else:
+ font_date.setItalic(True)
+
+ if s := settings.value("MessageWidget/font/message", type=str):
+ font_content.fromString(s)
+
+ self.label_title.setFont(font_title)
+ self.label_date.setFont(font_date)
+ self.label_message.setFont(font_content)
+
def link_callbacks(self):
self.pb_delete.clicked.connect(
lambda: self.deletion_requested.emit(self.message_item)
diff --git a/gotify_tray/gui/widgets/SettingsDialog.py b/gotify_tray/gui/widgets/SettingsDialog.py
index 2c13d5f..0c98358 100644
--- a/gotify_tray/gui/widgets/SettingsDialog.py
+++ b/gotify_tray/gui/widgets/SettingsDialog.py
@@ -1,4 +1,5 @@
import logging
+import platform
import os
import webbrowser
@@ -46,9 +47,11 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog):
self.spin_duration.setValue(
settings.value("tray/notifications/duration_ms", type=int)
)
- self.label_notification_duration.setToolTip(
- "This setting is ignored on Windows."
- )
+ if platform.system() == "Windows":
+ # The notification duration setting is ignored by windows
+ self.label_notification_duration.hide()
+ self.spin_duration.hide()
+ self.label_notification_duration_ms.hide()
self.cb_notify.setChecked(
settings.value("message/check_missed/notify", type=bool)