aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md13
-rw-r--r--README.md35
-rw-r--r--translations/qtmaildir_it_IT.ts81
3 files changed, 129 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 534411b..bc81425 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,19 @@ point at which they are stable.
## [Unreleased]
+### Added
+
+- `--account`, `--thread` and `--message` on the command line, so another
+ program can open qtmaildir at a particular account's view, conversation or
+ message. The three combine, and Qt's own options are accepted beside them.
+- A second launch now hands its selectors to the already-running window over a
+ local socket and asks it to raise itself, rather than opening a second
+ window. One process, and so one notmuch database handle.
+
+### Changed
+
+- The status bar renders its messages as plain text.
+
## [0.30.0] - 2026-09-29
A calendar window over the vdirsyncer vdir, with a month grid, an agenda and
diff --git a/README.md b/README.md
index 7e88526..a2288f4 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,41 @@ Verified against these versions on Slackware -current:
You also need a notmuch database that is already set up and working from the
command line. qtmaildir does not create or configure one.
+## Usage
+
+```
+qtmaildir [options]
+
+ -h, --help Show this help and exit
+ -v, --version Show the version and exit
+ --account <key> Open this account's view
+ --thread <id> Open this thread
+ --message <id> Open this message, inside its thread
+```
+
+The three selectors combine: `--account work --message '<abc@example.org>'`
+opens that message in the work account's view. `--thread` takes a notmuch
+thread id (hex digits only); anything else is reported as a miss in the status
+bar and never reaches notmuch. Qt's own options, such as `-platform` and
+`-style`, are accepted alongside them. An unknown option or a missing value
+prints `qtmaildir: <error>` on stderr and exits with status 2.
+
+**A second launch does not open a second window.** When qtmaildir is already
+running, a launch hands its selectors to the running window over a local socket
+(`~/.local/state/qtmaildir/qtmaildir.sock`), which un-minimizes, raises and
+applies them, and the second process exits 0. This is what lets another
+program, a notification or a script open a particular message in the client the
+user already has open. It also means one process, and so one notmuch database
+handle. If no socket can be created, the window opens normally.
+
+Under a Wayland compositor, raising a window is a request rather than a
+command: the compositor may honour it, or apply its own focus policy. The
+selectors are applied either way.
+
+A selector that matches nothing, a stale thread id or an account key that is
+not configured, leaves the window on its normal startup view and says what
+missed in the status bar. It is never a reason to refuse to start.
+
## Building
```bash
diff --git a/translations/qtmaildir_it_IT.ts b/translations/qtmaildir_it_IT.ts
index eff6754..51bf793 100644
--- a/translations/qtmaildir_it_IT.ts
+++ b/translations/qtmaildir_it_IT.ts
@@ -843,6 +843,75 @@ Il messaggio È stato inviato. Non inviarlo di nuovo.</translation>
</message>
</context>
<context>
+ <name>LaunchSelectors</name>
+ <message>
+ <source>Open this account&apos;s view.</source>
+ <translation>Apre la vista di questo account.</translation>
+ </message>
+ <message>
+ <source>Open this thread.</source>
+ <translation>Apre questa conversazione.</translation>
+ </message>
+ <message>
+ <source>Open this message, inside its thread.</source>
+ <translation>Apre questo messaggio, nella sua conversazione.</translation>
+ </message>
+ <message>
+ <source>Unknown option: %1</source>
+ <translation>Opzione sconosciuta: %1</translation>
+ </message>
+ <message>
+ <source>qtmaildir %1 - a Qt6 mail client for notmuch-indexed Maildirs
+
+Usage: qtmaildir [options]
+
+ -h, --help Show this help and exit
+ -v, --version Show the version and exit
+ --account &lt;key&gt; Open this account&apos;s view
+ --thread &lt;id&gt; Open this thread
+ --message &lt;id&gt; Open this message, inside its thread
+
+The three selectors combine. When qtmaildir is already running,
+a second launch hands its selectors to that window and exits rather
+than opening a second one.
+
+Configuration: ~/.config/qtmaildir/qtmaildir.conf
+qtmaildir reads a notmuch-indexed Maildir. It does no network
+protocol work: fetching and sending are external commands.
+</source>
+ <translation>qtmaildir %1 - un client di posta Qt6 per Maildir indicizzate con notmuch
+
+Uso: qtmaildir [opzioni]
+
+ -h, --help Mostra questo aiuto ed esce
+ -v, --version Mostra la versione ed esce
+ --account &lt;key&gt; Apre la vista di questo account
+ --thread &lt;id&gt; Apre questa conversazione
+ --message &lt;id&gt; Apre questo messaggio, nella sua conversazione
+
+I tre selettori si combinano. Se qtmaildir è già in esecuzione,
+un secondo avvio passa i selettori a quella finestra ed esce,
+invece di aprirne una seconda.
+
+Configurazione: ~/.config/qtmaildir/qtmaildir.conf
+qtmaildir legge una Maildir indicizzata con notmuch. Non usa alcun
+protocollo di rete: il recupero e l&apos;invio sono comandi esterni.
+</translation>
+ </message>
+ <message>
+ <source>Launch payload too large</source>
+ <translation>Dati di avvio troppo grandi</translation>
+ </message>
+ <message>
+ <source>Unrecognised launch payload</source>
+ <translation>Dati di avvio non riconosciuti</translation>
+ </message>
+ <message>
+ <source>Truncated launch payload</source>
+ <translation>Dati di avvio troncati</translation>
+ </message>
+</context>
+<context>
<name>MainWindow</name>
<message>
<source>Unsynced changes</source>
@@ -1896,6 +1965,18 @@ Il messaggio È stato inviato. Non inviarlo di nuovo.</translation>
<translation>La sincronizzazione non è riuscita (uscita %1), quindi le tue modifiche non sono ancora sincronizzate. La finestra è stata lasciata aperta.</translation>
</message>
<message>
+ <source>No account named &apos;%1&apos;.</source>
+ <translation>Nessun account chiamato &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <source>No thread matched &apos;%1&apos;.</source>
+ <translation>Nessuna conversazione corrisponde a &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <source>No message matched &apos;%1&apos;.</source>
+ <translation>Nessun messaggio corrisponde a &apos;%1&apos;.</translation>
+ </message>
+ <message>
<source>Background sync running...</source>
<translation>Sincronizzazione in corso in background...</translation>
</message>