Merge branch 'release-0.9.9'

This commit is contained in:
Ximi1970
2024-08-05 15:41:39 +02:00
108 changed files with 5635 additions and 6159 deletions

View File

@@ -20,7 +20,7 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Linux, Windows]
- OS / distribution: [e.g. Linux - openSuSE Leap 15.5, Windows 11]
- Architecture (32 or 64 bit)
- Desktop type / Window Manager (KDE, Xfce, Cinnamon, MATE etc)
- Thunderbird version and arch (Tb xx.xx.x, 32 or 64 bit)

17
.gitignore vendored
View File

@@ -1,6 +1,11 @@
/*.xpi
/SysTray-X
/app/SysTray-X/.qmake.stash
/app/SysTray-X/SysTray-X.pro.user.*
/bin
/bin-*
*.xpi
SysTray-X
app/SysTray-X/.qmake.stash
app/SysTray-X/SysTray-X.pro.user.*
bin
bins
bin-*
tmp
Test
Old
Doc

View File

@@ -5,13 +5,16 @@ else
ifeq (GNU/Linux,$(shell uname -o))
SYSTEM = Linux
QMAKE = qmake-qt5
ifeq (, $(shell which qmake-qt5 2>/dev/null))
ifeq (, $(shell which qmake 2>/dev/null))
$(error "No qmake in $(PATH)")
QMAKE = qmake-qt5
ifeq (, $(shell which qmake-qt5 2>/dev/null))
QMAKE = qmake6
ifeq (, $(shell which qmake6 2>/dev/null))
ifeq (, $(shell which qmake 2>/dev/null))
$(error "No qmake in $(PATH)")
endif
QMAKE = qmake
endif
endif
QMAKE = qmake
endif
else
$(error "Unknown system")
endif

View File

@@ -96,6 +96,18 @@ Installing the repository:
sudo zypper ar -f https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons/openSUSE_Tumbleweed/ SysTray-X
```
###### Slowroll
```bash
sudo zypper ar -f https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons/openSUSE_Slowroll/ SysTray-X
```
###### 15.6
```bash
sudo zypper ar -f https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons/15.6/ SysTray-X
```
###### 15.5
```bash
@@ -143,6 +155,42 @@ sudo zypper in systray-x-minimal
Installing the repository:
###### 24.04 LTS
Remove the Thunderbird snap package:
```bash
sudo apt remove thunderbird
```
Install the deb Thunderbird repository:
```bash
sudo add-apt-repository ppa:mozillateam/ppa
sudo nano /etc/apt/preferences.d/mozillateamppa
```
Insert this into the preferences file (it blocks the snap package):
```bash
Package: thunderbird*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
```
Save the file.
Refresh the repositories and install the deb version of Thunderbird:
```bash
sudo apt update
sudo apt install thunderbird
```
Now install the SysTray-X repository:
```bash
wget -q https://download.opensuse.org/repositories/home:/Ximi1970/xUbuntu_24.04/Release.key
sudo mv -f Release.key /etc/apt/trusted.gpg.d/Systray-x.Ximi1970.asc
sudo bash -c 'echo "deb https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons/xUbuntu_24.04 ./" > /etc/apt/sources.list.d/systray-x.list'
sudo apt update
```
###### 23.10
```bash
@@ -307,6 +355,13 @@ sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/ho
sudo dnf update --refresh
```
###### 40
```bash
sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons/Fedora_40/home:Ximi1970:Mozilla:Add-ons.repo
sudo dnf update --refresh
```
###### 39
```bash
@@ -589,6 +644,7 @@ it : lgbaldoni
nl :
pt_BR : fabianski7
ru_RU : agvantibo
zh_CN : UM-Li
### Remarks

3
app/.gitignore vendored
View File

@@ -1 +1,2 @@
build*
build*
Test

View File

@@ -19,15 +19,25 @@ include( ../SysTray-X.pri )
#
# Set the Qt modules
#
QT += core gui
QT += core gui widgets
unix:!macx: {
contains(DEFINES,KDE_INTEGRATION) {
QT += dbus KNotifications
}
QT += x11extras
}
lessThan(QT_MAJOR_VERSION, 6): {
QT += dbus
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
INCLUDEPATH += /usr/include/KF5/KNotifications
LIBS += -lKF5Notifications
}
greaterThan(QT_MAJOR_VERSION, 5): {
INCLUDEPATH += /usr/include/KF6/KStatusNotifierItem
LIBS += -lKF6StatusNotifierItem
}
}
lessThan(QT_MAJOR_VERSION, 6): {
QT += x11extras
}
}
#
# Define the target
@@ -45,7 +55,8 @@ TRANSLATIONS = \
languages/$${TARGET}.it.ts \
languages/$${TARGET}.nl.ts \
languages/$${TARGET}.pt-BR.ts \
languages/$${TARGET}.ru.ts
languages/$${TARGET}.ru.ts \
languages/$${TARGET}.zh-CN.ts
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
@@ -150,20 +161,22 @@ win32: {
SOURCES += \
debugwidget.cpp \
main.cpp \
nativeeventfilterbase.cpp \
shortcut.cpp \
systrayxlink.cpp \
systrayxicon.cpp \
systrayx.cpp \
debugwidget.cpp \
preferencesdialog.cpp \
preferences.cpp \
shortcut.cpp \
windowctrl.cpp
unix: {
SOURCES += \
SOURCES += \
nativeeventfilter-x11.cpp \
windowctrl-unix.cpp
contains(DEFINES,KDE_INTEGRATION) {
SOURCES += \
systrayxstatusnotifier.cpp
@@ -177,17 +190,18 @@ SOURCES += \
HEADERS += \
debug.h \
debugwidget.h \
nativeeventfilterbase.h \
shortcut.h \
preferencesdialog.h \
preferences.h \
systrayxlink.h \
systrayxicon.h \
systrayx.h \
debugwidget.h \
preferencesdialog.h \
preferences.h \
shortcut.h \
windowctrl.h
unix: {
HEADERS += \
HEADERS += \
nativeeventfilter-x11.h \
windowctrl-unix.h
@@ -197,9 +211,13 @@ HEADERS += \
}
}
win32: {
HEADERS += \
nativeeventfilter-win.h \
HEADERS += \
windowctrl-win.h
lessThan(QT_MAJOR_VERSION, 6): {
HEADERS += \
nativeeventfilter-win.h
}
}
FORMS += \

View File

@@ -23,7 +23,10 @@
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="header">
<property name="text">
<string>SysTray-X Companion App by Ximi1970</string>
<string>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>

View File

@@ -9,43 +9,47 @@
<translation>Über SysTray-X</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translation>SysTray-X Companion App by Ximi1970</translation>
<translation type="vanished">SysTray-X Companion App by Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App von Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Ausführung:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation>Build:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Hash:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation>Branch:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translation></translation>
</message>
@@ -102,73 +106,73 @@
<translation>SysTray-X Einstellungen</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Standardsymbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Hauptfenster in Systemleiste verbergen, Kinderfenster schließen</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Alle Fenster in Systemleiste verbergen</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Thunderbird Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Unsichtbares Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Benutzerdefiniert Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Wählen</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>KDE integration (Verbergen)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>E-Mail-Benachrichtigung Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Leeres Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>Neue Nachricht Symbol</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>Kein Symbol</translation>
</message>
@@ -185,63 +189,63 @@
<translation type="vanished">Dunkel</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Fenster</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>Schließen</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Fensterpositionen wiederherstellen beim Start</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Minimieren</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation>Standard Minimieren</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation>In Systemleiste verbergen, Methode 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Standard Schließen</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Hauptfenster minimieren, Kinderfenster schließen</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Alle Fenster minimieren</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Anwendung minimiert starten</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Symbol umkehren</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Nummereigenschaften</translation>
</message>
@@ -250,248 +254,273 @@
<translation type="vanished">Anzahl neuer Nachrichten anzeigen</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Nummerfarbe</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Nummergröße</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Nummernausrichtung</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>Oben links</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>Oben in der Mitte</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>Oben rechts</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Mitte links</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Mittleres Zentrum</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>Mitte rechts</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>Unten links</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>Unten in der Mitte</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>Unten rechts</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Ränder (links, oben, rechts, unten):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation>Position</translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation>Corriegere fensterpositionen</translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation>Keine Korrektur mit Titelleiste</translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation>Größe der Titelleiste hinzufügen</translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation>Größe der Titelleiste hinzufügen subtrahieren</translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Start-up</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Standardstart</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Anwendung in Systemleiste starten</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>Zähler</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Anzahl Nachrichten anzeigen</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Indikator für neue Nachrichten anzeigen</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Startverzögerung</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>E-Mail-Benachrichtigungstyp</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Ungelesene Nachrichten</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>Neue Nachrichten</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>Neu Indikator</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Symbol rund</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Symbol Stern</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Schattierung</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Sonderoptionen</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>API-Zählmethode</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Anwendungen</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Stopanwendung</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>Durchsuche...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>Argumente:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Startanwendung</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>Nachrichten</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Verwenden Sie den Einstellungsdialog in Thunderbird, um die Konten und Ordner auszuwählen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Tastatürkürzel</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Aktuelle Tastenkombination zum Anzeigen / Verbergen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>Neuer Tastenkombination zum Anzeigen / Verbergen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Löschen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Debug-Fenster anzeigen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Speichern</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Annullieren</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Hauptfenster minimieren</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Bild öffnen</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>Bilddateien (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>Anwendung auswählen</translation>
</message>
@@ -499,27 +528,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Anzeigen/Verbergen</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Einstellungen</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>&amp;Über</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Beenden</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Schließen</translation>
</message>

View File

@@ -9,43 +9,47 @@
<translation>Σχετικά με το SysTray-x</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translation>Συνοδευτική εφαρμογή SysTray-X από τον Ximi1970</translation>
<translation type="vanished">Συνοδευτική εφαρμογή SysTray-X από τον Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Συνοδευτική εφαρμογή από το Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Έκδοση:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation>Εξαγωγή:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Κωδικός:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation>Κλαδί:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translation></translation>
</message>
@@ -102,63 +106,63 @@
<translation>Προτιμήσεις SysTray-X</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Προεπιλεγμένο εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Προεπιλογή Thunderbird</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Διαφανές εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Προσαρμοσμένο εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Επιλέξτε</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>Ενσωμάτωση στον KDE (Απόκρυψη)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>Εικονίδιο ειδοποίησης αλληλογραφίας</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Κενό εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>Εικονίδιο νέας αλληλογραφίας</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>Χωρίς εικονίδιο</translation>
</message>
@@ -175,73 +179,73 @@
<translation type="vanished">σκοτάδι</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Παράθυρα</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Ελαχιστοποίηση</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation>Προεπιλεγμένη ελαχιστοποίηση</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation>Μέθοδος 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>Κλείσιμο</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Προεπιλεγμένο κλείσιμο</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Ελαχιστοποίηση κυρίως παραθύρου στην περιοχή ειδοποιήσεων, κλείσιμο θυγατρικών</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Ελαχιστοποίηση όλων των παραθύρων στην περιοχή ειδοποιήσεων</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Ελαχιστοποίηση κυρίως παραθύρου, κλείσιμο θυγατρικών</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Ελαχιστοποίηση όλων των παραθύρων</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Ελαχιστοποιημένη εκκίνηση της εφαρμογής</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Επαναφορά θέσεων παραθύρου κατά την εκκίνηση</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Αντιστρέψτε εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Ιδιότητες αριθμών</translation>
</message>
@@ -250,248 +254,273 @@
<translation type="vanished">Προβολή μετρητή μη-αναγνωσμένης αλληλογραφίας</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Χρώμα μετρητή</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Μέγεθος μετρητή</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Ευθυγραμμία</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>Κορυφαίο αριστερά</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>Κορυφαίο κέντρο</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>Κορυφαίο δεξιά</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Μέση αριστερά</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Μεσαίο κέντρο</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>Μέση δεξιά</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>Κάτω αριστερά</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>Κάτω κέντρο</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>Κάτω δεξιά</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Περιθώρια (αριστερά, Κορυφαίο, δεξιά, Κάτω):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation>Τοποθεσία</translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation>Προσαρμόστε τις θέσεις των παραθύρων</translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation>Καμία διόρθωση γραμμής τίτλου</translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation>Προσθήκη μεγέθους γραμμής τίτλου</translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation>Αφαιρέστε το μέγεθος της γραμμής τίτλου</translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Αρχή</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Προεπιλεγμένη εκκίνηση</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Εκκινήστε την εφαρμογή στο δίσκο συστήματος</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>Μετρητής</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Προβολή μετρητή αλληλογραφίας</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Εμφάνιση νέας ένδειξης</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Καθυστέρηση έναρξης</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>Τύπος μετρητή μηνυμάτων</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Μη αναγνωσμένα</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>Νέα</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>Νέος δείκτης</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Στρογγυλό εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Αστέρι εικονίδιο</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Απόχρωση</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Ειδικές επιλογές</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>Μέθοδος καταμέτρησης API</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Κλείσιμο αίτησης</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>ξεφυλλίζω...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>Επιχειρήματα:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>Αλληλογραφία</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Χρησιμοποιήστε το παράθυρο διαλόγου Προτιμήσεις Thunderbird για να επιλέξετε λογαριασμούς και φακέλους</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Αφαιρώ</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Αποσφαλμάτωση</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Προβολή παραθύρου αποσφαλμάτωσης</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Ελαχιστοποίηση στην περιοχή ειδοποιήσεων</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Εφαρμογές</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Εφαρμογή εκκίνησης</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Συντομεύσεις</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Τρέχουσα συντόμευση Εμφάνιση / Απόκρυψη</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>Νέα συντόμευση Εμφάνιση / Απόκρυψη</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Αποθήκευση</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Άκυρο</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Άνοιγμα εικόνας</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>Αρχεία εικόνας (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>επιλέξτε εφαρμογή</translation>
</message>
@@ -499,27 +528,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Εμφάνιση/Απόκρυψη</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Προτιμήσεις</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>&amp;Σχετικά</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Έξοδος</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Κλείσιμο</translation>
</message>

View File

@@ -9,45 +9,49 @@
<translation>About SysTray-X</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translation>SysTray-X Companion App by Ximi1970</translation>
<translation type="vanished">SysTray-X Companion App by Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Version:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translatorcomment>Do not translate</translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation>Build:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translatorcomment>Do not translate</translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Hash:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation>Branch:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translatorcomment>Do not translate</translatorcomment>
<translation></translation>
@@ -107,73 +111,73 @@
<translation>SysTray-X Preferences</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Default icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Minimize main to tray, close children</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Minimize all windows to tray</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Default Thunderbird</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Lookthrough icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Custom icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Choose</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>KDE integration (Hide)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>Mail notification icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Blank icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>New mail icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>No icon</translation>
</message>
@@ -190,63 +194,63 @@
<translation type="vanished">Dark</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Windows</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>Close</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Restore window positions on startup</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Minimize</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation>Default minimize</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation>Minimize to tray, method 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Default close</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Minimize main, close children</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Minimize all windows</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Start application minimized</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Invert icon</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Number properties</translation>
</message>
@@ -255,199 +259,224 @@
<translation type="vanished">Display unread message count</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Number color</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Number size</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Alignment</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>Top left</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>Top centre</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>Top right</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Middle left</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Middle centre</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>Middle right</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>Bottom left</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>Bottom centre</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>Bottom right</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Margins (left, top, right, bottom):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Startup</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Default startup</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Start application in tray</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>Count</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Show message count</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Show new messages indicator</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Startup delay</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>Count type</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Unread</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>New</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>New indicator</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Icon round</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Icon star</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Shade</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Special options</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>API count method</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Apps</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Close application</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>Browse...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>Arguments:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Start application</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>Mail</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Use the preferences dialog in Thunderbird to select the accounts and folders</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Shortcuts</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Current Show / Hide shortcut</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>New Show / Hide shortcut</translation>
</message>
@@ -464,51 +493,51 @@
<translation type="vanished">New shortcut</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Clear</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Display debug window</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Save</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Minimize to tray</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Open Image</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>Image Files (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>Select application</translation>
</message>
@@ -516,27 +545,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Show/Hide</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Preferences</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>&amp;About</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Quit</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Close</translation>
</message>

View File

@@ -9,44 +9,48 @@
<translation>Informazioni su SysTray-X</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translatorcomment>Associata? Collegata? Pensarci ancora su.</translatorcomment>
<translation>Companion App per SysTray-X di Ximi1970</translation>
<translation type="vanished">Companion App per SysTray-X di Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App-X di Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Versione:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translation>0.0.1</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation>Build:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Hash:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation>Branch:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translation>master</translation>
</message>
@@ -103,63 +107,63 @@
<translation>Preferenze di SysTray-X</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Icona predefinita</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Icona</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Predefinita di Thunderbird</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Icona trasparente</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Icona personalizzata</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Scegli</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>Integrazione KDE (Nascondi)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>Icona notifica posta</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Icona vuota</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>Icona nuova posta</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>Nessuna icona</translation>
</message>
@@ -176,73 +180,73 @@
<translation type="vanished">Scuro</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Finestre</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Minimizza</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>Chiudi</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation>Minimizzazione predefinita</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation>Minimizza nel vassoio, metodo 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Chiusura predefinita</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Minimizza principale nel vassoio, chiudi sottofinestre</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Minimizza tutte le finestre nel vassoio</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Minimizza principale, chiudi sottofinestre</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Minimizza tutte le finestre</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Avvia applicazione minimizzata</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Ripristina le posizioni della finestra all&apos;avvio</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Icona inverti</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Proprietà numero</translation>
</message>
@@ -251,248 +255,273 @@
<translation type="vanished">Mostra numero di messaggi non letti</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Colore numero</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Dimensione numero</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Allineamento</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>A sinistra in alto</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>In alto al centro</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>In alto a destra</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Al centro a sinistra</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Centro centrale</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>In mezzo a destra</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>In basso a sinistra</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>In basso al centro</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>In basso a destra</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Margini (sinistra, in alto, destra, in basso):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation>Posizione</translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation>Posizioni corrette delle finestre</translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation>Nessuna correzione della barra del titolo</translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation>Aggiungi la dimensione della barra del titolo</translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation>Sottrai la dimensione della barra del titolo</translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Avviare</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Avvio predefinito</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Minimizza principale nel vassoio</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>Conteggio</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Mostra numero di messaggi</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Mostra nuovo indicatore</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Ritardo all&apos;avvio</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>Tipo conteggio</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Non letti</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>Nuovi</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>Nuovo indicatore</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Icona rotonda</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Stella icona</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Sfumatura</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Opzioni speciali</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>Metodo di conteggio API</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Applicazione alla chiusura</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>Sfogliare...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>Argomenti:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>Messaggi</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Usa la finestra di dialogo delle preferenze in Thunderbird per selezionare account e cartelle</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Rimuovi</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Mostra finestra di debug</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Minimizza nel vassoio</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Applicazioni</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Applicazione di avvio</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Scorciatoie</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Scorciatoia corrente Mostra / Nascondi</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>Nuova scorciatoia Mostra / Nascondi</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Salva</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Annulla</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Apri immagine</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>File immagine (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>Selezionare l&apos;applicazione</translation>
</message>
@@ -500,27 +529,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Mostra/Nascondi</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Preferenze</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>&amp;Informazioni</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Esci</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Chiudi</translation>
</message>

View File

@@ -9,45 +9,49 @@
<translation>Over SysTray-X</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translation>SysTray-X Companion App door Ximi1970</translation>
<translation type="vanished">SysTray-X Companion App door Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App door Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Versie:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translatorcomment>Niet vertalen</translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation>Build:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translatorcomment>Niet vertalen</translatorcomment>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Hash:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation>Branch:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translatorcomment>Niet vertalen</translatorcomment>
<translation></translation>
@@ -106,73 +110,73 @@
<translation>SysTray-X Opties</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Standaard pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Minimaliseer hoofdvenster, sluit kindvensters</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Minimaliseer alle vensters</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Standaard Thunderbird</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Doorzichtig pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Aangepast pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Kies</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>KDE integratie (Verbergen)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>Berichten notificatie pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Leeg pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>Nieuw bericht pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>Geen pictogram</translation>
</message>
@@ -189,63 +193,63 @@
<translation type="vanished">Donker</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Vensters</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>Sluiten</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Herstel vensterposities bij opstarten</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Minimaliseren</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation>Standaard minimalisatie</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation>Minimaliseer naar systeemvak, methode 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Standaard sluiting</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Minimaliseer hoofdvenster, sluit kindvensters</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Minimaliseer alle vensters</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Start programma geminimaliseerd</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Inverteer pictogram</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Nummer opties</translation>
</message>
@@ -254,248 +258,273 @@
<translation type="vanished">Aantal ongelezen berichten weergeven</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Nummer kleur</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Nummer grootte</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Uitlijning</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>Linksboven</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>Middenboven</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>Rechtsboven</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Midden links</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Midden midden</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>Midden rechts</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>Linksonder</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>Middenonder</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>Rechtsonder</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Marges (links, boven, rechts, onder):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation>Positie</translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation>Corrigeer vensterposities</translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation>Geen titelbalk correctie</translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation>Titlebalk grootte toevoegen</translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation>Titlebalk grootte aftrekken</translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Opstarten</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Standaard opstarten</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Start in systeemvak</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>Teller</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Aantal berichten weergeven</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Indicator voor nieuwe berichten</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Opstartvertraging</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>Type berichttelling</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Ongelezen</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>Nieuw</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>Nieuw indicator</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Rond icoon</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Ster icoon</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Tint</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Speciale opties</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>API tel methode</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Apps</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Stop programma</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>Bestand zoeken...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>Argumenten:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Start programma</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>Berichten</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Gebruik het voorkeurenvenster in Thunderbird om de accounts en mappen te selecteren</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Snelkoppelingen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Huidige snelkoppeling Tonen / Verbergen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>Nieuwe snelkoppeling Tonen / Verbergen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Verwijderen</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Toon debug venster</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Bewaren</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Annnuleren</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Minimaliseer naar systeemvak</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Open afbeelding</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>Afbeeldingsbestanden (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>Selecteer programma</translation>
</message>
@@ -503,27 +532,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Tonen/Verbergen</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Opties</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>O&amp;ver</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Afsluiten</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Sluiten</translation>
</message>

View File

@@ -10,42 +10,42 @@
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translation></translation>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Aplicativo complementar de Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Versão:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translation></translation>
</message>
@@ -105,73 +105,73 @@
<translation>SysTray-X Preferências</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Ícone padrão</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Ícone</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Minimize o pai para a bandeja, feche os filhos</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Minimize todas as janelas para a tray</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Padrão do Thunderbird</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Ícone transparente</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Ícone personalizado</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Escolher</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>Integração com o KDE (oculta o ícone)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>Ícone de notificação</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Ícone branco</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>Ícone de novo e-mail</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>Nenhum ícone</translation>
</message>
@@ -188,64 +188,64 @@
<translation type="vanished">Escuro</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Janela</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>Fechar</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Restaurar posições da janela na inicialização</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Miminizar</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation>Comportamento padrão</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translatorcomment>Minimizar para à área de notificações? (muito grande)</translatorcomment>
<translation>Minimizar para a tray, método 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Fechamento padrão</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Minimize os filhos principais e próximos</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Minimize todas as janelas</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Iniciar aplicação minimizada</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Ícone inverter</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Propriedades do número</translation>
</message>
@@ -254,248 +254,273 @@
<translation type="vanished">Exibir contador de mensagens não lidas</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Cor do número</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Tamanho do número</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Alinhamento</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>Canto superior esquerdo</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>Centro superior</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>Canto superior direito</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Meio esquerdo</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Centro médio</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>Meio à direita</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>Canto inferior esquerdo</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>Centro inferior</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>Canto inferior direito</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Margens (esquerdo, superior, direito, inferior):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation>Posição</translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation>Posições corretas da janela</translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation>Nenhuma correção na barra de título</translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation>Adicionar tamanho da barra de título</translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation>Subtraia o tamanho da barra de título</translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Comece</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Inicialização padrão</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Inicie o aplicativo na bandeja</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>Contador</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Exibir contador de mensagens</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Mostrar novo indicador</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Atraso de inicialização</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>Tipo do contador</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Não lidos</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>Novos</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>Novo indicador</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Ícone redondo</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Ícone de estrela</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Matiz</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Opções especiais</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>Método de contagem de API</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Aplicativos</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Fechando aplicativo</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>Procurar...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>Argumentos:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Aplicativo de inicialização</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>E-mail</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Use a janela de preferências no Thunderbird para selecionar as contas e pastas</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Atalhos</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Atual Mostrar / Ocultar atalho</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>Novo atalho Mostrar / Ocultar</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Remover</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Depuração</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Mostrar janela de depuração</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Salvar</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Minimizar para a tray</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Abrir imagem</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>Arquivo de imagem (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>Selecione o aplicativo</translation>
</message>
@@ -503,27 +528,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Exibir/Ocultar</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Preferências</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>&amp;Sobre</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Sair</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Fechar</translation>
</message>

View File

@@ -9,43 +9,47 @@
<translation>О SysTray-X</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>SysTray-X Companion App by Ximi1970</source>
<translation>Приложение-компаньон к дополнению SysTray-X от Ximi1970</translation>
<translation type="vanished">Приложение-компаньон к дополнению SysTray-X от Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="40"/>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Приложение-компаньон от Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation>Версия:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="47"/>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="54"/>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation>Сборка:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="61"/>
<location filename="../aboutdialog.ui" line="75"/>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="68"/>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Хеш:</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="82"/>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation>Ветвь :</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="89"/>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translation></translation>
</message>
@@ -102,73 +106,73 @@
<translation>Настройки SysTray-X</translation>
</message>
<message>
<location filename="../preferences.ui" line="297"/>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation>Иконка по умолчанию</translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<location filename="../preferences.ui" line="291"/>
<location filename="../preferences.ui" line="303"/>
<location filename="../preferences.ui" line="389"/>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation>Иконка</translation>
</message>
<message>
<location filename="../preferences.ui" line="58"/>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation>Свернуть главное окно в трей, закрыть остальные</translation>
</message>
<message>
<location filename="../preferences.ui" line="71"/>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation>Свернуть все окна в трей</translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<location filename="../preferences.ui" line="521"/>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Стандартная Thunderbird</translation>
</message>
<message>
<location filename="../preferences.ui" line="324"/>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation>Прозрачная иконка</translation>
</message>
<message>
<location filename="../preferences.ui" line="336"/>
<location filename="../preferences.ui" line="463"/>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation>Своя иконка</translation>
</message>
<message>
<location filename="../preferences.ui" line="353"/>
<location filename="../preferences.ui" line="480"/>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation>Выбрать</translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>Интеграция с KDE (Скрыть)</translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation>Иконка уведомления</translation>
</message>
<message>
<location filename="../preferences.ui" line="400"/>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation>Пустая иконка</translation>
</message>
<message>
<location filename="../preferences.ui" line="433"/>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation>Иконка &quot;Новые письма&quot;</translation>
</message>
<message>
<location filename="../preferences.ui" line="494"/>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation>Без иконки (только цифры)</translation>
</message>
@@ -185,64 +189,64 @@
<translation type="vanished">Темная</translation>
</message>
<message>
<location filename="../preferences.ui" line="34"/>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation>Окна</translation>
</message>
<message>
<location filename="../preferences.ui" line="42"/>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation>При закрытии</translation>
</message>
<message>
<location filename="../preferences.ui" line="158"/>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation>Восстановить положение окон при запуске</translation>
</message>
<message>
<location filename="../preferences.ui" line="195"/>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation>Свернуть</translation>
</message>
<message>
<location filename="../preferences.ui" line="201"/>
<location filename="../preferences.ui" line="246"/>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translatorcomment>Need documentation what methods do...</translatorcomment>
<translation>Свернуть окно</translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation>Свернуть в трей, вариант 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="48"/>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation>Закрыть</translation>
</message>
<message>
<location filename="../preferences.ui" line="84"/>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation>Свернуть главное окно, закрыть другие</translation>
</message>
<message>
<location filename="../preferences.ui" line="97"/>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation>Свернуть все окна</translation>
</message>
<message>
<location filename="../preferences.ui" line="132"/>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation>Запуск приложения свернутым</translation>
</message>
<message>
<location filename="../preferences.ui" line="549"/>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation>Инвертировать значок</translation>
</message>
<message>
<location filename="../preferences.ui" line="686"/>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation>Настройки индикатора кол-ва</translation>
</message>
@@ -251,248 +255,273 @@
<translation type="vanished">Показывать кол-во непрочитанных писем</translation>
</message>
<message>
<location filename="../preferences.ui" line="739"/>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation>Цвет числа</translation>
</message>
<message>
<location filename="../preferences.ui" line="760"/>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation>Размер числа</translation>
</message>
<message>
<location filename="../preferences.ui" line="784"/>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation>Выравнивание</translation>
</message>
<message>
<location filename="../preferences.ui" line="795"/>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation>Верхний левый</translation>
</message>
<message>
<location filename="../preferences.ui" line="800"/>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation>Верхний центр</translation>
</message>
<message>
<location filename="../preferences.ui" line="805"/>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation>Верхний правый</translation>
</message>
<message>
<location filename="../preferences.ui" line="810"/>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation>Средний левый</translation>
</message>
<message>
<location filename="../preferences.ui" line="815"/>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation>Средний центральный</translation>
</message>
<message>
<location filename="../preferences.ui" line="820"/>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation>Средний правый</translation>
</message>
<message>
<location filename="../preferences.ui" line="825"/>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation>Нижний левый</translation>
</message>
<message>
<location filename="../preferences.ui" line="830"/>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation>Нижний центральный</translation>
</message>
<message>
<location filename="../preferences.ui" line="835"/>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation>Нижний правый</translation>
</message>
<message>
<location filename="../preferences.ui" line="694"/>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation>Отступ (левый, Верхний, правый, Нижний):</translation>
</message>
<message>
<location filename="../preferences.ui" line="113"/>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation>Позиция</translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation>Правильное расположение окон</translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation>Без исправления названия</translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation>Добавить размер заголовка</translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation>Вычтите размер строки заголовка</translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation>Запуск</translation>
</message>
<message>
<location filename="../preferences.ui" line="119"/>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation>Запуск по умолчанию</translation>
</message>
<message>
<location filename="../preferences.ui" line="142"/>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation>Запустить приложение в трее</translation>
</message>
<message>
<location filename="../preferences.ui" line="599"/>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation>счетчик</translation>
</message>
<message>
<location filename="../preferences.ui" line="607"/>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation>Показать количество писем</translation>
</message>
<message>
<location filename="../preferences.ui" line="617"/>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation>Показать новый индикатор</translation>
</message>
<message>
<location filename="../preferences.ui" line="626"/>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation>Задержка запуска</translation>
</message>
<message>
<location filename="../preferences.ui" line="650"/>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation>Алгоритм подсчета</translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation>Непрочитанные</translation>
</message>
<message>
<location filename="../preferences.ui" line="671"/>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation>Новые</translation>
</message>
<message>
<location filename="../preferences.ui" line="850"/>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation>Новый индикатор</translation>
</message>
<message>
<location filename="../preferences.ui" line="858"/>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation>Круглый значок</translation>
</message>
<message>
<location filename="../preferences.ui" line="868"/>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation>Значок звезды</translation>
</message>
<message>
<location filename="../preferences.ui" line="880"/>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation>Оттенок</translation>
</message>
<message>
<location filename="../preferences.ui" line="959"/>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation>Специальные опции</translation>
</message>
<message>
<location filename="../preferences.ui" line="965"/>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation>Метод подсчета API</translation>
</message>
<message>
<location filename="../preferences.ui" line="989"/>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation>Программы</translation>
</message>
<message>
<location filename="../preferences.ui" line="997"/>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation>Заявление о закрытии</translation>
</message>
<message>
<location filename="../preferences.ui" line="1010"/>
<location filename="../preferences.ui" line="1051"/>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>просматривать...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1021"/>
<location filename="../preferences.ui" line="1062"/>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation>аргументы:</translation>
</message>
<message>
<location filename="../preferences.ui" line="1038"/>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation>Приложение при запуске</translation>
</message>
<message>
<location filename="../preferences.ui" line="1095"/>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation>Письма</translation>
</message>
<message>
<location filename="../preferences.ui" line="1101"/>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation>Используйте диалоговое окно настроек в Thunderbird, чтобы выбрать учетные записи и папки</translation>
</message>
<message>
<location filename="../preferences.ui" line="1138"/>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation>Сочетания</translation>
</message>
<message>
<location filename="../preferences.ui" line="1157"/>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation>Текущий ярлык Показать / Скрыть</translation>
</message>
<message>
<location filename="../preferences.ui" line="1186"/>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation>Новый ярлык Показать / Скрыть</translation>
</message>
<message>
<location filename="../preferences.ui" line="1200"/>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation>Удалять</translation>
</message>
<message>
<location filename="../preferences.ui" line="1211"/>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation>Отладка</translation>
</message>
<message>
<location filename="../preferences.ui" line="1217"/>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation>Показывать окно отладки</translation>
</message>
<message>
<location filename="../preferences.ui" line="1278"/>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation>Сохранить</translation>
</message>
<message>
<location filename="../preferences.ui" line="1271"/>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation>Отменить</translation>
</message>
<message>
<location filename="../preferences.ui" line="214"/>
<location filename="../preferences.ui" line="259"/>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation>Свернуть в трей</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation>Открыть изображение</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="702"/>
<location filename="../preferencesdialog.cpp" line="726"/>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>Файлы изображений (*.png *.jpg *.bmp)</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="781"/>
<location filename="../preferencesdialog.cpp" line="795"/>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation>выберите приложение</translation>
</message>
@@ -500,27 +529,27 @@
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="225"/>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation>&amp;Показать/Скрыть</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="229"/>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>&amp;Настройки</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="233"/>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>&amp;О приложении</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="237"/>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>&amp;Выход</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="671"/>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation>Закрыть</translation>
</message>

View File

@@ -0,0 +1,556 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>AboutDialog</name>
<message>
<location filename="../aboutdialog.ui" line="14"/>
<source>About SysTray-X</source>
<translation> SysTray-X</translation>
</message>
<message>
<source>SysTray-X Companion App by Ximi1970</source>
<translation type="vanished">SysTray-X Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="26"/>
<source>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; Companion App by Ximi1970</source>
<translation>&lt;a href=&quot;https://github.com/Ximi1970/systray-x&quot;&gt;SysTray-X&lt;/a&gt; 配套应用,作者 Ximi1970</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="43"/>
<source>Version:</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="50"/>
<source>0.0.1</source>
<translation>0.0.1</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="57"/>
<source>Build:</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="64"/>
<location filename="../aboutdialog.ui" line="78"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="71"/>
<source>Hash:</source>
<translation>Hash</translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="85"/>
<source>Branch:</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.ui" line="92"/>
<source>master</source>
<translation>master</translation>
</message>
</context>
<context>
<name>DebugWidget</name>
<message>
<location filename="../debugwidget.ui" line="14"/>
<source>SysTray-X Debug</source>
<translation>SysTray-X </translation>
</message>
<message>
<location filename="../debugwidget.ui" line="28"/>
<source>Unread mail:</source>
<translation></translation>
</message>
<message>
<location filename="../debugwidget.ui" line="35"/>
<location filename="../debugwidget.ui" line="53"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
<location filename="../debugwidget.ui" line="46"/>
<source>New mail:</source>
<translation></translation>
</message>
<message>
<location filename="../debugwidget.ui" line="95"/>
<source>Test 1</source>
<translation> 1</translation>
</message>
<message>
<location filename="../debugwidget.ui" line="102"/>
<source>Test 2</source>
<translation> 2</translation>
</message>
<message>
<location filename="../debugwidget.ui" line="109"/>
<source>Test 3</source>
<translation> 3</translation>
</message>
<message>
<location filename="../debugwidget.ui" line="116"/>
<source>Test 4</source>
<translation> 4</translation>
</message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
<location filename="../preferences.ui" line="20"/>
<source>SysTray-X Preferences</source>
<translation>SysTray-X </translation>
</message>
<message>
<location filename="../preferences.ui" line="36"/>
<source>Windows</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="211"/>
<source>Close</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="217"/>
<source>Default close</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="227"/>
<source>Minimize main to tray, close children</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="240"/>
<source>Minimize all windows to tray</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="253"/>
<source>Minimize main, close children</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="266"/>
<source>Minimize all windows</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="282"/>
<source>Startup</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="288"/>
<source>Default startup</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="301"/>
<source>Start application minimized</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="311"/>
<source>Start application in tray</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="327"/>
<source>Restore startup positions</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="57"/>
<source>Minimize</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="63"/>
<location filename="../preferences.ui" line="108"/>
<source>Default minimize</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="76"/>
<location filename="../preferences.ui" line="121"/>
<source>Minimize to tray</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="89"/>
<source>Minimize to tray, method 2</source>
<translation> 2</translation>
</message>
<message>
<location filename="../preferences.ui" line="102"/>
<location filename="../preferences.ui" line="350"/>
<location filename="../preferences.ui" line="362"/>
<location filename="../preferences.ui" line="448"/>
<source>Icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="137"/>
<source>Position</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="145"/>
<source>Correct window positions</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="154"/>
<source>No titlebar correction</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="167"/>
<source>Add titlebar size</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="177"/>
<source>Subtract titlebar size</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="356"/>
<source>Default icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="370"/>
<location filename="../preferences.ui" line="580"/>
<source>Default Thunderbird</source>
<translation>Thunderbird </translation>
</message>
<message>
<location filename="../preferences.ui" line="383"/>
<source>Lookthrough icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="395"/>
<location filename="../preferences.ui" line="522"/>
<source>Custom icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="412"/>
<location filename="../preferences.ui" line="539"/>
<source>Choose</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="429"/>
<source>KDE integration (Hide)</source>
<translation>KDE </translation>
</message>
<message>
<location filename="../preferences.ui" line="442"/>
<source>Mail notification icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="459"/>
<source>Blank icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="492"/>
<source>New mail icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="553"/>
<source>No icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="608"/>
<source>Invert icon</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="658"/>
<source>Count</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="666"/>
<source>Show message count</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="676"/>
<source>Show new indicator</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="685"/>
<source>Startup delay</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="709"/>
<source>Count type</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="717"/>
<source>Unread</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="730"/>
<source>New</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="745"/>
<source>Number properties</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="753"/>
<source>Margins (left, top, right, bottom):</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="798"/>
<source>Number color</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="819"/>
<source>Number size</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="843"/>
<source>Alignment</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="854"/>
<source>Top left</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="859"/>
<source>Top centre</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="864"/>
<source>Top right</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="869"/>
<source>Middle left</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="874"/>
<source>Middle centre</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="879"/>
<source>Middle right</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="884"/>
<source>Bottom left</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="889"/>
<source>Bottom centre</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="894"/>
<source>Bottom right</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="909"/>
<source>New indicator</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="917"/>
<source>Icon round</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="927"/>
<source>Icon star</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="939"/>
<source>Shade</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1018"/>
<source>Special options</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1024"/>
<source>API count method</source>
<translation> API </translation>
</message>
<message>
<location filename="../preferences.ui" line="1048"/>
<source>Apps</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1056"/>
<source>Close application</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1069"/>
<location filename="../preferences.ui" line="1110"/>
<source>Browse...</source>
<translation>...</translation>
</message>
<message>
<location filename="../preferences.ui" line="1080"/>
<location filename="../preferences.ui" line="1121"/>
<source>Arguments:</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1097"/>
<source>Start application</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1154"/>
<source>Mail</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1160"/>
<source>Use the preferences dialog in Thunderbird to select the accounts and folders</source>
<translation> Thunderbird </translation>
</message>
<message>
<location filename="../preferences.ui" line="1197"/>
<source>Shortcuts</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1209"/>
<source>Current show / hide shortcut:</source>
<translation> / </translation>
</message>
<message>
<location filename="../preferences.ui" line="1238"/>
<source>New show / hide shortcut:</source>
<translation> / </translation>
</message>
<message>
<location filename="../preferences.ui" line="1252"/>
<source>Clear</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1277"/>
<source>Debug</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1283"/>
<source>Display debug window</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1337"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../preferences.ui" line="1344"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Open Image</source>
<translation></translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="765"/>
<location filename="../preferencesdialog.cpp" line="789"/>
<source>Image Files (*.png *.jpg *.bmp)</source>
<translation>*.png *.jpg *.bmp</translation>
</message>
<message>
<location filename="../preferencesdialog.cpp" line="844"/>
<location filename="../preferencesdialog.cpp" line="858"/>
<source>Select application</source>
<translation></translation>
</message>
</context>
<context>
<name>SysTrayX</name>
<message>
<location filename="../systrayx.cpp" line="242"/>
<source>&amp;Show/Hide</source>
<translation> / (&amp;S)</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="246"/>
<source>&amp;Preferences</source>
<translation>(&amp;P)</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="250"/>
<source>&amp;About</source>
<translation>(&amp;A)</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="254"/>
<source>&amp;Quit</source>
<translation>退(&amp;Q)</translation>
</message>
<message>
<location filename="../systrayx.cpp" line="683"/>
<source>Close</source>
<translation></translation>
</message>
</context>
<context>
<name>SysTrayXIcon</name>
<message>
<location filename="../systrayxicon.cpp" line="47"/>
<source>SysTray-X: Thunderbird add-on companion app</source>
<translation>SysTray-XThunderbird </translation>
</message>
</context>
<context>
<name>SysTrayXStatusNotifier</name>
<message>
<location filename="../systrayxstatusnotifier.cpp" line="60"/>
<source>Thunderbird add-on companion app</source>
<translation>Thunderbird </translation>
</message>
</context>
</TS>

View File

@@ -90,7 +90,11 @@ const QMap< Qt::Key, int > NativeEventFilterWin::m_virtual_key_map {
/*
* Catch the key press
*/
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
bool NativeEventFilterWin::nativeEventFilter( const QByteArray& eventType, void* message, long* result )
#else
bool NativeEventFilterWin::nativeEventFilter( const QByteArray& eventType, void* message, qintptr* result )
#endif
{
Q_UNUSED( eventType )
Q_UNUSED( result )
@@ -114,9 +118,13 @@ bool NativeEventFilterWin::nativeEventFilter( const QByteArray& eventType, void*
*/
bool NativeEventFilterWin::connectShortcut( QKeySequence key_seq )
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Qt::Key key_code = Qt::Key( key_seq[ 0 ] & static_cast< int >( ~Qt::KeyboardModifierMask ) );
Qt::KeyboardModifiers key_modifiers = Qt::KeyboardModifiers( key_seq[ 0 ] & static_cast<int>( Qt::KeyboardModifierMask ) );
#else
Qt::Key key_code = Qt::Key( key_seq[ 0 ].toCombined() & static_cast< int >( ~Qt::KeyboardModifierMask ) );
Qt::KeyboardModifiers key_modifiers = Qt::KeyboardModifiers( key_seq[ 0 ].toCombined() & static_cast<int>( Qt::KeyboardModifierMask ) );
#endif
return connectShortcut( key_code, key_modifiers );
}

View File

@@ -38,7 +38,11 @@ class NativeEventFilterWin : public NativeEventFilterBase
*
* @return Result
*/
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
bool nativeEventFilter( const QByteArray& eventType, void* message, long* result ) override;
#else
bool nativeEventFilter( const QByteArray& eventType, void* message, qintptr* result ) override;
#endif
protected:

View File

@@ -9,7 +9,9 @@
/*
* Qt includes
*/
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include <QX11Info>
#endif
#include <QKeySequence>
@@ -22,7 +24,11 @@ const int NativeEventFilterX11::m_valid_mods_mask = ShiftMask | ControlMask | Mo
/*
* Catch the key press
*/
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
bool NativeEventFilterX11::nativeEventFilter( const QByteArray& eventType, void* message, long* result )
#else
bool NativeEventFilterX11::nativeEventFilter( const QByteArray& eventType, void* message, qintptr* result )
#endif
{
Q_UNUSED( eventType )
Q_UNUSED( result )
@@ -48,9 +54,13 @@ bool NativeEventFilterX11::nativeEventFilter( const QByteArray& eventType, void*
*/
bool NativeEventFilterX11::connectShortcut( QKeySequence key_seq )
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Qt::Key key_code = Qt::Key( key_seq[ 0 ] & static_cast< int >( ~Qt::KeyboardModifierMask ) );
Qt::KeyboardModifiers key_modifiers = Qt::KeyboardModifiers( key_seq[ 0 ] & static_cast<int>( Qt::KeyboardModifierMask ) );
#else
Qt::Key key_code = Qt::Key( key_seq[ 0 ].toCombined() & static_cast< int >( ~Qt::KeyboardModifierMask ) );
Qt::KeyboardModifiers key_modifiers = Qt::KeyboardModifiers( key_seq[ 0 ].toCombined() & static_cast<int>( Qt::KeyboardModifierMask ) );
#endif
return connectShortcut( key_code, key_modifiers );
}
@@ -127,7 +137,12 @@ bool NativeEventFilterX11::connectShortcut( Qt::Key key_code, Qt::KeyboardModifi
/*
* Get the X11 display
*/
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Display *display = QX11Info::display();
#else
QNativeInterface::QX11Application *x11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
Display *display = x11App->display();
#endif
/*
* Get the final key code
@@ -153,7 +168,12 @@ bool NativeEventFilterX11::connectShortcut( Qt::Key key_code, Qt::KeyboardModifi
*/
bool NativeEventFilterX11::disconnectShortcut()
{
Display* display = QX11Info::display();
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Display *display = QX11Info::display();
#else
QNativeInterface::QX11Application *x11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
Display *display = x11App->display();
#endif
/*
* Ungrab the key

View File

@@ -33,7 +33,11 @@ class NativeEventFilterX11 : public NativeEventFilterBase
*
* @return Result
*/
bool nativeEventFilter( const QByteArray& eventType, void* message, long* result ) override;
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
bool nativeEventFilter( const QByteArray& eventType, void* message, long* result ) override;
#else
bool nativeEventFilter( const QByteArray& eventType, void* message, qintptr* result ) override;
#endif
protected:

View File

@@ -12,7 +12,6 @@
/*
* Qt includes
*/
#include <QCoreApplication>
#include <QAbstractEventDispatcher>

View File

@@ -15,6 +15,7 @@
#include <QObject>
#include <QAbstractNativeEventFilter>
#include <QGlobalStatic>
#include <QGuiApplication>
/*
* Predefines

View File

@@ -48,8 +48,11 @@ Preferences::Preferences( QObject *parent ) : QObject( parent )
m_minimize_type = PREF_MINIMIZE_METHOD_1;
m_close_type = PREF_MINIMIZE_MAIN_TRAY_CLOSE_CHILDREN_WINDOWS;
m_minimize_icon_type = PREF_MINIMIZE_TRAY_ICON;
m_startup_type = PREF_START_DEFAULT;
m_window_positions_correction = false;
m_window_positions_correction_type = PREF_NO_CORRECTION;
m_restore_window_positions = false;
m_default_icon_type = PREF_DEFAULT_ICON_DEFAULT;
@@ -114,7 +117,14 @@ Preferences::Preferences( QObject *parent ) : QObject( parent )
#if ( defined( Q_OS_UNIX ) && defined( NO_SHORTCUTS ) )
m_shortcuts_option = false;
#else
m_shortcuts_option = true;
if( m_platform == "wayland" )
{
m_shortcuts_option = false;
}
else
{
m_shortcuts_option = true;
}
#endif
/*
// XDG_SESSION_DESKTOP
@@ -439,6 +449,58 @@ void Preferences::setStartupType( Preferences::StartupType startup_type )
}
/*
* Get the window positions correction state
*/
bool Preferences::getWindowPositionsCorrection() const
{
return m_window_positions_correction;
}
/*
* Set the window positions correction state
*/
void Preferences::setWindowPositionsCorrection( bool state )
{
if( m_window_positions_correction != state )
{
m_window_positions_correction = state;
/*
* Tell the world the new preference
*/
emit signalWindowPositionsCorrectionChange();
}
}
/*
* Get the window positions correction type
*/
Preferences::WindowPositionsCorrectionType Preferences::getWindowPositionsCorrectionType() const
{
return m_window_positions_correction_type;
}
/*
* Set the minimize type.
*/
void Preferences::setWindowPositionsCorrectionType( WindowPositionsCorrectionType window_positions_correction_type )
{
if( m_window_positions_correction_type != window_positions_correction_type)
{
m_window_positions_correction_type = window_positions_correction_type;
/*
* Tell the world the new preference
*/
emit signalWindowPositionsCorrectionTypeChange();
}
}
/*
* Get the start minmized pref.
*/

View File

@@ -53,6 +53,15 @@ class Preferences : public QObject
PREF_MINIMIZE_TRAY_ICON
};
/*
* Position correction
*/
enum WindowPositionsCorrectionType {
PREF_NO_CORRECTION = 0,
PREF_ADD_CORRECTION,
PREF_SUBTRACT_CORRECTION
};
/*
* Startup types
*/
@@ -188,34 +197,6 @@ class Preferences : public QObject
*/
void setBrowserBuildID( const QString buildID );
/**
* @brief getStartupType. Get the startup type.
*
* @return The startup type.
*/
StartupType getStartupType() const;
/**
* @brief setStartupType. Set the startup type.
*
* @param startup_type The startup type.
*/
void setStartupType( StartupType startup_type );
/**
* @brief getRestoreWindowPositions. Get the restore window positions state.
*
* @return The state.
*/
bool getRestoreWindowPositions() const;
/**
* @brief setRestoreWindowPositions. Set the restore window positions state.
*
* @param state The state.
*/
void setRestoreWindowPositions( bool state );
/**
* @brief getMinimizeType. Get the minimize type.
*
@@ -258,6 +239,62 @@ class Preferences : public QObject
*/
void setMinimizeIconType( MinimizeIconType minimize_icon_type );
/**
* @brief getStartupType. Get the startup type.
*
* @return The startup type.
*/
StartupType getStartupType() const;
/**
* @brief setStartupType. Set the startup type.
*
* @param startup_type The startup type.
*/
void setStartupType( StartupType startup_type );
/**
* @brief getWindowPositionsCorrection. Get the window positions correction state.
*
* @return The state.
*/
bool getWindowPositionsCorrection() const;
/**
* @brief setWindowPositionsCorrection. Set the window positions correction state.
*
* @param state The state.
*/
void setWindowPositionsCorrection( bool state );
/**
* @brief getRestoreWindowPositions. Get the restore window positions state.
*
* @return The state.
*/
bool getRestoreWindowPositions() const;
/**
* @brief setRestoreWindowPositions. Set the restore window positions state.
*
* @param state The state.
*/
void setRestoreWindowPositions( bool state );
/**
* @brief getWindowPositionsCorrectionType. Get the window positions correction type
*
* @return the window positions correction type.
*/
WindowPositionsCorrectionType getWindowPositionsCorrectionType() const;
/**
* @brief setWindowPositionsCorrectionType. Set the window positions correction type.
*
* @param window_positions_correction_type The window positions correction type.
*/
void setWindowPositionsCorrectionType( WindowPositionsCorrectionType window_positions_correction_type );
/**
* @brief getDefaultIconType. Get the default icon type.
*
@@ -689,6 +726,16 @@ class Preferences : public QObject
*/
void signalStartupTypeChange();
/**
* @brief signalWindowPositionsCorrectionChange. Signal a window positions correction change.
*/
void signalWindowPositionsCorrectionChange();
/**
* @brief signalWindowPositionsCorrectionTypeChange. Signal a window positions correction type change.
*/
void signalWindowPositionsCorrectionTypeChange();
/**
* @brief signalRestoreWindowPositionsChange. Signal a restore window positions state change.
*/
@@ -890,6 +937,16 @@ class Preferences : public QObject
*/
MinimizeIconType m_minimize_icon_type;
/**
* @brief m_window_positions_correction
*/
bool m_window_positions_correction;
/**
* @brief m_window_positions_correction_type
*/
WindowPositionsCorrectionType m_window_positions_correction_type;
/**
* @brief m_startup_type. Startup TB preference.
*/

File diff suppressed because it is too large Load Diff

View File

@@ -27,7 +27,7 @@ PreferencesDialog::PreferencesDialog( SysTrayXLink *link, Preferences *pref, QWi
m_ui->setupUi( this );
/*
* Store link adn preferences
* Store link and preferences
*/
m_link = link;
m_pref = pref;
@@ -56,7 +56,7 @@ PreferencesDialog::PreferencesDialog( SysTrayXLink *link, Preferences *pref, QWi
m_ui->minimizeMethod2RadioButton->hide();
/*
* Set minimize type button Ids
* Set minimize icon type button Ids
*/
m_ui->minimizeIconTypeGroup->setId( m_ui->defaultMinimizeIconRadioButton, Preferences::PREF_DEFAULT_MINIMIZE_ICON);
m_ui->minimizeIconTypeGroup->setId( m_ui->minimizeTrayIconRadioButton, Preferences::PREF_MINIMIZE_TRAY_ICON );
@@ -68,9 +68,17 @@ PreferencesDialog::PreferencesDialog( SysTrayXLink *link, Preferences *pref, QWi
m_ui->startupTypeGroup->setId( m_ui->startMinimizedRadioButton, Preferences::PREF_START_MINIMIZED);
m_ui->startupTypeGroup->setId( m_ui->startDockedRadioButton, Preferences::PREF_START_DOCKED );
/*
* Set position button Ids
*/
m_ui->positionGroup->setId( m_ui->noTitlebarCorrectionRadioButton, Preferences::PREF_NO_CORRECTION);
m_ui->positionGroup->setId( m_ui->addTitlebarCorrectionRadioButton, Preferences::PREF_ADD_CORRECTION );
m_ui->positionGroup->setId( m_ui->subtractTitlebarCorrectionRadioButton, Preferences::PREF_SUBTRACT_CORRECTION );
#ifdef Q_OS_WIN
m_ui->hideDefaultIconCheckBox->hide();
m_ui->positionGroupBox->hide();
m_ui->restorePositionscheckBox->hide();
#endif
@@ -82,18 +90,16 @@ PreferencesDialog::PreferencesDialog( SysTrayXLink *link, Preferences *pref, QWi
#endif
#if defined( Q_OS_UNIX ) && defined( NO_SHORTCUTS )
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
int index = m_ui->tabWidget->indexOf( m_ui->tabShortcuts );
m_ui->tabWidget->setTabVisible( index, false );
hideShortcutsTab();
#else
int index = m_ui->tabWidget->indexOf( m_ui->tabShortcuts );
m_ui->tabWidget->setTabEnabled( index, false );
m_ui->tabWidget->setStyleSheet( "QTabBar::tab::disabled { width: 0; height: 0; margin: 0; padding: 0; border: none; }" );
if( !m_pref->getShortcutsOption() )
{
hideShortcutsTab();
}
#endif
#endif
/*
@@ -217,6 +223,26 @@ PreferencesDialog::PreferencesDialog( SysTrayXLink *link, Preferences *pref, QWi
}
/*
* Hide the shortcuts tab
*/
void PreferencesDialog::hideShortcutsTab()
{
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
int index = m_ui->tabWidget->indexOf( m_ui->tabShortcuts );
m_ui->tabWidget->setTabVisible( index, false );
#else
int index = m_ui->tabWidget->indexOf( m_ui->tabShortcuts );
m_ui->tabWidget->setTabEnabled( index, false );
m_ui->tabWidget->setStyleSheet( "QTabBar::tab::disabled { width: 0; height: 0; margin: 0; padding: 0; border: none; }" );
#endif
}
/*
* Handle the language change event
*/
@@ -290,6 +316,24 @@ void PreferencesDialog::setStartupType( Preferences::StartupType startup_typ
}
/*
* Set the positions correction state
*/
void PreferencesDialog::setWindowPositionsCorrection( bool state )
{
m_ui->correctWinPosCheckBox->setChecked( state );
}
/*
* Set the position correction
*/
void PreferencesDialog::setWindowPositionsCorrectionType( Preferences::WindowPositionsCorrectionType position_correction )
{
( m_ui->positionGroup->button( position_correction ) )->setChecked( true );
}
/*
* Set the restore window positions state
*/
@@ -613,9 +657,11 @@ void PreferencesDialog::slotAccept()
m_pref->setMinimizeType( static_cast< Preferences::MinimizeType >( m_ui->minimizeTypeGroup->checkedId() ) );
m_pref->setMinimizeIconType( static_cast< Preferences::MinimizeIconType >( m_ui->minimizeIconTypeGroup->checkedId() ) );
m_pref->setStartupType( static_cast< Preferences::StartupType >( m_ui->startupTypeGroup->checkedId() ) );
m_pref->setRestoreWindowPositions( m_ui->restorePositionscheckBox->isChecked() );
m_pref->setCloseType( static_cast< Preferences::CloseType >( m_ui->closeTypeGroup->checkedId() ) );
m_pref->setStartupType( static_cast< Preferences::StartupType >( m_ui->startupTypeGroup->checkedId() ) );
m_pref->setWindowPositionsCorrection( m_ui->correctWinPosCheckBox->isChecked() );
m_pref->setWindowPositionsCorrectionType( static_cast< Preferences::WindowPositionsCorrectionType >( m_ui->positionGroup->checkedId() ) );
m_pref->setRestoreWindowPositions( m_ui->restorePositionscheckBox->isChecked() );
m_pref->setInvertIcon( m_ui->invertIconCheckBox->isChecked() );
m_pref->setShowNumber( m_ui->showNumberCheckBox->isChecked() );
@@ -681,9 +727,11 @@ void PreferencesDialog::slotReject()
setMinimizeType( m_pref->getMinimizeType() );
setMinimizeIconType( m_pref->getMinimizeIconType() );
setStartupType( m_pref->getStartupType() );
setRestoreWindowPositions( m_pref->getRestoreWindowPositions() );
setCloseType( m_pref->getCloseType() );
setStartupType( m_pref->getStartupType() );
setWindowPositionsCorrection( m_pref->getWindowPositionsCorrection() );
setWindowPositionsCorrectionType( m_pref->getWindowPositionsCorrectionType() );
setRestoreWindowPositions( m_pref->getRestoreWindowPositions() );
setInvertIcon( m_pref->getInvertIcon() );
setShowNumber( m_pref->getShowNumber() );
@@ -825,24 +873,6 @@ void PreferencesDialog::slotDebugChange()
}
/*
* Handle the startup type change signal
*/
void PreferencesDialog::slotStartupTypeChange()
{
setStartupType( m_pref->getStartupType() );
}
/*
* Handle the restore window positions change signal
*/
void PreferencesDialog::slotRestoreWindowPositionsChange()
{
setRestoreWindowPositions( m_pref->getRestoreWindowPositions() );
}
/*
* Handle the minimize type change signal
*/
@@ -870,6 +900,42 @@ void PreferencesDialog::slotCloseTypeChange()
}
/*
* Handle the startup type change signal
*/
void PreferencesDialog::slotStartupTypeChange()
{
setStartupType( m_pref->getStartupType() );
}
/*
* Handle the window positions correction change signal
*/
void PreferencesDialog::slotWindowPositionsCorrectionChange()
{
setWindowPositionsCorrection( m_pref->getWindowPositionsCorrection() );
}
/*
* Handle the window positions correction type change signal
*/
void PreferencesDialog::slotWindowPositionsCorrectionTypeChange()
{
setWindowPositionsCorrectionType( m_pref->getWindowPositionsCorrectionType() );
}
/*
* Handle the restore window positions change signal
*/
void PreferencesDialog::slotRestoreWindowPositionsChange()
{
setRestoreWindowPositions( m_pref->getRestoreWindowPositions() );
}
/*
* Handle the icon type change signal
*/
@@ -1087,6 +1153,7 @@ void PreferencesDialog::slotTruncateShowHideShortcut()
{
QKeySequence key_seq = m_ui->showHideKeySequenceEdit->keySequence();
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
/*
* Workaround for a Qt5 bug in QKeySequenceEdit object, Meta/Win key is not handled correctly.
*/
@@ -1101,6 +1168,13 @@ void PreferencesDialog::slotTruncateShowHideShortcut()
}
QKeySequence shortcut( value );
#else
QKeySequence shortcut( key_seq[ 0 ] );
#endif
m_ui->showHideKeySequenceEdit->setKeySequence( shortcut );
}

View File

@@ -57,6 +57,11 @@ class PreferencesDialog : public QDialog
private:
/**
* @brief hideShortcutsTab. Hide the shortcuts tab.
*/
void hideShortcutsTab();
/**
* @brief setDebug. Set the debug state.
*
@@ -85,6 +90,20 @@ class PreferencesDialog : public QDialog
*/
void setStartupType( Preferences::StartupType startup_type );
/**
* @brief setWindowPositionsCorrection. Set the window postions correction state.
*
* @param state The state.
*/
void setWindowPositionsCorrection( bool state );
/**
* @brief setWindowPositionsCorrectionType. Set the window positions correction type.
*
* @param position_correction The correction type.
*/
void setWindowPositionsCorrectionType( Preferences::WindowPositionsCorrectionType position_correction );
/**
* @brief setRestoreWindowPositions. Set the restore window positions state.
*
@@ -318,6 +337,16 @@ class PreferencesDialog : public QDialog
*/
void slotStartupTypeChange();
/**
* @brief slotWindowPositionsCorrectionChange. Slot for handling window positions correction change signals.
*/
void slotWindowPositionsCorrectionChange();
/**
* @brief slotWindowPositionsCorrectionTypeChange. Slot for handling window positions correction type change signals.
*/
void slotWindowPositionsCorrectionTypeChange();
/**
* @brief slotRestoreWindowPositionsChange. Slot for handling restore window positions change signals.
*/

View File

@@ -49,9 +49,13 @@ Shortcut::~Shortcut()
*/
bool Shortcut::setShortcut( QKeySequence key_seq )
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
Qt::Key key_code = Qt::Key( key_seq[ 0 ] & ~Qt::KeyboardModifierMask );
Qt::KeyboardModifiers key_modifiers = Qt::KeyboardModifiers( key_seq[ 0 ] & Qt::KeyboardModifierMask);
#else
Qt::Key key_code = Qt::Key( key_seq[ 0 ].toCombined() & ~Qt::KeyboardModifierMask );
Qt::KeyboardModifiers key_modifiers = Qt::KeyboardModifiers( key_seq[ 0 ].toCombined() & Qt::KeyboardModifierMask);
#endif
return setShortcut( key_code, key_modifiers );
}

View File

@@ -122,6 +122,8 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent )
connect( m_preferences, &Preferences::signalIconDataChange, m_pref_dialog, &PreferencesDialog::slotIconDataChange );
connect( m_preferences, &Preferences::signalMinimizeTypeChange, m_pref_dialog, &PreferencesDialog::slotMinimizeTypeChange );
connect( m_preferences, &Preferences::signalMinimizeIconTypeChange, m_pref_dialog, &PreferencesDialog::slotMinimizeIconTypeChange );
connect( m_preferences, &Preferences::signalWindowPositionsCorrectionChange, m_pref_dialog, &PreferencesDialog::slotWindowPositionsCorrectionChange );
connect( m_preferences, &Preferences::signalWindowPositionsCorrectionTypeChange, m_pref_dialog, &PreferencesDialog::slotWindowPositionsCorrectionTypeChange );
connect( m_preferences, &Preferences::signalStartupTypeChange, m_pref_dialog, &PreferencesDialog::slotStartupTypeChange );
connect( m_preferences, &Preferences::signalRestoreWindowPositionsChange, m_pref_dialog, &PreferencesDialog::slotRestoreWindowPositionsChange );
connect( m_preferences, &Preferences::signalCloseTypeChange, m_pref_dialog, &PreferencesDialog::slotCloseTypeChange );
@@ -151,7 +153,12 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent )
connect( m_preferences, &Preferences::signalDebugChange, m_debug, &DebugWidget::slotDebugChange );
#if defined( SHORTCUTS )
connect( m_preferences, &Preferences::signalShowHideShortcutChange, this, &SysTrayX::slotShowHideShortcutChange );
if( m_preferences->getShortcutsOption() )
{
connect( m_preferences, &Preferences::signalShowHideShortcutChange, this, &SysTrayX::slotShowHideShortcutChange );
}
#endif
/*
@@ -192,7 +199,11 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent )
/*
m_preferences->setBrowserVersion( "115.1.0" );
// m_preferences->setBrowserVersion( "102.2.3" );
m_preferences->setShowHideShortcut( QKeySequence( Qt::CTRL | Qt::Key_P ) );
if( m_preferences->getShortcutsOption() )
{
m_preferences->setShowHideShortcut( QKeySequence( Qt::CTRL | Qt::Key_P ) );
}
slotLoadLanguage( "en-US" );
//slotLoadLanguage( "it" );
@@ -726,7 +737,7 @@ void SysTrayX::slotLoadLanguage( QString locale )
}
QString locale_path = "SysTray-X."+ locale;
m_translator.load( locale_path, ":/languages/" );
(void)m_translator.load( locale_path, ":/languages/" );
// bool status = m_translator.load( locale_path, ":/languages/" );
// emit signalConsole( QString( "Language loaded %1").arg(status));
qApp->installTranslator( &m_translator );

View File

@@ -696,6 +696,26 @@ void SysTrayXLink::DecodePreferences( const QJsonObject& pref )
m_pref->setStartupType( startup_type );
}
if( pref.contains( "windowPosCor" ) && pref[ "windowPosCor" ].isString() )
{
bool window_positions_correction = pref[ "windowPosCor" ].toString() == "true";
/*
* Store the new window positions correction
*/
m_pref->setWindowPositionsCorrection( window_positions_correction );
}
if( pref.contains( "windowPosCorType" ) && pref[ "windowPosCorType" ].isString() )
{
Preferences::WindowPositionsCorrectionType window_positions_correction_type = static_cast< Preferences::WindowPositionsCorrectionType >( pref[ "windowPosCorType" ].toString().toInt() );
/*
* Store the window positions correction type
*/
m_pref->setWindowPositionsCorrectionType( window_positions_correction_type );
}
if( pref.contains( "restorePositions" ) && pref[ "restorePositions" ].isString() )
{
bool resore_window_positions = pref[ "restorePositions" ].toString() == "true";
@@ -994,6 +1014,8 @@ void SysTrayXLink::EncodePreferences( const Preferences& pref )
prefObject.insert( "minimizeType", QJsonValue::fromVariant( QString::number( pref.getMinimizeType() ) ) );
prefObject.insert( "minimizeIconType", QJsonValue::fromVariant( QString::number( pref.getMinimizeIconType() ) ) );
prefObject.insert( "startupType", QJsonValue::fromVariant( QString::number( pref.getStartupType() ) ) );
prefObject.insert( "windowPosCor", QJsonValue::fromVariant( QString( pref.getWindowPositionsCorrection() ? "true" : "false" ) ) );
prefObject.insert( "windowPosCorType", QJsonValue::fromVariant( QString::number( pref.getWindowPositionsCorrectionType() ) ) );
prefObject.insert( "restorePositions", QJsonValue::fromVariant( QString( pref.getRestoreWindowPositions() ? "true" : "false" ) ) );
prefObject.insert( "closeType", QJsonValue::fromVariant( QString::number( pref.getCloseType() ) ) );
prefObject.insert( "defaultIconType", QJsonValue::fromVariant( QString::number( pref.getDefaultIconType() ) ) );

View File

@@ -186,6 +186,10 @@ void WindowCtrlUnix::findWindows( qint64 pid )
{
point = old_positions[ win.window ];
}
else
{
emit signalConsole( "Position not found" );
}
m_tb_window_positions[ win.window ] = point;
@@ -391,11 +395,34 @@ void WindowCtrlUnix::updatePositions()
int y;
GetWindowPosition( m_display, window, &x, &y );
/*
* Apply the requested correction
*/
QPoint point;
switch( m_pref->getWindowPositionsCorrectionType() )
{
case Preferences::PREF_NO_CORRECTION:
{
point = QPoint( x, y );
break;
}
case Preferences::PREF_ADD_CORRECTION:
{
point = QPoint( x + left, y + top );
break;
}
case Preferences::PREF_SUBTRACT_CORRECTION:
{
point = QPoint( x - left, y - top );
break;
}
}
/*
* Update the list?
*/
QPoint point = QPoint( x - left, y - top );
if( m_tb_window_positions[ window ] != point )
{
m_tb_window_positions[ window ] = point;
@@ -407,7 +434,8 @@ void WindowCtrlUnix::updatePositions()
}
#ifdef DEBUG_DISPLAY_ACTIONS_DETAILS
emit signalConsole( QString( "Update pos: %1, %2" ).arg( x - left ).arg( y - top ) );
emit signalConsole( QString( "Update pos: %1, %2" ).arg( x ).arg( y ) );
emit signalConsole( QString( "Update pos corrected: %1, %2" ).arg( point.x() ).arg( point.y() ) );
#endif
}
}
@@ -432,6 +460,11 @@ void WindowCtrlUnix::minimizeWindowToTaskbar( quint64 window )
emit signalConsole( "Minimize to taskbar" );
#endif
/*
* Store the current window positions
*/
updatePositions();
/*
* Save the hints
*/
@@ -477,6 +510,11 @@ void WindowCtrlUnix::minimizeWindowToTray( quint64 window )
emit signalConsole( "Minimize to system tray" );
#endif
/*
* Store the current window positions
*/
updatePositions();
/*
* Save the hints
*/
@@ -611,6 +649,19 @@ void WindowCtrlUnix::normalizeWindow( quint64 window )
*/
Sync( m_display );
/*
* Force the window to the last known position?
*/
if( m_pref->getWindowPositionsCorrection() )
{
/*
* Move the window to the last recorded position
*/
QPoint pos = m_tb_window_positions[ window ];
MoveWindow( m_display, window, pos.x(), pos.y() );
Flush( m_display );
}
/*
* Let us wait a bit, maybe this helps...
*/
@@ -682,7 +733,10 @@ void WindowCtrlUnix::setPositions( QList< QPoint > window_positions )
#endif
if( i < window_positions.length() ) {
MoveWindow( m_display, window, window_positions.at( i ).x(), window_positions.at( i ).y() );
QPoint pos = window_positions.at( i );
m_tb_window_positions[ window ] = pos;
MoveWindow( m_display, window, pos.x(), pos.y() );
}
}

