diff options
| -rw-r--r-- | CHANGELOG.md | 13 | ||||
| -rw-r--r-- | README.md | 35 | ||||
| -rw-r--r-- | translations/qtmaildir_it_IT.ts | 81 |
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 @@ -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'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 <key> Open this account's view + --thread <id> Open this thread + --message <id> 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 <key> Apre la vista di questo account + --thread <id> Apre questa conversazione + --message <id> 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'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 '%1'.</source> + <translation>Nessun account chiamato '%1'.</translation> + </message> + <message> + <source>No thread matched '%1'.</source> + <translation>Nessuna conversazione corrisponde a '%1'.</translation> + </message> + <message> + <source>No message matched '%1'.</source> + <translation>Nessun messaggio corrisponde a '%1'.</translation> + </message> + <message> <source>Background sync running...</source> <translation>Sincronizzazione in corso in background...</translation> </message> |
