summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-03 15:42:40 +0200
committerDanilo M. <danix@danix.xyz>2026-08-03 15:42:40 +0200
commiteb35acda4207392c10b4b1192b3b057bcad99a47 (patch)
treec962e91fc502ec57d92df386e773033fe42fd17b /CHANGELOG.md
parentafd20c9527fa77ba60901707c7bc73b2af926a67 (diff)
parentf62ced3c2c85675e746bff7ef8aca5c75c9737e0 (diff)
downloadqtmaildir-eb35acda4207392c10b4b1192b3b057bcad99a47.tar.gz
qtmaildir-eb35acda4207392c10b4b1192b3b057bcad99a47.zip
Merge branch 'feature/qaction-menus'
Menus, a toolbar and a generated shortcut reference, built on converting the action registry from a hash of callbacks to QActions. Along the way: three default key bindings that had never fired, a shortcut dialog taller than the screen, thread list columns that could not be resized, no visible feedback that a tag action had landed, and a tags column so wide it was unreadable. Backlog items 3, 8, 9, 13 and 14 done; 11 partly.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md61
1 files changed, 60 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 90853ce..c78cb94 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,7 +11,66 @@ point at which they are stable.
## [Unreleased]
-Nothing yet.
+### Added
+
+- Tags render as coloured chips instead of text in a column. The account tag
+ sits in front of the subject in the thread list, and the functional tags fill
+ a single row under the message pane, with anything that does not fit
+ collapsing into a `+N` chip whose tooltip names the rest.
+- `[tagcolors]` config group. Colours resolve by exact tag first, then by
+ top-level prefix, so one `shopping` entry covers `shopping/amazon` and
+ `shopping/nike` while `shopping/amazon` can still override its own. Built-in
+ defaults cover the usual state tags; anything unconfigured gets a stable
+ colour derived from its name.
+- `color` and `label` keys in an account stanza, setting the account chip's
+ fill and its text. `label` shortens a long key for display only and renames
+ nothing in notmuch; unset falls back to the key.
+- The application icon is now used: window icon, a `.desktop` entry, and
+ install rules placing both into `hicolor` and `share/applications`.
+- Toolbar and menu actions carry icons from the system theme, falling back to
+ text where a theme lacks one.
+- Menu bar covering every action: File, Edit, Message, View and Help.
+- Toolbar with the frequent subset, Sync, Archive, Delete and Undo.
+- **Help > Keyboard shortcuts**, listing the current bindings. Generated from
+ the actions themselves, so it shows configured overrides rather than a
+ hand-written copy of the defaults.
+- **Help > About**.
+- Default bindings for `spam` and `load_remote`, which previously had none
+ and were unreachable until bound by hand.
+
+### Fixed
+
+- Acting on a thread now visibly changes its row. A thread tagged `deleted`
+ or `spam` is filled dark red or orange, in white struck-through text, across
+ every column. The tag change was already applied, but `Tags` sat after the
+ stretching `Subject` column and was pushed off-screen, so Delete looked like
+ it had done nothing.
+- Thread list columns are Date, From and Subject, all resizable. The tags
+ column is gone: spelling out a dozen tags per row consumed most of the list's
+ width. Widening past the viewport scrolls horizontally rather than squeezing
+ the other columns.
+- Hierarchical tags in `[tagcolors]` were silently ignored. QSettings treats
+ `/` in a key as a group separator, so `shopping/amazon` becomes a nested key
+ that `childKeys()` never returns, and every tag containing a `/` fell through
+ to its prefix.
+- Three default bindings never fired. Typing a capital sends `Shift`+the key,
+ but `N`, `F` and `G` were stored as the unshifted key, which no keystroke
+ produces, leaving `toggle_unread`, `flag` and `sync` dead. A bare capital in
+ `[keys]` is now read as `Shift`+that letter. As a side effect `y` and `Y`
+ are two distinct keys rather than a collision that silently dropped one.
+- Modifier shortcuts such as `Ctrl+Q` now work while the query bar has focus.
+ The old event filter suppressed every binding there, not only the plain
+ letters that would have interfered with typing.
+
+### Changed
+
+- Default bindings moved to modifier shortcuts (`Ctrl+E` archive, `Ctrl+D`
+ delete, and so on). Existing `[keys]` entries are unaffected, and single
+ letters are still safe to bind. See "Upgrading from 0.1.0" in the README.
+- Actions are `QAction`s dispatched by shortcut rather than a hash of
+ callbacks behind an event filter, which is what lets them appear in menus.
+ The hand-maintained list of registered action names is now derived from the
+ actions, so it can no longer drift from them.
## [0.1.0] - 2026-08-03