View File

@@ -341,6 +341,13 @@ class WindowCtrlUnix : public QObject
*/
void signalPositions( QList< QPoint > positions );
protected:
/**
* @brief m_pref. Pointer to the preferences storage.
*/
Preferences* m_pref;
private:
/**

View File

@@ -272,6 +272,13 @@ class WindowCtrlWin : public QObject
*/
void signalConsole( QString message );
protected:
/**
* @brief m_pref. Pointer to the preferences storage.
*/
Preferences* m_pref;
private:
/**

View File

@@ -174,15 +174,6 @@ void WindowCtrl::slotWindowState( Preferences::WindowState state, int id )
QList< quint64 > win_ids = getWinIds();
#ifdef Q_OS_UNIX
/*
* Update window positions
*/
updatePositions();
#endif
/*
* Minimize/dock all
*/
@@ -253,15 +244,6 @@ void WindowCtrl::slotShowHide()
*/
normalizeWindowsHidden();
#endif
#ifdef Q_OS_UNIX
/*
* Update the positions
*/
updatePositions();
#endif
TargetType target_type = TargetType::TYPE_WINDOW_TO_SYSTEMTRAY;

View File

@@ -5,7 +5,8 @@
* Qt includes
*/
#include <QtGlobal>
#include <QObject>
#include <QPoint>
/*
* Local includes
@@ -23,7 +24,6 @@
* Predefines
*/
class QWindow;
class Preferences;
/**
* @brief The WindowCtrl class.
@@ -56,9 +56,6 @@ class WindowCtrl : public QObject
signals:
// void signalShow();
// void signalHide();
void signalHideDefaultIconChange(bool hide );
public slots:
@@ -138,11 +135,6 @@ class WindowCtrl : public QObject
private:
/**
* @brief m_pref. Pointer to the preferences storage.
*/
Preferences* m_pref;
/**
* @brief m_show_hide_active
*/

View File

@@ -464,10 +464,36 @@ void GetWindowPosition( void* display, quint64 window, int* pos_x, int* pos_y
{
Display* dsp = (Display*)display;
int x, y;
/*
* Get position, method 1
*/
int x1, y1;
Window child;
XWindowAttributes xwa;
XTranslateCoordinates( dsp, window, XDefaultRootWindow( dsp ), 0, 0, &x, &y, &child );
XTranslateCoordinates( dsp, window, XDefaultRootWindow( dsp ), 0, 0, &x1, &y1, &child );
/*
* Get position, method 2
*/
int x2, y2;
Window root;
uint width, height;
uint border;
uint depth;
XGetGeometry( dsp, window, &root, &x2, &y2, &width, &height, &border, &depth );
int x = x1;
int y = y1;
if( x == 0 && y == 0 )
{
x = x2;
y = y2;
}
/*
* Correct the position
*/
XGetWindowAttributes( dsp, window, &xwa );
*pos_x = x - xwa.x;

View File

@@ -1,711 +0,0 @@
#!/bin/bash
VERSION=`git describe --long | sed "s/-.*//"`
OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons"
TARGET_DIR="bin"
GNOME_APPINDICATOR="https://github.com/ubuntu/gnome-shell-extension-appindicator.git"
OBS_PACKAGE="systray-x-gnome"
ENABLE_RPM=true
ENABLE_DEB=true
ENABLE_PAC=true
OBS_RPM_ARCHS=""
OBS_RPM_PKS=""
OBS_RPM_GNOME_EXT=""
OBS_RPM_ARCHS+="openSUSE_Leap_15.4/x86_64 "
OBS_RPM_PKS+="_ "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_GNOME_EXT+="master "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_GNOME_EXT+="master "
OBS_RPM_ARCHS+="15.4/x86_64 "
OBS_RPM_PKS+="lp154 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="15.5/x86_64 "
OBS_RPM_PKS+="lp155 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="Fedora_37/x86_64 "
OBS_RPM_PKS+="fed37 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="Fedora_38/x86_64 "
OBS_RPM_PKS+="fed38 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="Fedora_39/x86_64 "
OBS_RPM_PKS+="fed39 "
OBS_RPM_GNOME_EXT+="master "
OBS_RPM_ARCHS+="Fedora_Rawhide/x86_64 "
OBS_RPM_PKS+="fedraw "
OBS_RPM_GNOME_EXT+="master "
OBS_DEB_ARCHS=""
OBS_DEB_PKS=""
OBS_DEB_GNOME_EXT=""
OBS_DEB_ARCHS+="Debian_10/i386 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="Debian_10/amd64 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="Debian_11/i386 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_GNOME_EXT+="v34 "
OBS_DEB_ARCHS+="Debian_11/amd64 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_GNOME_EXT+="v34 "
OBS_DEB_ARCHS+="Debian_12/i386 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="Debian_12/amd64 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="Debian_Unstable/amd64 "
OBS_DEB_PKS+="debunstable "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="Debian_Testing/amd64 "
OBS_DEB_PKS+="debtest "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="xUbuntu_18.04/i386 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 "
OBS_DEB_PKS+="focal2004 "
OBS_DEB_GNOME_EXT+="0 "
OBS_DEB_ARCHS+="xUbuntu_22.04/amd64 "
OBS_DEB_PKS+="jammy2022 "
OBS_DEB_GNOME_EXT+="0 "
OBS_DEB_ARCHS+="xUbuntu_23.04/amd64 "
OBS_DEB_PKS+="lunar2023 "
OBS_DEB_GNOME_EXT+="0 "
OBS_DEB_ARCHS+="xUbuntu_23.10/amd64 "
OBS_DEB_PKS+="mantic2023 "
OBS_DEB_GNOME_EXT+="0 "
OBS_PAC_ARCHS=""
OBS_PAC_PKS=""
OBS_PAC_ARCHS+="Arch/x86_64 "
OBS_PAC_PKS+="arch "
OBS_PAC_GNOME_EXT+="master "
create_gnome_extension_tar() {
local GIT_BASE=$1
local GNOME_EXT=$2
##########################################
#
# Create user installable
# gnome-shell-extension-appindicator
#
##########################################
if [ -f gnome-shell-extension-${GNOME_EXT}.tar.xz ] ; then
return
fi
if [ ${GNOME_EXT} != "v26" ] &&
[ ${GNOME_EXT} != "v34" ] &&
[ ${GNOME_EXT} != "v46" ] &&
[ ${GNOME_EXT} != "v53" ] &&
[ ${GNOME_EXT} != "master" ] ; then
return
fi
git clone -q ${GIT_BASE}
pushd gnome-shell-extension-appindicator > /dev/null 2>&1
git checkout -q ${GNOME_EXT}
popd > /dev/null 2>&1
#
# Create tar
#
mv -f gnome-shell-extension-appindicator appindicatorsupport@rgcjonas.gmail.com
tar -cJf gnome-shell-extension-${GNOME_EXT}.tar.xz appindicatorsupport@rgcjonas.gmail.com
#
# Cleanup
#
rm -rf appindicatorsupport@rgcjonas.gmail.com
}
create_rpm_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local RPM_NAME_EXT=$4
local GNOME_EXT=$5
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find rpm
#
local RPM_FILE=$(grep ">${OBS_PACKAGE}-${VERSION}.*rpm<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*rpm\)<.*/\1/")
rm -f index.html
echo "Found: "${RPM_FILE}
FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Add the gnome extension to the tar
#
if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then
cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then
cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v46" ] && [ -f gnome-shell-extension-v46.tar.xz ] ; then
cp -f gnome-shell-extension-v46.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then
cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
#
# Get the SysTray-X rpm
#
if [ ! -f ${RPM_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}"
fi
#
# Get compression type
#
COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE})
# echo ${COMPRESSION}
case ${COMPRESSION} in
# zstd)
#
# Extract
#
# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm
#
# Get files
#
# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
# chmod 755 ./${TAR_DIR}/SysTray-X
# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
# ;;
*)
#
# Extract
#
rpm2cpio ${RPM_FILE} | cpio --quiet -idm
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
if [ -d ./usr/share/doc/packages ] ; then
cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
if [ -d ./usr/share/doc/${OBS_PACKAGE} ] ; then
cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
cp -f ./usr/share/doc/${OBS_PACKAGE}*/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
fi
fi
;;
esac
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the RPM
#
if [ "${RPM_NAME_EXT}" != "_" ] ; then
NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(systray-x-gnome-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"`
mv -f ${RPM_FILE} $NEW_RPM_FILE
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_deb_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local DEB_NAME_EXT=$4
local GNOME_EXT=$5
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find deb
#
local DEB_FILE=$(grep ">${OBS_PACKAGE}_${VERSION}.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/")
rm -f index.html
echo "Found: "${DEB_FILE}
FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Add the gnome extension to the tar
#
if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then
cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then
cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v46" ] && [ -f gnome-shell-extension-v46.tar.xz ] ; then
cp -f gnome-shell-extension-v46.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then
cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
#
# Get the SysTray-X deb
#
if [ ! -f ${DEB_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}"
fi
#
# Extract
#
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the DEB
#
if [ "${DEB_NAME_EXT}" != "_" ] ; then
NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"`
mv -f ${DEB_FILE} ${NEW_DEB_FILE}
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_pac_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local PAC_NAME_EXT=$4
local GNOME_EXT=$5
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
curl -s "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" > index.html
#
# Find rpm
#
local PAC_FILE=$(grep ">${OBS_PACKAGE}-[^dgm].*${VERSION}.*\.zst<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*zst\)<.*/\1/")
rm -f index.html
echo "Found: "${PAC_FILE}
FOUND_VERSION=$(echo ${PAC_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Add the gnome extension to the tar
#
if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then
cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then
cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v46" ] && [ -f gnome-shell-extension-v46.tar.xz ] ; then
cp -f gnome-shell-extension-v46.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then
cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
#
# Get the SysTray-X rpm
#
if [ ! -f ${PAC_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${PAC_FILE}"
fi
if [ ! -f systray-x.tar.zst ] ; then
cp -f ${PAC_FILE} systray-x.tar.zst
fi
tar -I zstd -xf systray-x.tar.zst
rm -f systray-x.tar.zst
rm -f .BUILDINFO
rm -f .INSTALL
rm -f .MTREE
rm -f .PKGINFO
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
cp -f ./usr/lib/thunderbird/distribution/extensions/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
# tar -C "./${TAR_DIR}" -cJf "${TAR_DIR}.tar.xz" .
tar -C "./${TAR_DIR}" -cJf systray-x.tar.xz .
mv -f systray-x.tar.xz ${TAR_DIR}.tar.xz
#
# Rename the PAC
#
if [ "${PAC_NAME_EXT}" != "_" ] ; then
NEW_PAC_FILE=`echo ${PAC_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${PAC_NAME_EXT}\.\2/"`
mv -f "${PAC_FILE}" "$NEW_PAC_FILE"
fi
#
# Cleanup
#
rm -rf "${TAR_DIR}"
}
#################################################################################
#
#
# Main
#
#
#################################################################################
mkdir -p $TARGET_DIR
pushd $TARGET_DIR > /dev/null 2>&1
if [ "$ENABLE_RPM" = true ] ; then
#
# Create bash installers for RPM based distributions
#
INDEX=1
for rpmdir in $OBS_RPM_ARCHS ; do
echo
echo
echo "Generating installer: "${rpmdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2)
RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX})
GNOME_EXT=$(echo ${OBS_RPM_GNOME_EXT} | cut -d' ' -f${INDEX})
#
# Generate the gnome tar file
#
create_gnome_extension_tar ${GNOME_APPINDICATOR} ${GNOME_EXT}
#
# Generate the SysTray-X tar file
#
create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT} ${GNOME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Gnome setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_DEB" = true ] ; then
#
# Cleanup
#
rm -f gnome-shell-extension.tar.xz
#
# Create bash installers for DEB based distributions
#
INDEX=1
for debdir in $OBS_DEB_ARCHS ; do
echo
echo
echo "Generating installer: "${debdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2)
DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX})
GNOME_EXT=$(echo ${OBS_DEB_GNOME_EXT} | cut -d' ' -f${INDEX})
#
# Generate the gnome tar file
#
create_gnome_extension_tar ${GNOME_APPINDICATOR} ${GNOME_EXT}
#
# Generate the SysTray-X tar file
#
create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT} ${GNOME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Gnome setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_PAC" = true ] ; then
#
# Create bash installers for PAC based distributions
#
INDEX=1
for pacdir in $OBS_PAC_ARCHS ; do
echo
echo
echo "Generating installer: "${pacdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${pacdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${pacdir} | cut -d'/' -f2)
PAC_NAME_EXT=$(echo ${OBS_PAC_PKS} | cut -d' ' -f${INDEX})
GNOME_EXT=$(echo ${OBS_DEB_GNOME_EXT} | cut -d' ' -f${INDEX})
#
# Generate the gnome tar file
#
create_gnome_extension_tar ${GNOME_APPINDICATOR} ${GNOME_EXT}
#
# Generate the SysTray-X tar file
#
create_pac_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${PAC_NAME_EXT} ${GNOME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Gnome setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
#
# Cleanup
#
rm -f gnome-shell-extension-*.tar.xz
popd > /dev/null 2>&1

View File

@@ -1,572 +0,0 @@
#!/bin/bash
VERSION=`git describe --long | sed "s/-.*//"`
OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons"
TARGET_DIR="bin"
OBS_PACKAGE="systray-x"
ENABLE_RPM=true
ENABLE_DEB=true
ENABLE_PAC=true
OBS_RPM_ARCHS=""
OBS_RPM_PKS=""
OBS_RPM_ARCHS+="openSUSE_Leap_15.4/x86_64 "
OBS_RPM_PKS+="_ "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="15.4/x86_64 "
OBS_RPM_PKS+="lp154 "
OBS_RPM_ARCHS+="15.5/x86_64 "
OBS_RPM_PKS+="lp155 "
OBS_RPM_ARCHS+="Fedora_37/x86_64 "
OBS_RPM_PKS+="fed37 "
OBS_RPM_ARCHS+="Fedora_38/x86_64 "
OBS_RPM_PKS+="fed38 "
OBS_RPM_ARCHS+="Fedora_39/x86_64 "
OBS_RPM_PKS+="fed39 "
OBS_RPM_ARCHS+="Fedora_Rawhide/x86_64 "
OBS_RPM_PKS+="fedraw "
OBS_DEB_ARCHS=""
OBS_DEB_PKS=""
OBS_DEB_ARCHS+="Debian_10/i386 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_10/amd64 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_11/i386 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_11/amd64 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_12/i386 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_12/amd64 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_Unstable/amd64 "
OBS_DEB_PKS+="debunstable "
OBS_DEB_ARCHS+="Debian_Testing/amd64 "
OBS_DEB_PKS+="debtest "
OBS_DEB_ARCHS+="xUbuntu_18.04/i386 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 "
OBS_DEB_PKS+="focal2004 "
OBS_DEB_ARCHS+="xUbuntu_22.04/amd64 "
OBS_DEB_PKS+="jammy2022 "
OBS_DEB_ARCHS+="xUbuntu_23.04/amd64 "
OBS_DEB_PKS+="lunar2023 "
OBS_DEB_ARCHS+="xUbuntu_23.10/amd64 "
OBS_DEB_PKS+="mantic2023 "
OBS_PAC_ARCHS=""
OBS_PAC_PKS=""
OBS_PAC_ARCHS+="Arch/x86_64 "
OBS_PAC_PKS+="arch "
create_rpm_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local RPM_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find rpm
#
local RPM_FILE=$(grep ">${OBS_PACKAGE}-${VERSION}.*rpm<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*rpm\)<.*/\1/")
rm -f index.html
echo "Found: "${RPM_FILE}
FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${RPM_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}"
fi
#
# Get compression type
#
COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE})
# echo ${COMPRESSION}
case ${COMPRESSION} in
# zstd)
#
# Extract
#
# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm
#
# Get files
#
# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
# chmod 755 ./${TAR_DIR}/SysTray-X
# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
# ;;
*)
#
# Extract
#
rpm2cpio ${RPM_FILE} | cpio --quiet -idm
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
if [ -d ./usr/share/doc/packages ] ; then
cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
if [ -d ./usr/share/doc/${OBS_PACKAGE} ] ; then
cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
cp -f ./usr/share/doc/${OBS_PACKAGE}*/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
fi
fi
;;
esac
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the RPM
#
if [ "${RPM_NAME_EXT}" != "_" ] ; then
NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"`
mv -f ${RPM_FILE} $NEW_RPM_FILE
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_deb_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local DEB_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find deb
#
local DEB_FILE=$(grep ">${OBS_PACKAGE}_${VERSION}.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/")
rm -f index.html
echo "Found: "${DEB_FILE}
FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X deb
#
if [ ! -f ${DEB_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}"
fi
#
# Extract
#
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the DEB
#
if [ "${DEB_NAME_EXT}" != "_" ] ; then
NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"`
mv -f ${DEB_FILE} ${NEW_DEB_FILE}
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_pac_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local PAC_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
curl -s "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" > index.html
#
# Find rpm
#
local PAC_FILE=$(grep ">${OBS_PACKAGE}-[^dgm].*${VERSION}.*\.zst<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*zst\)<.*/\1/")
rm -f index.html
echo "Found: "${PAC_FILE}
FOUND_VERSION=$(echo ${PAC_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${PAC_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${PAC_FILE}"
fi
if [ ! -f systray-x.tar.zst ] ; then
cp -f ${PAC_FILE} systray-x.tar.zst
fi
tar -I zstd -xf systray-x.tar.zst
rm -f systray-x.tar.zst
rm -f .BUILDINFO
rm -f .INSTALL
rm -f .MTREE
rm -f .PKGINFO
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
cp -f ./usr/lib/thunderbird/distribution/extensions/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
# tar -C "./${TAR_DIR}" -cJf "${TAR_DIR}.tar.xz" .
tar -C "./${TAR_DIR}" -cJf systray-x.tar.xz .
mv -f systray-x.tar.xz ${TAR_DIR}.tar.xz
#
# Rename the PAC
#
if [ "${PAC_NAME_EXT}" != "_" ] ; then
NEW_PAC_FILE=`echo ${PAC_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${PAC_NAME_EXT}\.\2/"`
mv -f "${PAC_FILE}" "$NEW_PAC_FILE"
fi
#
# Cleanup
#
rm -rf "${TAR_DIR}"
}
#################################################################################
#
#
# Main
#
#
#################################################################################
mkdir -p $TARGET_DIR
pushd $TARGET_DIR > /dev/null 2>&1
if [ "$ENABLE_RPM" = true ] ; then
#
# Create bash installers for RPM based distributions
#
INDEX=1
for rpmdir in $OBS_RPM_ARCHS ; do
echo
echo
echo "Generating installer: "${rpmdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2)
RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Kde setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_DEB" = true ] ; then
#
# Cleanup
#
rm -f gnome-shell-extension.tar.xz
#
# Create bash installers for DEB based distributions
#
INDEX=1
for debdir in $OBS_DEB_ARCHS ; do
echo
echo
echo "Generating installer: "${debdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2)
DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Kde setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_PAC" = true ] ; then
#
# Create bash installers for PAC based distributions
#
INDEX=1
for pacdir in $OBS_PAC_ARCHS ; do
echo
echo
echo "Generating installer: "${pacdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${pacdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${pacdir} | cut -d'/' -f2)
PAC_NAME_EXT=$(echo ${OBS_PAC_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_pac_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${PAC_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Kde setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
#
# Cleanup
#
rm -f gnome-shell-extension-*.tar.xz
popd > /dev/null 2>&1

View File

@@ -1,564 +0,0 @@
#!/bin/bash
VERSION=`git describe --long | sed "s/-.*//"`
OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons"
TARGET_DIR="bin"
OBS_PACKAGE="systray-x-minimal"
ENABLE_RPM=true
ENABLE_DEB=true
ENABLE_PAC=true
OBS_RPM_ARCHS=""
OBS_RPM_PKS=""
OBS_RPM_ARCHS+="openSUSE_Leap_15.4/x86_64 "
OBS_RPM_PKS+="_ "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="15.4/x86_64 "
OBS_RPM_PKS+="lp154 "
OBS_RPM_ARCHS+="15.5/x86_64 "
OBS_RPM_PKS+="lp155 "
OBS_RPM_ARCHS+="Fedora_37/x86_64 "
OBS_RPM_PKS+="fed37 "
OBS_RPM_ARCHS+="Fedora_38/x86_64 "
OBS_RPM_PKS+="fed38 "
OBS_RPM_ARCHS+="Fedora_39/x86_64 "
OBS_RPM_PKS+="fed39 "
OBS_RPM_ARCHS+="Fedora_Rawhide/x86_64 "
OBS_RPM_PKS+="fedraw "
OBS_DEB_ARCHS=""
OBS_DEB_PKS=""
OBS_DEB_ARCHS+="Debian_10/i386 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_10/amd64 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_11/i386 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_11/amd64 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_12/i386 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_12/amd64 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_Unstable/amd64 "
OBS_DEB_PKS+="debunstable "
OBS_DEB_ARCHS+="Debian_Testing/amd64 "
OBS_DEB_PKS+="debtest "
OBS_DEB_ARCHS+="xUbuntu_18.04/i386 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 "
OBS_DEB_PKS+="focal2004 "
OBS_DEB_ARCHS+="xUbuntu_22.04/amd64 "
OBS_DEB_PKS+="jammy2022 "
OBS_DEB_ARCHS+="xUbuntu_23.04/amd64 "
OBS_DEB_PKS+="lunar2023 "
OBS_DEB_ARCHS+="xUbuntu_23.10/amd64 "
OBS_DEB_PKS+="mantic2023 "
OBS_PAC_ARCHS=""
OBS_PAC_PKS=""
OBS_PAC_ARCHS+="Arch/x86_64 "
OBS_PAC_PKS+="arch "
create_rpm_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local RPM_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find rpm
#
local RPM_FILE=$(grep ">${OBS_PACKAGE}-.*${VERSION}.*rpm<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-.*rpm\)<.*/\1/")
rm -f index.html
echo "Found: "${RPM_FILE}
FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${RPM_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}"
fi
#
# Get compression type
#
COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE})
# echo ${COMPRESSION}
case ${COMPRESSION} in
# zstd)
#
# Extract
#
# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm
#
# Get files
#
# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
# chmod 755 ./${TAR_DIR}/SysTray-X
# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
# ;;
*)
#
# Extract
#
rpm2cpio ${RPM_FILE} | cpio --quiet -idm
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
if [ -d ./usr/share/doc/packages ] ; then
cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
if [ -d ./usr/share/doc/${OBS_PACKAGE} ] ; then
cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
cp -f ./usr/share/doc/${OBS_PACKAGE}*/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
fi
fi
;;
esac
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the RPM
#
if [ "${RPM_NAME_EXT}" != "_" ] ; then
NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"`
mv -f ${RPM_FILE} $NEW_RPM_FILE
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_deb_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local DEB_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find deb
#
local DEB_FILE=$(grep ">${OBS_PACKAGE}_${VERSION}.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/")
rm -f index.html
echo "Found: "${DEB_FILE}
FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X deb
#
if [ ! -f ${DEB_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}"
fi
#
# Extract
#
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the DEB
#
if [ "${DEB_NAME_EXT}" != "_" ] ; then
NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"`
mv -f ${DEB_FILE} ${NEW_DEB_FILE}
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_pac_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local PAC_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
curl -s "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" > index.html
#
# Find rpm
#
local PAC_FILE=$(grep ">${OBS_PACKAGE}-[^d].*${VERSION}.*\.zst<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*zst\)<.*/\1/")
rm -f index.html
echo "Found: "${PAC_FILE}
FOUND_VERSION=$(echo ${PAC_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${PAC_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${PAC_FILE}"
fi
if [ ! -f systray-x.tar.zst ] ; then
cp -f ${PAC_FILE} systray-x.tar.zst
fi
tar -I zstd -xf systray-x.tar.zst
rm -f systray-x.tar.zst
rm -f .BUILDINFO
rm -f .INSTALL
rm -f .MTREE
rm -f .PKGINFO
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
cp -f ./usr/lib/thunderbird/distribution/extensions/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
# tar -C "./${TAR_DIR}" -cJf "${TAR_DIR}.tar.xz" .
tar -C "./${TAR_DIR}" -cJf systray-x.tar.xz .
mv -f systray-x.tar.xz ${TAR_DIR}.tar.xz
#
# Rename the PAC
#
if [ "${PAC_NAME_EXT}" != "_" ] ; then
NEW_PAC_FILE=`echo ${PAC_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${PAC_NAME_EXT}\.\2/"`
mv -f "${PAC_FILE}" "$NEW_PAC_FILE"
fi
#
# Cleanup
#
rm -rf "${TAR_DIR}"
}
#################################################################################
#
#
# Main
#
#
#################################################################################
mkdir -p $TARGET_DIR
pushd $TARGET_DIR > /dev/null 2>&1
if [ "$ENABLE_RPM" = true ] ; then
#
# Create bash installers for RPM based distributions
#
INDEX=1
for rpmdir in $OBS_RPM_ARCHS ; do
echo
echo
echo "Generating installer: "${rpmdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2)
RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Minimal setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_DEB" = true ] ; then
#
# Create bash installers for DEB based distributions
#
INDEX=1
for debdir in $OBS_DEB_ARCHS ; do
echo
echo
echo "Generating installer: "${debdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2)
DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Minimal setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_PAC" = true ] ; then
#
# Create bash installers for PAC based distributions
#
INDEX=1
for pacdir in $OBS_PAC_ARCHS ; do
echo
echo
echo "Generating installer: "${pacdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${pacdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${pacdir} | cut -d'/' -f2)
PAC_NAME_EXT=$(echo ${OBS_PAC_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_pac_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${PAC_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Minimal setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
popd > /dev/null 2>&1

View File

@@ -1,711 +0,0 @@
#!/bin/bash
VERSION=`git describe --long | sed "s/-.*//"`
OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging"
TARGET_DIR="bin-staging"
GNOME_APPINDICATOR="https://github.com/ubuntu/gnome-shell-extension-appindicator.git"
OBS_PACKAGE="systray-x-gnome"
ENABLE_RPM=true
ENABLE_DEB=true
ENABLE_PAC=true
OBS_RPM_ARCHS=""
OBS_RPM_PKS=""
OBS_RPM_GNOME_EXT=""
OBS_RPM_ARCHS+="openSUSE_Leap_15.4/x86_64 "
OBS_RPM_PKS+="_ "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_GNOME_EXT+="master "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_GNOME_EXT+="master "
OBS_RPM_ARCHS+="15.4/x86_64 "
OBS_RPM_PKS+="lp154 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="15.5/x86_64 "
OBS_RPM_PKS+="lp155 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="Fedora_37/x86_64 "
OBS_RPM_PKS+="fed37 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="Fedora_38/x86_64 "
OBS_RPM_PKS+="fed38 "
OBS_RPM_GNOME_EXT+="v53 "
OBS_RPM_ARCHS+="Fedora_39/x86_64 "
OBS_RPM_PKS+="fed39 "
OBS_RPM_GNOME_EXT+="master "
OBS_RPM_ARCHS+="Fedora_Rawhide/x86_64 "
OBS_RPM_PKS+="fedraw "
OBS_RPM_GNOME_EXT+="master "
OBS_DEB_ARCHS=""
OBS_DEB_PKS=""
OBS_DEB_GNOME_EXT=""
OBS_DEB_ARCHS+="Debian_10/i386 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="Debian_10/amd64 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="Debian_11/i386 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_GNOME_EXT+="v34 "
OBS_DEB_ARCHS+="Debian_11/amd64 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_GNOME_EXT+="v34 "
OBS_DEB_ARCHS+="Debian_12/i386 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="Debian_12/amd64 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="Debian_Unstable/amd64 "
OBS_DEB_PKS+="debunstable "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="Debian_Testing/amd64 "
OBS_DEB_PKS+="debtest "
OBS_DEB_GNOME_EXT+="v46 "
OBS_DEB_ARCHS+="xUbuntu_18.04/i386 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_GNOME_EXT+="v26 "
OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 "
OBS_DEB_PKS+="focal2004 "
OBS_DEB_GNOME_EXT+="0 "
OBS_DEB_ARCHS+="xUbuntu_22.04/amd64 "
OBS_DEB_PKS+="jammy2022 "
OBS_DEB_GNOME_EXT+="0 "
OBS_DEB_ARCHS+="xUbuntu_23.04/amd64 "
OBS_DEB_PKS+="lunar2023 "
OBS_DEB_GNOME_EXT+="0 "
OBS_DEB_ARCHS+="xUbuntu_23.10/amd64 "
OBS_DEB_PKS+="mantic2023 "
OBS_DEB_GNOME_EXT+="0 "
OBS_PAC_ARCHS=""
OBS_PAC_PKS=""
OBS_PAC_ARCHS+="Arch/x86_64 "
OBS_PAC_PKS+="arch "
OBS_PAC_GNOME_EXT+="master "
create_gnome_extension_tar() {
local GIT_BASE=$1
local GNOME_EXT=$2
##########################################
#
# Create user installable
# gnome-shell-extension-appindicator
#
##########################################
if [ -f gnome-shell-extension-${GNOME_EXT}.tar.xz ] ; then
return
fi
if [ "${GNOME_EXT}" != "v26" ] &&
[ "${GNOME_EXT}" != "v34" ] &&
[ "${GNOME_EXT}" != "v46" ] &&
[ "${GNOME_EXT}" != "v53" ] &&
[ "${GNOME_EXT}" != "master" ] ; then
return
fi
git clone -q ${GIT_BASE}
pushd gnome-shell-extension-appindicator > /dev/null 2>&1
git checkout -q ${GNOME_EXT}
popd > /dev/null 2>&1
#
# Create tar
#
mv -f gnome-shell-extension-appindicator appindicatorsupport@rgcjonas.gmail.com
tar -cJf gnome-shell-extension-${GNOME_EXT}.tar.xz appindicatorsupport@rgcjonas.gmail.com
#
# Cleanup
#
rm -rf appindicatorsupport@rgcjonas.gmail.com
}
create_rpm_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local RPM_NAME_EXT=$4
local GNOME_EXT=$5
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find rpm
#
local RPM_FILE=$(grep ">${OBS_PACKAGE}-${VERSION}.*rpm<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*rpm\)<.*/\1/")
rm -f index.html
echo "Found: "${RPM_FILE}
FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Add the gnome extension to the tar
#
if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then
cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then
cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v46" ] && [ -f gnome-shell-extension-v46.tar.xz ] ; then
cp -f gnome-shell-extension-v46.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then
cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
#
# Get the SysTray-X rpm
#
if [ ! -f ${RPM_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}"
fi
#
# Get compression type
#
COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE})
# echo ${COMPRESSION}
case ${COMPRESSION} in
# zstd)
#
# Extract
#
# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm
#
# Get files
#
# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
# chmod 755 ./${TAR_DIR}/SysTray-X
# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
# ;;
*)
#
# Extract
#
rpm2cpio ${RPM_FILE} | cpio --quiet -idm
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
if [ -d ./usr/share/doc/packages ] ; then
cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
if [ -d ./usr/share/doc/${OBS_PACKAGE} ] ; then
cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
cp -f ./usr/share/doc/${OBS_PACKAGE}*/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
fi
fi
;;
esac
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the RPM
#
if [ "${RPM_NAME_EXT}" != "_" ] ; then
NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(systray-x-gnome-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"`
mv -f ${RPM_FILE} $NEW_RPM_FILE
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_deb_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local DEB_NAME_EXT=$4
local GNOME_EXT=$5
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find deb
#
local DEB_FILE=$(grep ">${OBS_PACKAGE}_${VERSION}.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/")
rm -f index.html
echo "Found: "${DEB_FILE}
FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Add the gnome extension to the tar
#
if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then
cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then
cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v46" ] && [ -f gnome-shell-extension-v46.tar.xz ] ; then
cp -f gnome-shell-extension-v46.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then
cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
#
# Get the SysTray-X deb
#
if [ ! -f ${DEB_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}"
fi
#
# Extract
#
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the DEB
#
if [ "${DEB_NAME_EXT}" != "_" ] ; then
NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"`
mv -f ${DEB_FILE} ${NEW_DEB_FILE}
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_pac_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local PAC_NAME_EXT=$4
local GNOME_EXT=$5
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
curl -s "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" > index.html
#
# Find rpm
#
local PAC_FILE=$(grep ">${OBS_PACKAGE}-[^dgm].*${VERSION}.*\.zst<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*zst\)<.*/\1/")
rm -f index.html
echo "Found: "${PAC_FILE}
FOUND_VERSION=$(echo ${PAC_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Add the gnome extension to the tar
#
if [ "${GNOME_EXT}" == "v26" ] && [ -f gnome-shell-extension-v26.tar.xz ] ; then
cp -f gnome-shell-extension-v26.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v34" ] && [ -f gnome-shell-extension-v34.tar.xz ] ; then
cp -f gnome-shell-extension-v34.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "v46" ] && [ -f gnome-shell-extension-v46.tar.xz ] ; then
cp -f gnome-shell-extension-v46.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
if [ "${GNOME_EXT}" == "master" ] && [ -f gnome-shell-extension-master.tar.xz ] ; then
cp -f gnome-shell-extension-master.tar.xz ${TAR_DIR}/gnome-shell-extension.tar.xz
fi
#
# Get the SysTray-X rpm
#
if [ ! -f ${PAC_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${PAC_FILE}"
fi
if [ ! -f systray-x.tar.zst ] ; then
cp -f ${PAC_FILE} systray-x.tar.zst
fi
tar -I zstd -xf systray-x.tar.zst
rm -f systray-x.tar.zst
rm -f .BUILDINFO
rm -f .INSTALL
rm -f .MTREE
rm -f .PKGINFO
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
cp -f ./usr/lib/thunderbird/distribution/extensions/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
# tar -C "./${TAR_DIR}" -cJf "${TAR_DIR}.tar.xz" .
tar -C "./${TAR_DIR}" -cJf systray-x.tar.xz .
mv -f systray-x.tar.xz ${TAR_DIR}.tar.xz
#
# Rename the PAC
#
if [ "${PAC_NAME_EXT}" != "_" ] ; then
NEW_PAC_FILE=`echo ${PAC_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${PAC_NAME_EXT}\.\2/"`
mv -f "${PAC_FILE}" "$NEW_PAC_FILE"
fi
#
# Cleanup
#
rm -rf "${TAR_DIR}"
}
#################################################################################
#
#
# Main
#
#
#################################################################################
mkdir -p $TARGET_DIR
pushd $TARGET_DIR > /dev/null 2>&1
if [ "$ENABLE_RPM" = true ] ; then
#
# Create bash installers for RPM based distributions
#
INDEX=1
for rpmdir in $OBS_RPM_ARCHS ; do
echo
echo
echo "Generating installer: "${rpmdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2)
RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX})
GNOME_EXT=$(echo ${OBS_RPM_GNOME_EXT} | cut -d' ' -f${INDEX})
#
# Generate the gnome tar file
#
create_gnome_extension_tar ${GNOME_APPINDICATOR} ${GNOME_EXT}
#
# Generate the SysTray-X tar file
#
create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT} ${GNOME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Gnome setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_DEB" = true ] ; then
#
# Cleanup
#
rm -f gnome-shell-extension.tar.xz
#
# Create bash installers for DEB based distributions
#
INDEX=1
for debdir in $OBS_DEB_ARCHS ; do
echo
echo
echo "Generating installer: "${debdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2)
DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX})
GNOME_EXT=$(echo ${OBS_DEB_GNOME_EXT} | cut -d' ' -f${INDEX})
#
# Generate the gnome tar file
#
create_gnome_extension_tar ${GNOME_APPINDICATOR} ${GNOME_EXT}
#
# Generate the SysTray-X tar file
#
create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT} ${GNOME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Gnome setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_PAC" = true ] ; then
#
# Create bash installers for PAC based distributions
#
INDEX=1
for pacdir in $OBS_PAC_ARCHS ; do
echo
echo
echo "Generating installer: "${pacdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${pacdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${pacdir} | cut -d'/' -f2)
PAC_NAME_EXT=$(echo ${OBS_PAC_PKS} | cut -d' ' -f${INDEX})
GNOME_EXT=$(echo ${OBS_DEB_GNOME_EXT} | cut -d' ' -f${INDEX})
#
# Generate the gnome tar file
#
create_gnome_extension_tar ${GNOME_APPINDICATOR} ${GNOME_EXT}
#
# Generate the SysTray-X tar file
#
create_pac_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${PAC_NAME_EXT} ${GNOME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Gnome setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Gnome.sh" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
#
# Cleanup
#
rm -f gnome-shell-extension-*.tar.xz
popd > /dev/null 2>&1

View File

@@ -1,572 +0,0 @@
#!/bin/bash
VERSION=`git describe --long | sed "s/-.*//"`
OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging"
TARGET_DIR="bin-staging"
OBS_PACKAGE="systray-x"
ENABLE_RPM=true
ENABLE_DEB=true
ENABLE_PAC=true
OBS_RPM_ARCHS=""
OBS_RPM_PKS=""
OBS_RPM_ARCHS+="openSUSE_Leap_15.4/x86_64 "
OBS_RPM_PKS+="_ "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="15.4/x86_64 "
OBS_RPM_PKS+="lp154 "
OBS_RPM_ARCHS+="15.5/x86_64 "
OBS_RPM_PKS+="lp155 "
OBS_RPM_ARCHS+="Fedora_37/x86_64 "
OBS_RPM_PKS+="fed37 "
OBS_RPM_ARCHS+="Fedora_38/x86_64 "
OBS_RPM_PKS+="fed38 "
OBS_RPM_ARCHS+="Fedora_39/x86_64 "
OBS_RPM_PKS+="fed39 "
OBS_RPM_ARCHS+="Fedora_Rawhide/x86_64 "
OBS_RPM_PKS+="fedraw "
OBS_DEB_ARCHS=""
OBS_DEB_PKS=""
OBS_DEB_ARCHS+="Debian_10/i386 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_10/amd64 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_11/i386 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_11/amd64 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_12/i386 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_12/amd64 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_Unstable/amd64 "
OBS_DEB_PKS+="debunstable "
OBS_DEB_ARCHS+="Debian_Testing/amd64 "
OBS_DEB_PKS+="debtest "
OBS_DEB_ARCHS+="xUbuntu_18.04/i386 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 "
OBS_DEB_PKS+="focal2004 "
OBS_DEB_ARCHS+="xUbuntu_22.04/amd64 "
OBS_DEB_PKS+="jammy2022 "
OBS_DEB_ARCHS+="xUbuntu_23.04/amd64 "
OBS_DEB_PKS+="lunar2023 "
OBS_DEB_ARCHS+="xUbuntu_23.10/amd64 "
OBS_DEB_PKS+="mantic2023 "
OBS_PAC_ARCHS=""
OBS_PAC_PKS=""
OBS_PAC_ARCHS+="Arch/x86_64 "
OBS_PAC_PKS+="arch "
create_rpm_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local RPM_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find rpm
#
local RPM_FILE=$(grep ">${OBS_PACKAGE}-${VERSION}.*rpm<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*rpm\)<.*/\1/")
rm -f index.html
echo "Found: "${RPM_FILE}
FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${RPM_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}"
fi
#
# Get compression type
#
COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE})
# echo ${COMPRESSION}
case ${COMPRESSION} in
# zstd)
#
# Extract
#
# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm
#
# Get files
#
# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
# chmod 755 ./${TAR_DIR}/SysTray-X
# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
# ;;
*)
#
# Extract
#
rpm2cpio ${RPM_FILE} | cpio --quiet -idm
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
if [ -d ./usr/share/doc/packages ] ; then
cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
if [ -d ./usr/share/doc/${OBS_PACKAGE} ] ; then
cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
cp -f ./usr/share/doc/${OBS_PACKAGE}*/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
fi
fi
;;
esac
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the RPM
#
if [ "${RPM_NAME_EXT}" != "_" ] ; then
NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"`
mv -f ${RPM_FILE} $NEW_RPM_FILE
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_deb_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local DEB_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find deb
#
local DEB_FILE=$(grep ">${OBS_PACKAGE}_${VERSION}.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/")
rm -f index.html
echo "Found: "${DEB_FILE}
FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X deb
#
if [ ! -f ${DEB_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}"
fi
#
# Extract
#
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the DEB
#
if [ "${DEB_NAME_EXT}" != "_" ] ; then
NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"`
mv -f ${DEB_FILE} ${NEW_DEB_FILE}
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_pac_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local PAC_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
curl -s "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" > index.html
#
# Find rpm
#
local PAC_FILE=$(grep ">${OBS_PACKAGE}-[^dgm].*${VERSION}.*\.zst<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*zst\)<.*/\1/")
rm -f index.html
echo "Found: "${PAC_FILE}
FOUND_VERSION=$(echo ${PAC_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${PAC_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${PAC_FILE}"
fi
if [ ! -f systray-x.tar.zst ] ; then
cp -f ${PAC_FILE} systray-x.tar.zst
fi
tar -I zstd -xf systray-x.tar.zst
rm -f systray-x.tar.zst
rm -f .BUILDINFO
rm -f .INSTALL
rm -f .MTREE
rm -f .PKGINFO
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
cp -f ./usr/lib/thunderbird/distribution/extensions/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
# tar -C "./${TAR_DIR}" -cJf "${TAR_DIR}.tar.xz" .
tar -C "./${TAR_DIR}" -cJf systray-x.tar.xz .
mv -f systray-x.tar.xz ${TAR_DIR}.tar.xz
#
# Rename the PAC
#
if [ "${PAC_NAME_EXT}" != "_" ] ; then
NEW_PAC_FILE=`echo ${PAC_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${PAC_NAME_EXT}\.\2/"`
mv -f "${PAC_FILE}" "$NEW_PAC_FILE"
fi
#
# Cleanup
#
rm -rf "${TAR_DIR}"
}
#################################################################################
#
#
# Main
#
#
#################################################################################
mkdir -p $TARGET_DIR
pushd $TARGET_DIR > /dev/null 2>&1
if [ "$ENABLE_RPM" = true ] ; then
#
# Create bash installers for RPM based distributions
#
INDEX=1
for rpmdir in $OBS_RPM_ARCHS ; do
echo
echo
echo "Generating installer: "${rpmdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2)
RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Kde setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_DEB" = true ] ; then
#
# Cleanup
#
rm -f gnome-shell-extension.tar.xz
#
# Create bash installers for DEB based distributions
#
INDEX=1
for debdir in $OBS_DEB_ARCHS ; do
echo
echo
echo "Generating installer: "${debdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2)
DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Kde setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_PAC" = true ] ; then
#
# Create bash installers for PAC based distributions
#
INDEX=1
for pacdir in $OBS_PAC_ARCHS ; do
echo
echo
echo "Generating installer: "${pacdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${pacdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${pacdir} | cut -d'/' -f2)
PAC_NAME_EXT=$(echo ${OBS_PAC_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_pac_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${PAC_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Kde setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}-Kde.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__MINIMAL_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
#
# Cleanup
#
rm -f gnome-shell-extension-*.tar.xz
popd > /dev/null 2>&1

View File

@@ -1,563 +0,0 @@
#!/bin/bash
VERSION=`git describe --long | sed "s/-.*//"`
OBS_REPO_BASE="https://download.opensuse.org/repositories/home:/Ximi1970:/Mozilla:/Add-ons:/Staging"
TARGET_DIR="bin-staging"
OBS_PACKAGE="systray-x-minimal"
ENABLE_RPM=true
ENABLE_DEB=true
ENABLE_PAC=true
OBS_RPM_ARCHS=""
OBS_RPM_PKS=""
OBS_RPM_ARCHS+="openSUSE_Leap_15.4/x86_64 "
OBS_RPM_PKS+="_ "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/i586 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="openSUSE_Tumbleweed/x86_64 "
OBS_RPM_PKS+="tmblwd "
OBS_RPM_ARCHS+="15.4/x86_64 "
OBS_RPM_PKS+="lp154 "
OBS_RPM_ARCHS+="15.5/x86_64 "
OBS_RPM_PKS+="lp155 "
OBS_RPM_ARCHS+="Fedora_37/x86_64 "
OBS_RPM_PKS+="fed37 "
OBS_RPM_ARCHS+="Fedora_38/x86_64 "
OBS_RPM_PKS+="fed38 "
OBS_RPM_ARCHS+="Fedora_39/x86_64 "
OBS_RPM_PKS+="fed39 "
OBS_RPM_ARCHS+="Fedora_Rawhide/x86_64 "
OBS_RPM_PKS+="fedraw "
OBS_DEB_ARCHS=""
OBS_DEB_PKS=""
OBS_DEB_ARCHS+="Debian_10/i386 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_10/amd64 "
OBS_DEB_PKS+="deb10 "
OBS_DEB_ARCHS+="Debian_11/i386 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_11/amd64 "
OBS_DEB_PKS+="deb11 "
OBS_DEB_ARCHS+="Debian_12/i386 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_12/amd64 "
OBS_DEB_PKS+="deb12 "
OBS_DEB_ARCHS+="Debian_Unstable/amd64 "
OBS_DEB_PKS+="debunstable "
OBS_DEB_ARCHS+="Debian_Testing/amd64 "
OBS_DEB_PKS+="debtest "
OBS_DEB_ARCHS+="xUbuntu_18.04/i386 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_18.04/amd64 "
OBS_DEB_PKS+="bionic1804 "
OBS_DEB_ARCHS+="xUbuntu_20.04/amd64 "
OBS_DEB_PKS+="focal2004 "
OBS_DEB_ARCHS+="xUbuntu_22.04/amd64 "
OBS_DEB_PKS+="jammy2022 "
OBS_DEB_ARCHS+="xUbuntu_23.04/amd64 "
OBS_DEB_PKS+="lunar2023 "
OBS_DEB_ARCHS+="xUbuntu_23.10/amd64 "
OBS_DEB_PKS+="mantic2023 "
OBS_PAC_ARCHS=""
OBS_PAC_PKS=""
OBS_PAC_ARCHS+="Arch/x86_64 "
OBS_PAC_PKS+="arch "
create_rpm_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local RPM_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find rpm
#
local RPM_FILE=$(grep ">${OBS_PACKAGE}-.*${VERSION}.*rpm<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-.*rpm\)<.*/\1/")
rm -f index.html
echo "Found: "${RPM_FILE}
FOUND_VERSION=$(echo ${RPM_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${RPM_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${RPM_FILE}"
fi
#
# Get compression type
#
COMPRESSION=$(rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' ${RPM_FILE})
# echo ${COMPRESSION}
case ${COMPRESSION} in
# zstd)
#
# Extract
#
# rpm2cpio ${RPM_FILE} | zstd -d | cpio --quiet -idm
#
# Get files
#
# cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
# chmod 755 ./${TAR_DIR}/SysTray-X
# cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
# ;;
*)
#
# Extract
#
rpm2cpio ${RPM_FILE} | cpio --quiet -idm
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
if [ -d ./usr/share/doc/packages ] ; then
cp -f ./usr/share/doc/packages/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
if [ -d ./usr/share/doc/${OBS_PACKAGE} ] ; then
cp -f ./usr/share/doc/${OBS_PACKAGE}/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
else
cp -f ./usr/share/doc/${OBS_PACKAGE}*/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
fi
fi
;;
esac
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the RPM
#
if [ "${RPM_NAME_EXT}" != "_" ] ; then
NEW_RPM_FILE=`echo ${RPM_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${RPM_NAME_EXT}\.\2/"`
mv -f ${RPM_FILE} $NEW_RPM_FILE
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_deb_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local DEB_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/"
#
# Find deb
#
local DEB_FILE=$(grep ">${OBS_PACKAGE}_${VERSION}.*\.deb<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}.*deb\)<.*/\1/")
rm -f index.html
echo "Found: "${DEB_FILE}
FOUND_VERSION=$(echo ${DEB_FILE} | sed -e "s/${OBS_PACKAGE}_\(.*\)_.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X deb
#
if [ ! -f ${DEB_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${DEB_FILE}"
fi
#
# Extract
#
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/bin/SysTray-X > ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
dpkg-deb --fsys-tarfile ${DEB_FILE} | tar xOf - ./usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi > ./${TAR_DIR}/systray-x@Ximi1970.xpi
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
tar -C ./${TAR_DIR} -cJf ${TAR_DIR}.tar.xz .
#
# Rename the DEB
#
if [ "${DEB_NAME_EXT}" != "_" ] ; then
NEW_DEB_FILE=`echo ${DEB_FILE} | sed -s "s/\(${OBS_PACKAGE}\_${FOUND_VERSION}\_\)\(.*\)/\1${DEB_NAME_EXT}\_\2/"`
mv -f ${DEB_FILE} ${NEW_DEB_FILE}
fi
#
# Cleanup
#
rm -rf ${TAR_DIR}
}
create_pac_tar() {
local REPO_BASE=$1
local REPO_DISTR=$2
local REPO_ARCH=$3
local PAC_NAME_EXT=$4
##########################################
#
# Create the SysTray-X tar
#
##########################################
#
# Get index.html
#
rm -f index.html
curl -s "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/" > index.html
#
# Find rpm
#
local PAC_FILE=$(grep ">${OBS_PACKAGE}-[^d].*${VERSION}.*\.zst<" index.html | sed -e "s/.*>\(${OBS_PACKAGE}-[^d].*zst\)<.*/\1/")
rm -f index.html
echo "Found: "${PAC_FILE}
FOUND_VERSION=$(echo ${PAC_FILE} | sed -e "s/${OBS_PACKAGE}-\(.*\)-.*/\1/")
echo "Version: "${FOUND_VERSION}
#
# Create tar dir
#
local TAR_DIR=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}
rm -rf ${TAR_DIR}
mkdir -p ${TAR_DIR}
#
# Get the SysTray-X rpm
#
if [ ! -f ${PAC_FILE} ] ; then
wget -q "${REPO_BASE}/${REPO_DISTR}/${REPO_ARCH}/${PAC_FILE}"
fi
if [ ! -f systray-x.tar.zst ] ; then
cp -f ${PAC_FILE} systray-x.tar.zst
fi
tar -I zstd -xf systray-x.tar.zst
rm -f systray-x.tar.zst
rm -f .BUILDINFO
rm -f .INSTALL
rm -f .MTREE
rm -f .PKGINFO
#
# Get files
#
cp -f ./usr/bin/SysTray-X ./${TAR_DIR}/SysTray-X
chmod 755 ./${TAR_DIR}/SysTray-X
cp -f ./usr/lib/thunderbird/distribution/extensions/systray-x@Ximi1970.xpi ./${TAR_DIR}/systray-x@Ximi1970.xpi
#
# Cleanup
#
rm -rf ./usr
if [ ! -f systray-x@Ximi1970.xpi ] ; then
cp -f ./${TAR_DIR}/systray-x@Ximi1970.xpi .
fi
#
# Get JSON
#
cp -f ../app/config/linux/SysTray_X.json.template ./${TAR_DIR}/SysTray_X.json.template
#
# Create tar
#
# tar -C "./${TAR_DIR}" -cJf "${TAR_DIR}.tar.xz" .
tar -C "./${TAR_DIR}" -cJf systray-x.tar.xz .
mv -f systray-x.tar.xz ${TAR_DIR}.tar.xz
#
# Rename the PAC
#
if [ "${PAC_NAME_EXT}" != "_" ] ; then
NEW_PAC_FILE=`echo ${PAC_FILE} | sed -s "s/\(${OBS_PACKAGE}-${FOUND_VERSION}-\)\(.*\)/\1${PAC_NAME_EXT}\.\2/"`
mv -f "${PAC_FILE}" "$NEW_PAC_FILE"
fi
#
# Cleanup
#
rm -rf "${TAR_DIR}"
}
#################################################################################
#
#
# Main
#
#
#################################################################################
mkdir -p $TARGET_DIR
pushd $TARGET_DIR > /dev/null 2>&1
if [ "$ENABLE_RPM" = true ] ; then
#
# Create bash installers for RPM based distributions
#
INDEX=1
for rpmdir in $OBS_RPM_ARCHS ; do
echo
echo
echo "Generating installer: "${rpmdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${rpmdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${rpmdir} | cut -d'/' -f2)
RPM_NAME_EXT=$(echo ${OBS_RPM_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_rpm_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${RPM_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Minimal setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_DEB" = true ] ; then
#
# Create bash installers for DEB based distributions
#
INDEX=1
for debdir in $OBS_DEB_ARCHS ; do
echo
echo
echo "Generating installer: "${debdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${debdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${debdir} | cut -d'/' -f2)
DEB_NAME_EXT=$(echo ${OBS_DEB_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_deb_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${DEB_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Minimal setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
if [ "$ENABLE_PAC" = true ] ; then
#
# Create bash installers for PAC based distributions
#
INDEX=1
for pacdir in $OBS_PAC_ARCHS ; do
echo
echo
echo "Generating installer: "${pacdir}
echo
#
# Get base of the repo
#
REPO_DISTR=$(echo ${pacdir} | cut -d'/' -f1)
REPO_ARCH=$(echo ${pacdir} | cut -d'/' -f2)
PAC_NAME_EXT=$(echo ${OBS_PAC_PKS} | cut -d' ' -f${INDEX})
#
# Generate the SysTray-X tar file
#
create_pac_tar ${OBS_REPO_BASE} ${REPO_DISTR} ${REPO_ARCH} ${PAC_NAME_EXT}
#
# Create installer
#
INSTALLER=SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-Minimal-install.sh
cp -f ../dist/install.sh ${INSTALLER}
#
# Insert Minimal setup
#
sed -i -e "/__XXXX_SETUP__/r../dist/install.${REPO_DISTR}.sh" ${INSTALLER}
sed -i -e "s/__GNOME_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-GNOME-install.sh/" ${INSTALLER}
sed -i -e "s/__KDE_INSTALLER__/SysTray-X-${FOUND_VERSION}-${REPO_DISTR}-${REPO_ARCH}-KDE-install.sh/" ${INSTALLER}
sed -i -e "s/__XXXX_SETUP__//" ${INSTALLER}
#
# Insert install tar
#
cat SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz >> ${INSTALLER}
chmod 755 ${INSTALLER}
#
# Cleanup
#
rm -f SysTray-X-${FOUND_VERSION}-${REPO_DISTR}.tar.xz
#
# Update index
#
INDEX=$((INDEX+1))
done
fi
popd > /dev/null 2>&1

View File

@@ -1,74 +0,0 @@
#!/bin/bash
UPLOAD_SERVER="upload.server.com"
UPLOAD_USER="user"
UPLOAD_PASSWORD="password"
UPLOAD_DIR="src/systray-x/bin"
BUILD_FARM="build.farm.com"
BUILD_FARM_USER="farmuser"
BUILD_WORKER="worker.build.farm.com"
BUILD_WORKER_USER="BuildUser"
BUILD_WORKER_VMNAME="Virtual Machine Name"
VERSION=`git describe --long | sed "s/-.*//"`
#
# Start the worker on the farm
#
ssh ${BUILD_FARM_USER}@${BUILD_FARM} <<-ENDSSH
VBoxHeadless -startvm "${BUILD_WORKER_VMNAME}" > /dev/null 2>&1 &
ENDSSH
#
# Wait for the worker to become active
#
timeout=30
t=0
while [ $t -lt $timeout ] ; do
ping -c1 ${BUILD_WORKER}
if [ $? -eq 0 ] ; then
break;
fi
sleep 10
t=$((t+1))
done
if [ $t -eq $timeout ] ; then
echo "Cannot find server"
exit 1
fi
#
# Start build
#
ssh ${BUILD_WORKER_USER}@${BUILD_WORKER} -T <<-ENDSSH
cd /cygdrive/c/Users/${BUILD_WORKER_USER}/Documents
mkdir -p Projects/Github/Ximi1970
cd Projects/Github/Ximi1970
rm -rf systray-x
git clone https://github.com/Ximi1970/systray-x.git
cd systray-x
make
cd dist
/cygdrive/c/Program\ Files\ \(x86\)/NSIS/Bin/makensis.exe SysTray-X-32bit.nsi
/cygdrive/c/Program\ Files\ \(x86\)/NSIS/Bin/makensis.exe SysTray-X-64bit.nsi
mv -f SysTray-X-setup32.exe SysTray-X-setup32-${VERSION}.exe
mv -f SysTray-X-setup64.exe SysTray-X-setup64-${VERSION}.exe
lftp -u ${UPLOAD_USER},${UPLOAD_PASSWORD} ${UPLOAD_SERVER}/${UPLOAD_DIR} <<-ENDFTP
mput SysTray-X-setup*.exe
close
quit
ENDFTP
exit
ENDSSH
#
# Shutdown worker
#
ssh ${BUILD_FARM_USER}@${BUILD_FARM} <<-ENDSSH
VBoxManage controlvm "${BUILD_WORKER_VMNAME}" acpipowerbutton
ENDSSH

View File

@@ -11,7 +11,7 @@ Name "${Name}"
!define PRODUCT_ID "systray-x@Ximi1970"
!define VERSIONMAJOR 0
!define VERSIONMINOR 9
!define VERSIONBUILD 8
!define VERSIONBUILD 9
!define VERSION "${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}"
CRCCheck On

View File

@@ -11,7 +11,7 @@ Name "${Name}"
!define PRODUCT_ID "systray-x@Ximi1970"
!define VERSIONMAJOR 0
!define VERSIONMINOR 9
!define VERSIONBUILD 8
!define VERSIONBUILD 9
!define VERSION "${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}"
CRCCheck On

View File

@@ -1,26 +1,26 @@
# Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
pkgname=systray-x-gnome
pkgver=0
pkgrel=0
pkgver=0.9.9
pkgrel=3
epoch=1
pkgdesc='A system tray extension for Thunderbird (GNOME)'
arch=(x86_64)
url=https://github.com/Ximi1970/systray-x
license=(MPL-2.0)
depends=(
'qt5-base'
'qt6-base'
'qt6-wayland'
'gnome-shell-extension-appindicator'
'thunderbird>=91'
'thunderbird<121'
'thunderbird<129'
)
makedepends=(
'git'
'unzip'
'zip'
'libx11'
'qt5-base'
'qt5-x11extras'
'qt6-base'
)
provides=(
'systray-x'

View File

@@ -1,27 +1,27 @@
# Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
pkgname=systray-x
pkgver=0
pkgrel=0
pkgver=0.9.9
pkgrel=3
epoch=1
pkgdesc='A system tray extension for Thunderbird (KDE)'
arch=(x86_64)
url=https://github.com/Ximi1970/systray-x
license=(MPL-2.0)
depends=(
'qt5-base'
'knotifications5'
'qt6-base'
'qt6-wayland'
'kstatusnotifieritem'
'thunderbird>=91'
'thunderbird<121'
'thunderbird<129'
)
makedepends=(
'git'
'unzip'
'zip'
'libx11'
'qt5-base'
'qt5-x11extras'
'knotifications5'
'qt6-base'
'kstatusnotifieritem'
)
provides=(
'systray-x'

View File

@@ -1,25 +1,25 @@
# Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
pkgname=systray-x-minimal
pkgver=0
pkgrel=0
pkgver=0.9.9
pkgrel=3
epoch=1
pkgdesc='A system tray extension for Thunderbird (Unity/XFCE/other)'
arch=(x86_64)
url=https://github.com/Ximi1970/systray-x
license=(MPL-2.0)
depends=(
'qt5-base'
'qt6-base'
'qt6-wayland'
'thunderbird>=91'
'thunderbird<121'
'thunderbird<129'
)
makedepends=(
'git'
'unzip'
'zip'
'libx11'
'qt5-base'
'qt5-x11extras'
'qt6-base'
)
provides=(
'systray-x'

100
dist/deb-qt6/gnome/debian.changelog vendored Normal file
View File

@@ -0,0 +1,100 @@
systray-x-gnome (0.9.9-1) unstable; urgency=low
* Update to 0.9.9
- Qt 6 fixes
systray-x-gnome (0.9.8-1) unstable; urgency=low
* Update to 0.9.8
- Fixed / refactored multi window handling
- Added an option to add a shortcut key for show / hide
- Bugfixes
systray-x-gnome (0.9.7-0) unstable; urgency=low
* Update to 0.9.7
- Added option for new TB115 mail counting (slow with new mails enabled)
- Bugfixes
systray-x-gnome (0.9.6-0) unstable; urgency=low
* Update to 0.9.6
- Added option to show a new mail indicator or icon shading
- Added option to launch an app on start and close
- Refactored windows state handling
- Refactored mail counting
- Bugfixes
systray-x-gnome (0.9.5-0) unstable; urgency=low
* Update to 0.9.5
- Bugfixes
systray-x-gnome (0.9.4-0) unstable; urgency=low
* Update to 0.9.4
- Separate minimize, close and icon action
- Use new icon for new TB version
systray-x-gnome (0.9.3-0) unstable; urgency=low
* Update to 0.9.3
- New TB version
systray-x-gnome (0.9.2-0) unstable; urgency=low
* Update to 0.9.2
- Bug fixes
systray-x-gnome (0.9.1-0) unstable; urgency=low
* Update to 0.9.1
- Bug fixes
systray-x-gnome (0.9.0-0) unstable; urgency=low
* Update to 0.9.0
- Update for TB 102
- Bug fixes
systray-x-gnome (0.8.0-0) unstable; urgency=low
* Update to 0.8.0
- Refactor for TB 91
systray-x-gnome (0.5.0-0) unstable; urgency=low
* Update to 0.5.0
- Added translations logic
- Languages:
- de
- en_US
- nl
- pt_BR (by PutinVladimir)
- ru_RU (by fabianski7)
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Sat, 07 Nov 2020 23:37:00 +0100
systray-x-gnome (0.4.0-0) unstable; urgency=low
* Update to 0.4.0
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Sat, 10 Oct 2020 14:10:00 +0100
systray-x-gnome (0.0.1-0) unstable; urgency=low
* Initial Release
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Tue, 11 Feb 2020 19:05:19 +0100

1
dist/deb-qt6/gnome/debian.compat vendored Normal file
View File

@@ -0,0 +1 @@
10

22
dist/deb-qt6/gnome/debian.control vendored Normal file
View File

@@ -0,0 +1,22 @@
Source: systray-x-gnome
Section: misc
Priority: optional
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qmake6, qt6-base-dev, thunderbird
Package: systray-x-gnome
Architecture: any
Depends: ${shlibs:Depends}, gnome-shell-extension-appindicator, thunderbird (>= 1:91), thunderbird (< 1:121)
Description: SysTray-X is a system tray extension for Thunderbird (GNOME).
This version is optimized for the GNOME desktop.
The add-on uses the WebExtension API's to control an external system
dependent system tray application.
The add-on and system tray application can do:
* custom new mail icon
* display number of unread /new mails
* optional new mail indicator (icon or shading)
* run app on start or close
* show / hide Thunderbird (minimize)
* minimizing hides to tray
* minimize on startup
* minimize on close

86
dist/deb-qt6/gnome/debian.postinst vendored Normal file
View File

@@ -0,0 +1,86 @@
#!/bin/sh
# Source debconf library.
. /usr/share/debconf/confmodule
# Fetching configuration from debconf
#db_get packagename/question1
#ANSWER1=$RET
PROF_DIR=/etc/dconf/profile
PROF_FILE=user
if [ -f $PROF_DIR/$PROF_FILE ] ; then
#
# Edit user file
#
grep -q "user-db:user" $PROF_DIR/$PROF_FILE
if [ "$?" = "1" ] ; then
echo "user-db:user" >> $PROF_DIR/$PROF_FILE
fi
grep -q "system-db:local" $PROF_DIR/$PROF_FILE
if [ "$?" = "1" ] ; then
echo "system-db:local" >> $PROF_DIR/$PROF_FILE
fi
else
#
# Generate user file
#
mkdir -p $PROF_DIR
cat >$PROF_DIR/$PROF_FILE <<EOF
user-db:user
system-db:local
EOF
fi
DEB_VENDOR=$(cat /etc/dpkg/origins/default | grep Vendor: | sed -e "s/Vendor: //")
case $DEB_VENDOR in
Debian)
EXTENSION="ubuntu-appindicators@ubuntu.com"
;;
Ubuntu)
RELEASE=$(lsb_release -rs)
case $RELEASE in
16.04)
EXTENSION="appindicatorsupport@rgcjonas.gmail.com"
;;
*)
EXTENSION="ubuntu-appindicators@ubuntu.com"
;;
esac
;;
*)
EXTENSION="ubuntu-appindicators@ubuntu.com"
;;
esac
CONF_DIR=/etc/dconf/db/local.d
CONF_FILE=00-extensions
if [ -f $CONF_DIR/$CONF_FILE ] ; then
#
# Edit extensions file
#
grep -q $EXTENSION $CONF_DIR/$CONF_FILE
if [ "$?" = "1" ] ; then
sed -i -e "s/\(enabled-extensions=\[.*\)\]/\1, '${EXTENSION}'\]/" $CONF_DIR/$CONF_FILE
fi
else
#
# Generate extensions file
#
mkdir -p $CONF_DIR
echo "[org/gnome/shell]" > $CONF_DIR/$CONF_FILE
echo "# List all extensions that you want to have enabled for all users" >> $CONF_DIR/$CONF_FILE
echo "enabled-extensions=['${EXTENSION}']" >> $CONF_DIR/$CONF_FILE
fi
which dconf > /dev/null 2>&1
if [ "$?" = "0" ] ; then
dconf update
fi

117
dist/deb-qt6/gnome/debian.rules vendored Normal file
View File

@@ -0,0 +1,117 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
#export DH_COMPAT=4
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
DEB_VENDOR := $(shell dpkg-vendor --query vendor)
VERSION := $(shell cat dist/rpm/VERSION | grep VERSION | sed -e "s/VERSION=\(.*\)/\1/")
VERSION_MAJOR := $(shell echo $(VERSION) | cut -d'.' -f1)
VERSION_MINOR := $(shell echo $(VERSION) | cut -d'.' -f2)
VERSION_PATCH := $(shell echo $(VERSION) | cut -d'.' -f3)
BUILD_NUMBER := $(shell cat dist/rpm/VERSION | grep BUILD_NUMBER | sed -e "s/BUILD_NUMBER=\(.*\)/\1/")
GIT_HASH := $(shell cat dist/rpm/VERSION | grep GIT_HASH | sed -e "s/GIT_HASH=\(.*\)/\1/")
GIT_BRANCH := $(shell cat dist/rpm/VERSION | grep GIT_BRANCH | sed -e "s/GIT_BRANCH=\(.*\)/\1/")
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
sed < app/config/linux/SysTray_X.json.template -e 's|SYSTRAY_X_PATH|/usr/bin/SysTray-X|' > SysTray_X.json
QT_SELECT=5 make OPTIONS="DEFINES+=NO_KDE_INTEGRATION DEFINES+=NO_SHORTCUTS" EXT_VERSION="DEFINES+=EXT_VERSION DEFINES+=APP_VERSION_MAJOR=\\\\\\\\\\\\\\\"$(VERSION_MAJOR)\\\\\\\\\\\\\\\" DEFINES+=APP_VERSION_MINOR=\\\\\\\\\\\\\\\"$(VERSION_MINOR)\\\\\\\\\\\\\\\" DEFINES+=APP_VERSION_PATCH=\\\\\\\\\\\\\\\"$(VERSION_PATCH)\\\\\\\\\\\\\\\" DEFINES+=APP_BUILD=\\\\\\\\\\\\\\\"$(BUILD_NUMBER)\\\\\\\\\\\\\\\" DEFINES+=APP_GITHASH=\\\\\\\\\\\\\\\"$(GIT_HASH)\\\\\\\\\\\\\\\" DEFINES+=APP_GITBRANCH=\\\\\\\\\\\\\\\"$(GIT_BRANCH)\\\\\\\\\\\\\\\""
# --- end custom part for compiling
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
make clean || true
# --- end custom part for cleaning up
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package
# The DESTDIR Has To Be Exactly /usr/src/packages/BUILD/debian/<nameOfPackage>
mkdir -p /usr/src/packages/BUILD/debian/systray-x-gnome/usr/bin
cp -f SysTray-X /usr/src/packages/BUILD/debian/systray-x-gnome/usr/bin/SysTray-X
mkdir -p /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/mozilla/native-messaging-hosts
cp -f SysTray_X.json /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/mozilla/native-messaging-hosts/SysTray_X.json
ifeq (Debian,$(DEB_VENDOR))
mkdir -p /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/thunderbird-addons/extensions
cp -f systray-x@Ximi1970.xpi /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi
mkdir -p /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/thunderbird/extensions
cd /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/thunderbird/extensions ;\
ln -sf ../../thunderbird-addons/extensions/systray-x@Ximi1970.xpi systray-x@Ximi1970.xpi
else
mkdir -p /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/thunderbird-addons/extensions
cp -f systray-x@Ximi1970.xpi /usr/src/packages/BUILD/debian/systray-x-gnome/usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi
endif
# --- end custom part for installing
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
dh_installcron
dh_installman
dh_installinfo
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary installing

View File

@@ -0,0 +1,7 @@
Format: 1.0
Source: systray-x-gnome
Version: 0.9.9-1
Binary: systray-x-gnome
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Architecture: any
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qmake6, qt6-base-dev, thunderbird

100
dist/deb-qt6/kde/debian.changelog vendored Normal file
View File

@@ -0,0 +1,100 @@
systray-x (0.9.9-1) unstable; urgency=low
* Update to 0.9.9
- Qt 6 fixes
systray-x (0.9.8-1) unstable; urgency=low
* Update to 0.9.8
- Fixed / refactored multi window handling
- Added an option to add a shortcut key for show / hide
- Bugfixes
systray-x (0.9.7-0) unstable; urgency=low
* Update to 0.9.7
- Added option for new TB115 mail counting (slow with new mails enabled)
- Bugfixes
systray-x (0.9.6-0) unstable; urgency=low
* Update to 0.9.6
- Added option to show a new mail indicator or icon shading
- Added option to launch an app on start and close
- Refactored windows state handling
- Refactored mail counting
- Bugfixes
systray-x (0.9.5-0) unstable; urgency=low
* Update to 0.9.5
- Bugfixes
systray-x (0.9.4-0) unstable; urgency=low
* Update to 0.9.4
- Separate minimize, close and icon action
- Use new icon for new TB version
systray-x (0.9.3-0) unstable; urgency=low
* Update to 0.9.3
- New TB version
systray-x (0.9.2-0) unstable; urgency=low
* Update to 0.9.2
- Bug fixes
systray-x (0.9.1-0) unstable; urgency=low
* Update to 0.9.1
- Bug fixes
systray-x (0.9.0-0) unstable; urgency=low
* Update to 0.9.0
- Update for TB 102
- Bug fixes
systray-x (0.8.0-0) unstable; urgency=low
* Update to 0.8.0
- Refactor for TB 91
systray-x (0.5.0-0) unstable; urgency=low
* Update to 0.5.0
- Added translations logic
- Languages:
- de
- en_US
- nl
- pt_BR (by PutinVladimir)
- ru_RU (by fabianski7)
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Sat, 07 Nov 2020 23:37:00 +0100
systray-x (0.4.0-0) unstable; urgency=low
* Update to 0.4.0
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Sat, 10 Oct 2020 14:10:00 +0100
systray-x (0.0.1-0) unstable; urgency=low
* Initial Release
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Tue, 11 Feb 2020 19:05:19 +0100

1
dist/deb-qt6/kde/debian.compat vendored Normal file
View File

@@ -0,0 +1 @@
10

22
dist/deb-qt6/kde/debian.control vendored Normal file
View File

@@ -0,0 +1,22 @@
Source: systray-x
Section: misc
Priority: optional
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qmake6, qt6-base-dev, libkf6notifications-dev, thunderbird
Package: systray-x
Architecture: any
Depends: ${shlibs:Depends}, thunderbird (>= 1:91), thunderbird (< 1:121)
Description: SysTray-X is a system tray extension for Thunderbird (KDE).
This version is optimized for the KDE desktop.
The add-on uses the WebExtension API's to control an external system
dependent system tray application.
The add-on and system tray application can do:
* custom new mail icon
* display number of unread /new mails
* optional new mail indicator (icon or shading)
* run app on start or close
* show / hide Thunderbird (minimize)
* minimizing hides to tray
* minimize on startup
* minimize on close

117
dist/deb-qt6/kde/debian.rules vendored Normal file
View File

@@ -0,0 +1,117 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
#export DH_COMPAT=4
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
DEB_VENDOR := $(shell dpkg-vendor --query vendor)
VERSION := $(shell cat dist/rpm/VERSION | grep VERSION | sed -e "s/VERSION=\(.*\)/\1/")
VERSION_MAJOR := $(shell echo $(VERSION) | cut -d'.' -f1)
VERSION_MINOR := $(shell echo $(VERSION) | cut -d'.' -f2)
VERSION_PATCH := $(shell echo $(VERSION) | cut -d'.' -f3)
BUILD_NUMBER := $(shell cat dist/rpm/VERSION | grep BUILD_NUMBER | sed -e "s/BUILD_NUMBER=\(.*\)/\1/")
GIT_HASH := $(shell cat dist/rpm/VERSION | grep GIT_HASH | sed -e "s/GIT_HASH=\(.*\)/\1/")
GIT_BRANCH := $(shell cat dist/rpm/VERSION | grep GIT_BRANCH | sed -e "s/GIT_BRANCH=\(.*\)/\1/")
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
sed < app/config/linux/SysTray_X.json.template -e 's|SYSTRAY_X_PATH|/usr/bin/SysTray-X|' > SysTray_X.json
QT_SELECT=5 make EXT_VERSION="DEFINES+=EXT_VERSION DEFINES+=APP_VERSION_MAJOR=\\\\\\\\\\\\\\\"$(VERSION_MAJOR)\\\\\\\\\\\\\\\" DEFINES+=APP_VERSION_MINOR=\\\\\\\\\\\\\\\"$(VERSION_MINOR)\\\\\\\\\\\\\\\" DEFINES+=APP_VERSION_PATCH=\\\\\\\\\\\\\\\"$(VERSION_PATCH)\\\\\\\\\\\\\\\" DEFINES+=APP_BUILD=\\\\\\\\\\\\\\\"$(BUILD_NUMBER)\\\\\\\\\\\\\\\" DEFINES+=APP_GITHASH=\\\\\\\\\\\\\\\"$(GIT_HASH)\\\\\\\\\\\\\\\" DEFINES+=APP_GITBRANCH=\\\\\\\\\\\\\\\"$(GIT_BRANCH)\\\\\\\\\\\\\\\""
# --- end custom part for compiling
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
make clean || true
# --- end custom part for cleaning up
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package
# The DESTDIR Has To Be Exactly /usr/src/packages/BUILD/debian/<nameOfPackage>
mkdir -p /usr/src/packages/BUILD/debian/systray-x/usr/bin
cp -f SysTray-X /usr/src/packages/BUILD/debian/systray-x/usr/bin/SysTray-X
mkdir -p /usr/src/packages/BUILD/debian/systray-x/usr/lib/mozilla/native-messaging-hosts
cp -f SysTray_X.json /usr/src/packages/BUILD/debian/systray-x/usr/lib/mozilla/native-messaging-hosts/SysTray_X.json
ifeq (Debian,$(DEB_VENDOR))
mkdir -p /usr/src/packages/BUILD/debian/systray-x/usr/lib/thunderbird-addons/extensions
cp -f systray-x@Ximi1970.xpi /usr/src/packages/BUILD/debian/systray-x/usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi
mkdir -p /usr/src/packages/BUILD/debian/systray-x/usr/lib/thunderbird/extensions
cd /usr/src/packages/BUILD/debian/systray-x/usr/lib/thunderbird/extensions ;\
ln -sf ../../thunderbird-addons/extensions/systray-x@Ximi1970.xpi systray-x@Ximi1970.xpi
else
mkdir -p /usr/src/packages/BUILD/debian/systray-x/usr/lib/thunderbird-addons/extensions
cp -f systray-x@Ximi1970.xpi /usr/src/packages/BUILD/debian/systray-x/usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi
endif
# --- end custom part for installing
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
dh_installcron
dh_installman
dh_installinfo
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary installing

7
dist/deb-qt6/kde/systray-x.dsc vendored Normal file
View File

@@ -0,0 +1,7 @@
Format: 1.0
Source: systray-x
Version: 0.9.9-1
Binary: SysTray-X
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Architecture: any
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qmake6, qt6-base-dev, libkf6notifications-dev, thunderbird

100
dist/deb-qt6/minimal/debian.changelog vendored Normal file
View File

@@ -0,0 +1,100 @@
systray-x-minimal (0.9.9-1) unstable; urgency=low
* Update to 0.9.9
- Qt 6 fixes
systray-x-minimal (0.9.8-1) unstable; urgency=low
* Update to 0.9.8
- Fixed / refactored multi window handling
- Added an option to add a shortcut key for show / hide
- Bugfixes
systray-x-minimal (0.9.7-0) unstable; urgency=low
* Update to 0.9.7
- Added option for new TB115 mail counting (slow with new mails enabled)
- Bugfixes
systray-x-minimal (0.9.6-0) unstable; urgency=low
* Update to 0.9.6
- Added option to show a new mail indicator or icon shading
- Added option to launch an app on start and close
- Refactored windows state handling
- Refactored mail counting
- Bugfixes
systray-x-minimal (0.9.5-0) unstable; urgency=low
* Update to 0.9.5
- Bugfixes
systray-x-minimal (0.9.4-0) unstable; urgency=low
* Update to 0.9.4
- Separate minimize, close and icon action
- Use new icon for new TB version
systray-x-minimal (0.9.3-0) unstable; urgency=low
* Update to 0.9.3
- New TB version
systray-x-minimal (0.9.2-0) unstable; urgency=low
* Update to 0.9.2
- Bug fixes
systray-x-minimal (0.9.1-0) unstable; urgency=low
* Update to 0.9.1
- Bug fixes
systray-x-minimal (0.9.0-0) unstable; urgency=low
* Update to 0.9.0
- Update for TB 102
- Bug fixes
systray-x-minimal (0.8.0-0) unstable; urgency=low
* Update to 0.8.0
- Refactor for TB 91
systray-x-minimal (0.5.0-0) unstable; urgency=low
* Update to 0.5.0
- Added translations logic
- Languages:
- de
- en_US
- nl
- pt_BR (by PutinVladimir)
- ru_RU (by fabianski7)
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Sat, 07 Nov 2020 23:37:00 +0100
systray-x-minimal (0.4.0-0) unstable; urgency=low
* Update to 0.4.0
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Sat, 10 Oct 2020 14:10:00 +0100
systray-x-minimal (0.0.1-0) unstable; urgency=low
* Initial Release
-- Maxime Rijnders Maxime Rijnders <ximi.obs@gmail.com> Tue, 11 Feb 2020 19:05:19 +0100

1
dist/deb-qt6/minimal/debian.compat vendored Normal file
View File

@@ -0,0 +1 @@
10

22
dist/deb-qt6/minimal/debian.control vendored Normal file
View File

@@ -0,0 +1,22 @@
Source: systray-x-minimal
Section: misc
Priority: optional
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qmake6, qt6-base-dev, thunderbird
Package: systray-x-minimal
Architecture: any
Depends: ${shlibs:Depends}, thunderbird (>= 1:91), thunderbird (< 1:121)
Description: SysTray-X is a system tray extension for Thunderbird (non-GNOME,non-KDE).
This version is for non-KDE and non-GNOME desktops.
The add-on uses the WebExtension API's to control an external system
dependent system tray application.
The add-on and system tray application can do:
* custom new mail icon
* display number of unread /new mails
* optional new mail indicator (icon or shading)
* run app on start or close
* show / hide Thunderbird (minimize)
* minimizing hides to tray
* minimize on startup
* minimize on close

117
dist/deb-qt6/minimal/debian.rules vendored Normal file
View File

@@ -0,0 +1,117 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
#export DH_COMPAT=4
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
DEB_VENDOR := $(shell dpkg-vendor --query vendor)
VERSION := $(shell cat dist/rpm/VERSION | grep VERSION | sed -e "s/VERSION=\(.*\)/\1/")
VERSION_MAJOR := $(shell echo $(VERSION) | cut -d'.' -f1)
VERSION_MINOR := $(shell echo $(VERSION) | cut -d'.' -f2)
VERSION_PATCH := $(shell echo $(VERSION) | cut -d'.' -f3)
BUILD_NUMBER := $(shell cat dist/rpm/VERSION | grep BUILD_NUMBER | sed -e "s/BUILD_NUMBER=\(.*\)/\1/")
GIT_HASH := $(shell cat dist/rpm/VERSION | grep GIT_HASH | sed -e "s/GIT_HASH=\(.*\)/\1/")
GIT_BRANCH := $(shell cat dist/rpm/VERSION | grep GIT_BRANCH | sed -e "s/GIT_BRANCH=\(.*\)/\1/")
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
sed < app/config/linux/SysTray_X.json.template -e 's|SYSTRAY_X_PATH|/usr/bin/SysTray-X|' > SysTray_X.json
QT_SELECT=5 make OPTIONS="DEFINES+=NO_KDE_INTEGRATION" EXT_VERSION="DEFINES+=EXT_VERSION DEFINES+=APP_VERSION_MAJOR=\\\\\\\\\\\\\\\"$(VERSION_MAJOR)\\\\\\\\\\\\\\\" DEFINES+=APP_VERSION_MINOR=\\\\\\\\\\\\\\\"$(VERSION_MINOR)\\\\\\\\\\\\\\\" DEFINES+=APP_VERSION_PATCH=\\\\\\\\\\\\\\\"$(VERSION_PATCH)\\\\\\\\\\\\\\\" DEFINES+=APP_BUILD=\\\\\\\\\\\\\\\"$(BUILD_NUMBER)\\\\\\\\\\\\\\\" DEFINES+=APP_GITHASH=\\\\\\\\\\\\\\\"$(GIT_HASH)\\\\\\\\\\\\\\\" DEFINES+=APP_GITBRANCH=\\\\\\\\\\\\\\\"$(GIT_BRANCH)\\\\\\\\\\\\\\\""
# --- end custom part for compiling
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
make clean || true
# --- end custom part for cleaning up
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package
# The DESTDIR Has To Be Exactly /usr/src/packages/BUILD/debian/<nameOfPackage>
mkdir -p /usr/src/packages/BUILD/debian/systray-x-minimal/usr/bin
cp -f SysTray-X /usr/src/packages/BUILD/debian/systray-x-minimal/usr/bin/SysTray-X
mkdir -p /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/mozilla/native-messaging-hosts
cp -f SysTray_X.json /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/mozilla/native-messaging-hosts/SysTray_X.json
ifeq (Debian,$(DEB_VENDOR))
mkdir -p /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/thunderbird-addons/extensions
cp -f systray-x@Ximi1970.xpi /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi
mkdir -p /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/thunderbird/extensions
cd /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/thunderbird/extensions ;\
ln -sf ../../thunderbird-addons/extensions/systray-x@Ximi1970.xpi systray-x@Ximi1970.xpi
else
mkdir -p /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/thunderbird-addons/extensions
cp -f systray-x@Ximi1970.xpi /usr/src/packages/BUILD/debian/systray-x-minimal/usr/lib/thunderbird-addons/extensions/systray-x@Ximi1970.xpi
endif
# --- end custom part for installing
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
dh_installcron
dh_installman
dh_installinfo
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary installing

View File

@@ -0,0 +1,7 @@
Format: 1.0
Source: systray-x-minimal
Version: 0.9.9-1
Binary: systray-x-minimal
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Architecture: any
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qmake6, qt6-base-dev, thunderbird

View File

@@ -1,4 +1,13 @@
systray-x-gnome (0.9.8-0) unstable; urgency=low
systray-x-gnome (0.9.9-1) unstable; urgency=low
* Update to 0.9.9
- Qt 6 fixes
- TB 121+ fixes
- Added window positions correction option
- Bugfixes
systray-x-gnome (0.9.8-1) unstable; urgency=low
* Update to 0.9.8

View File

@@ -2,11 +2,11 @@ Source: systray-x-gnome
Section: misc
Priority: optional
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qdbus-qt5, libqt5x11extras5-dev, thunderbird
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qtwayland5, qdbus-qt5, libqt5x11extras5-dev, thunderbird
Package: systray-x-gnome
Architecture: any
Depends: ${shlibs:Depends}, gnome-shell-extension-appindicator, thunderbird (>= 1:91), thunderbird (< 1:121)
Depends: ${shlibs:Depends}, gnome-shell-extension-appindicator, thunderbird (>= 1:91), thunderbird (< 1:129)
Description: SysTray-X is a system tray extension for Thunderbird (GNOME).
This version is optimized for the GNOME desktop.
The add-on uses the WebExtension API's to control an external system

View File

@@ -1,7 +1,7 @@
Format: 1.0
Source: systray-x-gnome
Version: 0-0
Version: 0.9.9-3
Binary: systray-x-gnome
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Architecture: any
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qdbus-qt5, libqt5x11extras5-dev, thunderbird
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qtwayland5, qdbus-qt5, libqt5x11extras5-dev, thunderbird

View File

@@ -1,4 +1,13 @@
systray-x (0.9.8-0) unstable; urgency=low
systray-x (0.9.9-1) unstable; urgency=low
* Update to 0.9.9
- Qt 6 fixes
- TB 121+ fixes
- Added window positions correction option
- Bugfixes
systray-x (0.9.8-1) unstable; urgency=low
* Update to 0.9.8

View File

@@ -2,11 +2,11 @@ Source: systray-x
Section: misc
Priority: optional
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qdbus-qt5, libqt5x11extras5-dev, libkf5notifications-dev, thunderbird
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qtwayland5, qdbus-qt5, libqt5x11extras5-dev, libkf5notifications-dev, thunderbird
Package: systray-x
Architecture: any
Depends: ${shlibs:Depends}, thunderbird (>= 1:91), thunderbird (< 1:121)
Depends: ${shlibs:Depends}, thunderbird (>= 1:91), thunderbird (< 1:129)
Description: SysTray-X is a system tray extension for Thunderbird (KDE).
This version is optimized for the KDE desktop.
The add-on uses the WebExtension API's to control an external system

View File

@@ -1,7 +1,7 @@
Format: 1.0
Source: systray-x
Version: 0-0
Version: 0.9.9-3
Binary: SysTray-X
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Architecture: any
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qdbus-qt5, libqt5x11extras5-dev, libkf5notifications-dev, thunderbird
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qtwayland5, qdbus-qt5, libqt5x11extras5-dev, libkf5notifications-dev, thunderbird

View File

@@ -1,4 +1,13 @@
systray-x-minimal (0.9.8-0) unstable; urgency=low
systray-x-minimal (0.9.9-1) unstable; urgency=low
* Update to 0.9.9
- Qt 6 fixes
- TB 121+ fixes
- Added window positions correction option
- Bugfixes
systray-x-minimal (0.9.8-1) unstable; urgency=low
* Update to 0.9.8

View File

@@ -2,11 +2,11 @@ Source: systray-x-minimal
Section: misc
Priority: optional
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qdbus-qt5, libqt5x11extras5-dev, thunderbird
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qtwayland5, qdbus-qt5, libqt5x11extras5-dev, thunderbird
Package: systray-x-minimal
Architecture: any
Depends: ${shlibs:Depends}, thunderbird (>= 1:91), thunderbird (< 1:121)
Depends: ${shlibs:Depends}, thunderbird (>= 1:91), thunderbird (< 1:129)
Description: SysTray-X is a system tray extension for Thunderbird (non-GNOME,non-KDE).
This version is for non-KDE and non-GNOME desktops.
The add-on uses the WebExtension API's to control an external system

View File

@@ -1,7 +1,7 @@
Format: 1.0
Source: systray-x-minimal
Version: 0-0
Version: 0.9.9-3
Binary: systray-x-minimal
Maintainer: Maxime Rijnders <ximi.obs@gmail.com>
Architecture: any
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qdbus-qt5, libqt5x11extras5-dev, thunderbird
Build-Depends: debhelper (>= 4.1.16), zip, g++, libx11-dev, qt5-qmake, qtbase5-dev, qtwayland5, qdbus-qt5, libqt5x11extras5-dev, thunderbird

6
dist/rpm/VERSION vendored
View File

@@ -1,4 +1,4 @@
VERSION=0.9.8
BUILD_NUMBER=1064
GIT_HASH=ac868b317d5348124db1a506b0a32a1c30ba7ea6
VERSION=0.9.9
BUILD_NUMBER=1144
GIT_HASH=4cc230a117e13f3bca1d63bfa1f9de857ffa99aa
GIT_BRANCH=develop

View File

@@ -2,8 +2,8 @@
<service name="obs_scm">
<param name="url">https://github.com/Ximi1970/systray-x.git</param>
<param name="scm">git</param>
<param name="revision">0.9.8</param>
<param name="versionformat">0.9.8</param>
<param name="revision">release-0.9.9</param>
<param name="versionformat">0.9.9</param>
<param name="filename">systray-x-gnome</param>
<param name="extract">dist/rpm/gnome/systray-x-gnome.changes</param>
<param name="extract">dist/rpm/gnome/systray-x-gnome.spec</param>
@@ -22,5 +22,7 @@
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="buildtime" name="set_version" />
<service mode="buildtime" name="set_version">
<param name="file">systray-x-gnome.spec</param>
</service>
</services>

View File

@@ -1,3 +1,13 @@
-------------------------------------------------------------------
Tue Apr 27 16:00:00 UTC 2024 - Maxime Rijnders <ximi.obs@gmail.com>
* Update to 0.9.9
- Qt 6 fixes
- TB 121+ fixes
- Added window positions correction option
- Bugfixes
-------------------------------------------------------------------
Sun Dec 10 13:24:00 UTC 2023 - Maxime Rijnders <ximi.obs@gmail.com>

View File

@@ -26,21 +26,42 @@ Source0: %{name}-%{version}.tar.xz
Source1: VERSION
BuildRequires: unzip
BuildRequires: zip
%if 0%{?suse_version} > 1600 || 0%{?fedora_version} > 39
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Widgets)
%else
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(x11)
Requires: gnome-shell-extension-appindicator
%if 0%{?fedora_version} || 0%{?centos_version}
%if 0%{?fedora_version}
BuildRequires: qt5-qtx11extras-devel
Requires: thunderbird >= 91
Requires: thunderbird < 121
%else
BuildRequires: libqt5-qtx11extras-devel
Requires: MozillaThunderbird >= 91
Requires: MozillaThunderbird < 121
%endif
%endif
BuildRequires: pkgconfig(x11)
%if 0%{?fedora_version}
Requires: thunderbird >= 91
Requires: thunderbird < 129
%else
Requires: MozillaThunderbird >= 91
Requires: MozillaThunderbird < 129
%endif
%if 0%{?suse_version} > 1600 || 0%{?fedora_version} > 39
%if 0%{?fedora_version}
Requires: qt6-qtwayland
%else
Requires: qt6-wayland
%endif
%else
%if 0%{?fedora_version}
Requires: qt5-qtwayland
%else
Requires: libqt5-qtwayland
%endif
%endif
Requires: gnome-shell-extension-appindicator
%description
SysTray-X is a system tray extension for Thunderbird.

View File

@@ -2,8 +2,8 @@
<service name="obs_scm">
<param name="url">https://github.com/Ximi1970/systray-x.git</param>
<param name="scm">git</param>
<param name="revision">0.9.8</param>
<param name="versionformat">0.9.8</param>
<param name="revision">release-0.9.9</param>
<param name="versionformat">0.9.9</param>
<param name="extract">dist/rpm/kde/systray-x.changes</param>
<param name="extract">dist/rpm/kde/systray-x.spec</param>
<param name="extract">dist/rpm/VERSION</param>
@@ -19,5 +19,7 @@
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="buildtime" name="set_version" />
<service mode="buildtime" name="set_version">
<param name="file">systray-x.spec</param>
</service>
</services>

View File

@@ -1,3 +1,13 @@
-------------------------------------------------------------------
Tue Apr 27 16:00:00 UTC 2024 - Maxime Rijnders <ximi.obs@gmail.com>
* Update to 0.9.9
- Qt 6 fixes
- TB 121+ fixes
- Added window positions correction option
- Bugfixes
-------------------------------------------------------------------
Sun Dec 10 13:24:00 UTC 2023 - Maxime Rijnders <ximi.obs@gmail.com>

View File

@@ -26,23 +26,51 @@ Source0: %{name}-%{version}.tar.xz
Source1: VERSION
BuildRequires: unzip
BuildRequires: zip
%if 0%{?suse_version} > 1600 || 0%{?fedora_version} > 39
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: kf6-kstatusnotifieritem-devel
%if 0%{?fedora_version}
Requires: kf6-knotifications
%else
Requires: kf6-knotifications
Requires: libKF6Notifications6
%endif
%else
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(x11)
%if 0%{?fedora_version} || 0%{?centos_version}
%if 0%{?fedora_version}
BuildRequires: qt5-qtx11extras-devel
BuildRequires: kf5-knotifications-devel
Requires: kf5-knotifications
Requires: thunderbird >= 91
Requires: thunderbird < 121
%else
BuildRequires: libqt5-qtx11extras-devel
BuildRequires: knotifications-devel
Requires: libKF5Notifications5
%endif
%endif
BuildRequires: pkgconfig(x11)
%if 0%{?fedora_version}
Requires: thunderbird >= 91
Requires: thunderbird < 129
%else
Requires: MozillaThunderbird >= 91
Requires: MozillaThunderbird < 121
Requires: MozillaThunderbird < 129
%endif
%if 0%{?suse_version} > 1600 || 0%{?fedora_version} > 39
%if 0%{?fedora_version}
Requires: qt6-qtwayland
%else
Requires: qt6-wayland
%endif
%else
%if 0%{?fedora_version}
Requires: qt5-qtwayland
%else
Requires: libqt5-qtwayland
%endif
%endif
%description

View File

@@ -2,8 +2,8 @@
<service name="obs_scm">
<param name="url">https://github.com/Ximi1970/systray-x.git</param>
<param name="scm">git</param>
<param name="revision">0.9.8</param>
<param name="versionformat">0.9.8</param>
<param name="revision">release-0.9.9</param>
<param name="versionformat">0.9.9</param>
<param name="filename">systray-x-minimal</param>
<param name="extract">dist/rpm/minimal/systray-x-minimal.changes</param>
<param name="extract">dist/rpm/minimal/systray-x-minimal.spec</param>
@@ -12,7 +12,6 @@
<param name="extract">dist/deb/minimal/debian.compat</param>
<param name="extract">dist/deb/minimal/debian.control</param>
<param name="extract">dist/deb/minimal/debian.rules</param>
<param name="extract">dist/deb/minimal/debian.postinst</param>
<param name="extract">dist/deb/minimal/systray-x-minimal.dsc</param>
<param name="extract">dist/arch/minimal/PKGBUILD</param>
</service>
@@ -21,5 +20,7 @@
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="buildtime" name="set_version" />
<service mode="buildtime" name="set_version">
<param name="file">systray-x-minimal.spec</param>
</service>
</services>

View File

@@ -1,3 +1,13 @@
-------------------------------------------------------------------
Tue Apr 27 16:00:00 UTC 2024 - Maxime Rijnders <ximi.obs@gmail.com>
* Update to 0.9.9
- Qt 6 fixes
- TB 121+ fixes
- Added window positions correction option
- Bugfixes
-------------------------------------------------------------------
Sun Dec 10 13:24:00 UTC 2023 - Maxime Rijnders <ximi.obs@gmail.com>

View File

@@ -26,19 +26,40 @@ Source0: %{name}-%{version}.tar.xz
Source1: VERSION
BuildRequires: unzip
BuildRequires: zip
%if 0%{?suse_version} > 1600 || 0%{?fedora_version} > 39
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Widgets)
%else
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(x11)
%if 0%{?fedora_version} || 0%{?centos_version}
BuildRequires: qt5-qtx11extras-devel
Requires: thunderbird >= 91
Requires: thunderbird < 121
%else
BuildRequires: libqt5-qtx11extras-devel
%endif
%endif
BuildRequires: pkgconfig(x11)
%if 0%{?fedora_version} || 0%{?centos_version}
Requires: thunderbird >= 91
Requires: thunderbird < 129
%else
Requires: MozillaThunderbird >= 91
Requires: MozillaThunderbird < 121
Requires: MozillaThunderbird < 129
%endif
%if 0%{?suse_version} > 1600 || 0%{?fedora_version} > 39
%if 0%{?fedora_version}
Requires: qt6-qtwayland
%else
Requires: qt6-wayland
%endif
%else
%if 0%{?fedora_version}
Requires: qt5-qtwayland
%else
Requires: libqt5-qtwayland
%endif
%endif
%description

View File

@@ -1,24 +1,62 @@
#!/bin/bash
if [[ -z $2 ]] ; then
RELEASE=1
else
RELEASE=$2
fi
VERSION=$1
echo $VERSION-$RELEASE
VERSION_AR=(${VERSION//./ })
VERSION_MAJOR=${VERSION_AR[0]}
VERSION_MINOR=${VERSION_AR[1]}
VERSION_BUILD=${VERSION_AR[2]}
SERVICE_FILE="./dist/rpm/kde/_service"
sed -i -e "s?\(^.*\"revision\">\).*\(</param>\)?\1$VERSION\2?" $SERVICE_FILE
sed -i -e "s?\(^.*\"revision\">\).*\(</param>\)?\1release-$VERSION\2?" $SERVICE_FILE
sed -i -e "s?\(^.*\"versionformat\">\).*\(</param>\)?\1$VERSION\2?" $SERVICE_FILE
SERVICE_FILE="./dist/rpm/gnome/_service"
sed -i -e "s?\(^.*\"revision\">\).*\(</param>\)?\1$VERSION\2?" $SERVICE_FILE
sed -i -e "s?\(^.*\"revision\">\).*\(</param>\)?\1release-$VERSION\2?" $SERVICE_FILE
sed -i -e "s?\(^.*\"versionformat\">\).*\(</param>\)?\1$VERSION\2?" $SERVICE_FILE
SERVICE_FILE="./dist/rpm/minimal/_service"
sed -i -e "s?\(^.*\"revision\">\).*\(</param>\)?\1$VERSION\2?" $SERVICE_FILE
sed -i -e "s?\(^.*\"revision\">\).*\(</param>\)?\1release-$VERSION\2?" $SERVICE_FILE
sed -i -e "s?\(^.*\"versionformat\">\).*\(</param>\)?\1$VERSION\2?" $SERVICE_FILE
SERVICE_FILE="./dist/deb/kde/debian.changelog"
sed -i -e "0,/systray-x/{s?\(^systray-x \).*\( unstable.*\)?\1($VERSION-$RELEASE)\2?}" $SERVICE_FILE
SERVICE_FILE="./dist/deb/kde/systray-x.dsc"
sed -i -e "s?\(^Version: \).*?\1$VERSION-$RELEASE?" $SERVICE_FILE
SERVICE_FILE="./dist/deb/gnome/debian.changelog"
sed -i -e "0,/systray-x/{s?\(^systray-x-gnome \).*\( unstable.*\)?\1($VERSION-$RELEASE)\2?}" $SERVICE_FILE
SERVICE_FILE="./dist/deb/gnome/systray-x-gnome.dsc"
sed -i -e "s?\(^Version: \).*?\1$VERSION-$RELEASE?" $SERVICE_FILE
SERVICE_FILE="./dist/deb/minimal/debian.changelog"
sed -i -e "0,/systray-x/{s?\(^systray-x-minimal \).*\( unstable.*\)?\1($VERSION-$RELEASE)\2?}" $SERVICE_FILE
SERVICE_FILE="./dist/deb/minimal/systray-x-minimal.dsc"
sed -i -e "s?\(^Version: \).*?\1$VERSION-$RELEASE?" $SERVICE_FILE
SERVICE_FILE="./dist/arch/kde/PKGBUILD"
sed -i -e "s?\(^pkgver=\).*?\1$VERSION?" $SERVICE_FILE
sed -i -e "s?\(^pkgrel=\).*?\1$RELEASE?" $SERVICE_FILE
SERVICE_FILE="./dist/arch/gnome/PKGBUILD"
sed -i -e "s?\(^pkgver=\).*?\1$VERSION?" $SERVICE_FILE
sed -i -e "s?\(^pkgrel=\).*?\1$RELEASE?" $SERVICE_FILE
SERVICE_FILE="./dist/arch/minimal/PKGBUILD"
sed -i -e "s?\(^pkgver=\).*?\1$VERSION?" $SERVICE_FILE
sed -i -e "s?\(^pkgrel=\).*?\1$RELEASE?" $SERVICE_FILE
MANIFEST_FILE="./webext/manifest.json"
sed -i -e "s?\(^.*\"version\": \"\).*\(\",\)?\1$VERSION\2?" $MANIFEST_FILE

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Position",
"description": "Position"
},
"windows_positions_correction": {
"message": "Corriegere fensterpositionen",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "Keine Korrektur mit Titelleiste",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "Größe der Titelleiste hinzufügen",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Größe der Titelleiste hinzufügen subtrahieren",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Fensterpositionen wiederherstellen beim Start",
"description": "Restore the window positions on startup"

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Τοποθεσία",
"description": "Position"
},
"windows_positions_correction": {
"message": "Προσαρμόστε τις θέσεις των παραθύρων",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "Καμία διόρθωση γραμμής τίτλου",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "Προσθήκη μεγέθους γραμμής τίτλου",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Αφαιρέστε το μέγεθος της γραμμής τίτλου",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Επαναφορά θέσεων παραθύρου κατά την εκκίνηση",
"description": "Restore the window positions on startup"

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Position",
"description": "Position"
},
"windows_positions_correction": {
"message": "Correct window positions",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "No titlebar correction",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "Add titlebar size",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Subtract titlebar size",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Restore window positions on startup",
"description": "Restore the window positions on startup"

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Posizione",
"description": "Position"
},
"windows_positions_correction": {
"message": "Posizioni corrette delle finestre",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "Nessuna correzione della barra del titolo",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "Aggiungi la dimensione della barra del titolo",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Sottrai la dimensione della barra del titolo",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Ripristina le posizioni della finestra all'avvio",
"description": "Restore the window positions on startup"

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Positie",
"description": "Position"
},
"windows_positions_correction": {
"message": "Corrigeer vensterposities",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "Geen titelbalk correctie",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "Titlebalk grootte toevoegen",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Titlebalk grootte aftrekken",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Herstel vensterposities bij opstarten",
"description": "Restore the window positions on startup"

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Posição",
"description": "Position"
},
"windows_positions_correction": {
"message": "Posições corretas da janela",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "Nenhuma correção na barra de título",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "Adicionar tamanho da barra de título",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Subtraia o tamanho da barra de título",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Restaurar posições da janela na inicialização",
"description": "Restore the window positions on startup"

View File

@@ -154,6 +154,31 @@
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "Позиция",
"description": "Position"
},
"windows_positions_correction": {
"message": "Правильное расположение окон",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "No titlebar correction",
"description": "Без исправления названия"
},
"windows_add_titlebar_size": {
"message": "Добавить размер заголовка",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "Вычтите размер строки заголовка",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "Восстановить положение окон при запуске",
"description": "Restore the window positions on startup"

View File

@@ -0,0 +1,581 @@
{
"extension_name": {
"message": "SysTray-X",
"description": "Name of the webextension"
},
"extension_description": {
"message": "系统托盘控制插件,请下载安装配套应用。",
"description": "Webextension descriptions"
},
"preferences": {
"message": "SysTray-X 首选项",
"description": "Title of preferences page"
},
"intro_line_1": {
"message": "该插件需要和外部应用配合工作,请在这里获取:",
"description": "Introduction line 1"
},
"intro_link": {
"message": "下载 SysTray-X 配套应用",
"description": "Link description"
},
"tab_windows": {
"message": "窗口",
"description": "Tab for Window options"
},
"tab_icon": {
"message": "图标",
"description": "Tab for Icon options"
},
"tab_count": {
"message": "计数",
"description": "Tab for Count options"
},
"tab_apps": {
"message": "应用",
"description": "Tab for Apps options"
},
"tab_mail": {
"message": "邮件",
"description": "Tab for Mail options"
},
"tab_shortcuts": {
"message": "快捷键",
"description": "Tab for Shortcuts options"
},
"tab_debug": {
"message": "调试",
"description": "Tab for Debug options"
},
"windows": {
"message": "窗口",
"description": "Title for Windows options"
},
"windows_min_options": {
"message": "最小化按钮",
"description": "Caption for Minimize options"
},
"windows_min_default": {
"message": "最小化",
"description": "Minimize option 0"
},
"windows_min_to_tray": {
"message": "收回托盘",
"description": "Minimize to tray"
},
"windows_min_icon_options": {
"message": "托盘图标",
"description": "Caption for Icon options"
},
"windows_min_default_icon": {
"message": "最小化",
"description": "Minimize option 0"
},
"windows_min_to_tray_icon": {
"message": "收回托盘",
"description": "Minimize to tray"
},
"windows_min_to_tray_1": {
"message": "收回托盘,方法 1",
"description": "Minimize option 1"
},
"windows_min_to_tray_2": {
"message": "收回托盘,方法 2",
"description": "Minimize option 2"
},
"windows_close_options": {
"message": "关闭按钮",
"description": "Caption for Close options"
},
"windows_close_default": {
"message": "普通关闭",
"description": "Close option 0"
},
"windows_close_1": {
"message": "主窗口最小化,子窗口关闭",
"description": "Close option 1"
},
"windows_close_2": {
"message": "所有窗口最小化",
"description": "Close option 2"
},
"windows_close_tray_1": {
"message": "主窗口收回托盘,子窗口关闭",
"description": "Close option 3"
},
"windows_close_tray_2": {
"message": "所有窗口收回托盘",
"description": "Close option 4"
},
"windows_startup_options": {
"message": "启动方式",
"description": "Startup"
},
"windows_default_startup": {
"message": "普通启动",
"description": "Default startup"
},
"windows_minimized_startup": {
"message": "最小化启动",
"description": "Start application minimized"
},
"windows_docked_startup": {
"message": "启动至托盘",
"description": "Start application in tray"
},
"windows_positions_correction_options": {
"message": "位置",
"description": "Position"
},
"windows_positions_correction": {
"message": "正确的窗口位置",
"description": "Correct window positions"
},
"windows_no_correction": {
"message": "没有标题栏修正",
"description": "No titlebar correction"
},
"windows_add_titlebar_size": {
"message": "添加标题栏大小",
"description": "Add titlebar size"
},
"windows_subtract_titlebar_size": {
"message": "减去标题栏大小",
"description": "Subtract titlebar size"
},
"restore_positions_on_startup": {
"message": "启动时恢复窗口位置",
"description": "Restore the window positions on startup"
},
"icons": {
"message": "图标",
"description": "Title for Icons options"
},
"icons_default_options": {
"message": "默认",
"description": "Caption for Default Icon options"
},
"icons_default_tb": {
"message": "Thunderbird 默认",
"description": "Default icon option 1"
},
"icons_default_lookthrough": {
"message": "透明",
"description": "Default icon option 2"
},
"icons_default_custom": {
"message": "自定义",
"description": "Default icon option 3"
},
"icons_default_custom_choose": {
"message": "选择图标...",
"description": "Default icon option 3 button"
},
"icons_default_kde_integration": {
"message": "KDE 集成(隐藏)",
"description": "Default icon KDE integration"
},
"icons_unread_options": {
"message": "有未读邮件时",
"description": "Caption for Unread Icon options"
},
"icons_unread_blank": {
"message": "空白",
"description": "Unread Icon option 1"
},
"icons_unread_new": {
"message": "新邮件",
"description": "Unread Icon option 2"
},
"icons_unread_custom": {
"message": "自定义",
"description": "Unread Icon option 3"
},
"icons_unread_custom_choose": {
"message": "选择图标...",
"description": "Unread Icon option 3 button"
},
"icons_unread_no": {
"message": "无",
"description": "Unread Icon option 4"
},
"icons_invert_icon": {
"message": "反色",
"description": "Invert icon"
},
"count": {
"message": "计数",
"description": "Title for Count options"
},
"count_number_display": {
"message": "显示消息计数",
"description": "Show message count"
},
"count_new_indicator_display": {
"message": "显示新消息提示",
"description": "Show the new message indicator"
},
"count_startup_delay": {
"message": "启动延迟秒数",
"description": "Startup delay"
},
"count_number_count_type": {
"message": "计数类型",
"description": "Count type options"
},
"count_number_count_unread": {
"message": "未读消息",
"description": "Count unread mails"
},
"count_number_count_new": {
"message": "新消息",
"description": "Count new mails"
},
"count_api_count_method": {
"message": "由 API 提供计数方法",
"description": "API count method"
},
"count_number_options": {
"message": "数字",
"description": "Caption for Number options"
},
"count_number_color": {
"message": "颜色:",
"description": "Color of the number"
},
"count_number_size": {
"message": "字号:",
"description": "Size of the number"
},
"count_number_alignment": {
"message": "位置:",
"description": "Number alignment"
},
"count_number_top_left": {
"message": "左上",
"description": "Number alignment top left"
},
"count_number_top_center": {
"message": "中上",
"description": "Number alignment top center"
},
"count_number_top_right": {
"message": "右上",
"description": "Number alignment top right"
},
"count_number_middle_left": {
"message": "左中",
"description": "Number alignment middle left"
},
"count_number_middle_center": {
"message": "正中",
"description": "Number alignment middle center"
},
"count_number_middle_right": {
"message": "右中",
"description": "Number alignment middle right"
},
"count_number_bottom_left": {
"message": "左下",
"description": "Number alignment bottom left"
},
"count_number_bottom_center": {
"message": "中下",
"description": "Number alignment bottom center"
},
"count_number_bottom_right": {
"message": "右下",
"description": "Number alignment bottom right"
},
"count_number_margins": {
"message": "边距(左,上,中,下)",
"description": "Number margins (left, top, right, bottom)"
},
"count_new_indicator": {
"message": "新消息提示",
"description": "New indicator type"
},
"count_new_indicator_round": {
"message": "圆点",
"description": "Round indicator"
},
"count_new_indicator_star": {
"message": "星形",
"description": "Star indicator"
},
"count_new_shade_color": {
"message": "背景色:",
"description": "Shade the icon"
},
"apps": {
"message": "应用",
"description": "Title for Apps options"
},
"apps_start_application": {
"message": "启动应用时",
"description": "The start application parameters"
},
"apps_start_app": {
"message": "应用:",
"description": "The start application"
},
"apps_start_app_args": {
"message": "参数:",
"description": "Arguments for a start application"
},
"apps_close_application": {
"message": "关闭应用时",
"description": "The close application parameters"
},
"apps_close_app": {
"message": "应用:",
"description": "The close application"
},
"apps_close_app_args": {
"message": "参数:",
"description": "Arguments for a close application"
},
"accounts": {
"message": "账户",
"description": "Title for Accounts options"
},
"shortcuts": {
"message": "快捷键",
"description": "Title for Shortcuts options"
},
"shortcuts_showhide_shortcut": {
"message": "显示 / 隐藏 Thunderbird",
"description": "Label for the show / hide shortcut edit box"
},
"shortcuts_clear_button": {
"message": "清空",
"description": "Clear"
},
"debug": {
"message": "调试",
"description": "Title for Debug options"
},
"debug_display": {
"message": "显示调试窗口",
"description": "Display the debug window"
},
"save_preferences": {
"message": "保存首选项",
"description": "Save preferences"
},
"save_preferences_button": {
"message": "保存",
"description": "Save preferences button"
},
"reset_preferences": {
"message": "重置首选项",
"description": "Reset preferences"
},
"reset_preferences_button": {
"message": "重置",
"description": "Reset preferences button"
},
"about_title": {
"message": "关于 SysTray-X",
"description": "About box title"
},
"about_line_1": {
"message": "SysTray-X 配套应用,作者 Ximi1970",
"description": "Line 1"
},
"about_version": {
"message": "版本:",
"description": "Version"
},
"about_build": {
"message": "构建:",
"description": "Build"
},
"about_hash": {
"message": "Hash",
"description": "Hash"
},
"about_branch": {
"message": "分支:",
"description": "Branch"
},
"debug_title": {
"message": "SysTray-X 调试",
"description": "Debug window title"
},
"debug_test_1": {
"message": "测试 1",
"description": "Button 1"
},
"debug_test_2": {
"message": "测试 2",
"description": "Button 2"
},
"debug_test_3": {
"message": "测试 3",
"description": "Button 3"
},
"debug_unread": {
"message": "未读邮件:",
"description": "Unread label"
},
"menu_showhide": {
"message": "显示 / 隐藏(&S)",
"description": "Show Hide menu entry"
},
"menu_preferences": {
"message": "首选项(&P)",
"description": "Preferences menu entry"
},
"menu_about": {
"message": "关于(&A)",
"description": "About menu entry"
},
"menu_quit": {
"message": "退出(&Q)",
"description": "Quit menu entry"
},
"menu_close": {
"message": "关闭",
"description": "Close button"
},
"mail_notification_icon": {
"message": "邮件提示图标",
"description": "Mail icon selection title"
},
"number_properties": {
"message": "数字属性",
"description": "Number properties title"
},
"image_open": {
"message": "打开图片",
"description": "File image dialog"
},
"image_files": {
"message": "图片文件(*.png *.jpg *.bmp",
"description": "File image selection"
},
"image_save": {
"message": "保存",
"description": "File image save"
},
"image_cancel": {
"message": "取消",
"description": "File image cancel"
}
}

View File

@@ -8,7 +8,6 @@
</head>
<body>
<script src="js/defaults.js"></script>
<script src="js/folderTree.js"></script>
<h3>Background</h3>
<p>Background HTML</p>

View File

@@ -34,7 +34,6 @@ SysTrayX.Info = {
SysTrayX.Messaging = {
startupDelayFinished: false,
accounts: [],
folderTree: {},
countType: "0",
showNewIndicator: "false",
closeType: "1",
@@ -102,17 +101,8 @@ SysTrayX.Messaging = {
browser.accounts.onDeleted.addListener(SysTrayX.Messaging.accountDeleted);
}
// Get all accounts
SysTrayX.Messaging.accounts = await browser.accounts.list(false);
// Fill the sub folders using the folders API, they are not same...
for (let i = 0; i < SysTrayX.Messaging.accounts.length; ++i) {
const subFolders = await browser.folders.getSubFolders(
SysTrayX.Messaging.accounts[i],
true
);
SysTrayX.Messaging.accounts[i].folders = subFolders;
}
// Get the accounts and subfolders
SysTrayX.Messaging.accounts = await browser.accounts.list();
console.debug("Accounts: " + JSON.stringify(SysTrayX.Messaging.accounts));
@@ -318,26 +308,46 @@ SysTrayX.Messaging = {
// Count the initial unread messages
for (const filter of SysTrayX.Messaging.filters) {
for (const path of filter.folders) {
const folder = {
accountId: filter.accountId,
path: path,
};
const accountId = filter.accountId;
for (const storedFolder of filter.folders) {
let path;
let folderParam;
if (typeof(storedFolder) === "string") {
// Filters pre TB 121
path = storedFolder;
folderParam = {
accountId: accountId,
path: storedFolder,
};
} else {
// Filters TB 121
if (storedFolder.mailFolderId === undefined) {
// TB 121 filter setup but older TB
path = storedFolder.path;
folderParam = {
accountId: accountId,
path: path,
};
} else {
path = storedFolder.path;
folderParam = storedFolder.mailFolderId;
}
}
let mailFolderInfo = {};
try {
mailFolderInfo = await browser.folders.getFolderInfo(folder);
mailFolderInfo = await browser.folders.getFolderInfo(folderParam);
} catch (err) {
console.debug("Filter error: " + err);
console.debug("Filter error: " + JSON.stringify(folder));
}
if (mailFolderInfo.unreadMessageCount !== undefined) {
if (SysTrayX.Messaging.unread[folder.accountId] === undefined) {
SysTrayX.Messaging.unread[folder.accountId] = {};
if (SysTrayX.Messaging.unread[accountId] === undefined) {
SysTrayX.Messaging.unread[accountId] = {};
}
SysTrayX.Messaging.unread[folder.accountId][folder.path] =
SysTrayX.Messaging.unread[accountId][path] =
mailFolderInfo.unreadMessageCount;
}
}
@@ -472,110 +482,6 @@ SysTrayX.Messaging = {
}
},
//
// Callback for folder changes
//
updateFilters: function (rootFolder, parentFolder, folder, added) {
const oldFolders = SysTrayX.Messaging.folderTree[rootFolder];
const oldPaths = getFolderPaths(oldFolders);
browser.accounts.list().then(
(accounts) => {
this.updateFiltersCallback(
rootFolder,
parentFolder,
folder,
added,
oldFolders,
oldPaths,
accounts
);
},
() => console.log("Failed to get the accounts")
);
},
updateFiltersCallback: async function (
rootFolder,
parentFolder,
folder,
added,
oldFolders,
oldPaths,
accounts
) {
// Get new folder tree
const folderTree = getFolderTree(accounts, SysTrayX.Info.browserInfo);
const newFolders = folderTree[rootFolder];
const newPaths = getFolderPaths(newFolders);
const changes = findFolderPathsDiff(oldPaths, newPaths).filter((change) =>
change.endsWith(parentFolder + "/" + folder)
);
if (changes.length === 1 && added) {
// Folder has beeen added
const addedFolder = changes[0];
// Is parent selected?
const parentAddedFolder = addedFolder.substring(
0,
addedFolder.lastIndexOf("/")
);
const parentSelected = findFolderPath(
SysTrayX.Messaging.filters,
parentAddedFolder
);
if (parentSelected) {
// Add the new folder to the filters
const newFilter = {
...parentSelected,
folder: {
...parentSelected.folder,
path: changes[0],
name: changes[0].substring(changes[0].lastIndexOf("/") + 1),
},
};
if (
SysTrayX.Messaging.filters.filter(
(filter) => filter.folder.path === newFilter.folder.path
).length === 0
) {
SysTrayX.Messaging.filters.push(newFilter);
// Store the new filters
await storage().set({
filters: SysTrayX.Messaging.filters,
});
}
}
} else if (changes.length === 1 && !added) {
// Folder has been removed, remove also all children
const filters = SysTrayX.Messaging.filters.filter(
(filter) => !filter.folder.path.startsWith(changes[0])
);
if (filters.length !== SysTrayX.Messaging.filters.length) {
// Remove found filters (and children) from the filters
SysTrayX.Messaging.filters = filters;
// Store the new filters
await storage().set({
filters: SysTrayX.Messaging.filters,
});
}
}
// Store the new accounts and folder tree
SysTrayX.Messaging.accounts = accounts;
SysTrayX.Messaging.folderTree = folderTree;
},
requestOptions: function () {
SysTrayX.Link.postSysTrayXMessage({ optionsRequest: true });
},
@@ -629,6 +535,8 @@ SysTrayX.Messaging = {
"minimizeIconType",
"closeType",
"startupType",
"windowPosCor",
"windowPosCorType",
"restorePositions",
"defaultIconType",
"defaultIconMime",
@@ -667,6 +575,8 @@ SysTrayX.Messaging = {
const minimizeIconType = result.minimizeIconType || "1";
const closeType = result.closeType || "1";
const startupType = result.startupType || "0";
const windowPosCor = result.windowPosCor || "false";
const windowPosCorType = result.windowPosCorType || "0";
const restorePositions = result.restorePositions || "false";
const defaultIconType = result.defaultIconType || "0";
const defaultIconMime = result.defaultIconMime || "image/png";
@@ -706,6 +616,8 @@ SysTrayX.Messaging = {
minimizeIconType,
closeType,
startupType,
windowPosCor,
windowPosCorType,
restorePositions,
defaultIconType,
defaultIconMime,
@@ -825,6 +737,20 @@ SysTrayX.Link = {
});
}
const windowPosCor = response["preferences"].windowPosCor;
if (windowPosCor) {
await storage().set({
windowPosCor: windowPosCor,
});
}
const windowPosCorType = response["preferences"].windowPosCorType;
if (windowPosCorType) {
await storage().set({
windowPosCorType: windowPosCorType,
});
}
const restorePositions = response["preferences"].restorePositions;
if (restorePositions) {
await storage().set({

Some files were not shown because too many files have changed in this diff Show More