aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/screenshots/screenshots.yaml
blob: 5b8f6328cfd1faf295842757c77dc10e9fdab82e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
# Manual screenshot manifest. Paths in `doc` are relative to the Manual repo;
# paths in `sources` and `global_sources` are relative to the GpgFrontend repo.
# Frame sizes are logical pixels and are scaled by the capture DPR (2).
#
# Phase 1 entries first, then Phase 2 batches. Nothing has been applied yet.

defaults:
  platform: windows11
  locale: en_US
  theme: light
  size: 1280x960
  fonts: ["Noto Sans", "Noto Sans CJK SC"]
  clock: "2026-01-15T10:00:00Z"
  timeout_ms: 30000
  frame: {radius: 8, shadow: 12, padding: 24}
  diff: {tolerance: 16, threshold: 0.001}
  preview_platforms: [linux-xvfb]

global_sources:
  - src/screenshot/
  - resource/screenshot/
  - scripts/screenshot/

entries:
  - id: main-window
    doc: src/content/docs/guides/understand-interface.mdx
    ref: img-1  # the window tour at the top of the page
    scenario: main-window
    size: 1280x960
    sources:
      - src/ui/main_window/
      - src/ui/widgets/
      - src/core/utils/GpgUtils.cpp

  - id: key-generate-dialog
    doc: src/content/docs/guides/generate-key.md
    ref: img-1  # "Step 1: Open the Generate Key Dialog"
    scenario: key-generate-dialog
    size: auto  # natural dialog size
    sources:
      - src/ui/dialog/key_generate/
      - src/core/model/GpgKeyGenerateInfo.cpp

  - id: text-decrypt-verify-result
    doc: src/content/docs/guides/text-operations.md
    ref: img-1  # page header image; img-3/img-5 are animated GIFs
    scenario: text-decrypt-verify-result
    size: 1280x960
    sources:
      - src/ui/main_window/
      - src/ui/widgets/
    highlight: InfoBoardWidget

  - id: main-window-menu-popup
    doc: src/content/docs/guides/key-server-operations.md
    ref: img-1  # "click Keys in the menu bar, then Import Key"
    scenario: main-window-menu-popup
    size: 1280x960
    sources:
      - src/ui/main_window/
    highlight: {name: importKeyFromKeyServer, style: arrow}

  # Phase 2, batch 1: Key Details, owner trust and revocation.
  - id: key-details-overview
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-1  # the Key Details window
    scenario: key-details-keypair
    size: auto
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-owner
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-2  # "Owner"
    scenario: key-details-keypair
    size: auto
    crop: ownerBox
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-primary-key
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-3  # "Primary Key"
    scenario: key-details-keypair
    size: auto
    crop: primaryKeyBox
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-algorithm-detail
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-4  # "Algorithm Detail"
    scenario: key-details-keypair
    size: auto
    crop: primaryKeyBox
    highlight: algorithmDetail
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-fingerprint
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-5  # "Fingerprint"
    scenario: key-details-keypair
    size: auto
    crop: fingerprintBox
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-uids
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-6  # "UID Info"
    scenario: key-details-uids
    size: auto
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-uid-signatures
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-7  # "Signatures on a UID"
    scenario: key-details-uids
    size: auto
    crop: uidSignatureBox
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-keychain
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-8  # "Subkey Info"
    scenario: key-details-keychain
    size: auto
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-operations-public
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-9  # "On a Public Key"
    scenario: key-details-operations-public
    size: auto
    sources: [src/ui/dialog/keypair_details/]

  - id: key-details-operations-private
    doc: src/content/docs/guides/view-keypair-info.md
    ref: img-10  # "On a Private Key"
    scenario: key-details-operations
    size: auto
    sources: [src/ui/dialog/keypair_details/]

  - id: owner-trust-column
    doc: src/content/docs/guides/openpgp-trust-manage.md
    ref: img-1  # "Owner Trust": the Trust column in KeyPair Management
    scenario: key-management-window
    size: 1200x760
    highlight: trustColumn
    sources: [src/ui/main_window/, src/core/model/GpgKeyTableModel.cpp]

  - id: owner-trust-context-menu
    doc: src/content/docs/guides/openpgp-trust-manage.md
    ref: img-2  # "How to set Owner Trust"
    scenario: key-context-menu
    highlight: {name: setOwnerTrustLevel, style: arrow}
    sources: [src/ui/main_window/]

  - id: uid-signatures-highlighted
    doc: src/content/docs/guides/openpgp-trust-manage.md
    ref: img-3  # "Signing UIDs"
    scenario: key-details-uids
    size: auto
    highlight: uidSignatureBox
    sources: [src/ui/dialog/keypair_details/]

  - id: revoke-certificate-button
    doc: src/content/docs/advanced/key-revocation.mdx
    ref: img-1  # "Generating a Key Revocation Certificate"
    scenario: key-details-operations
    size: auto
    highlight: revokeCertificateButton
    sources: [src/ui/dialog/keypair_details/]

  - id: revocation-options
    doc: src/content/docs/advanced/key-revocation.mdx
    ref: img-2  # the reason code and text
    scenario: revocation-options-dialog
    size: auto
    sources: [src/ui/dialog/RevocationOptionsDialog.cpp, src/ui/function/GenerateRevocationCert.cpp]

  - id: revoked-key-details
    doc: src/content/docs/advanced/key-revocation.mdx
    ref: img-3  # a revoked key in Key Details
    scenario: key-details-revoked
    size: auto
    sources: [src/ui/dialog/keypair_details/, src/ui/main_window/]

  # Phase 2, batch 2: key management, categories, groups, import and export.
  - id: key-management
    doc: src/content/docs/guides/key-management.mdx
    ref: img-1  # the KeyPair Management window
    scenario: key-management-window
    size: 1200x760
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: key-categories
    doc: src/content/docs/guides/key-categories.mdx
    ref: img-1  # "Where to Find Them"
    scenario: key-management-window
    size: 1200x760
    highlight: KeyCategoryList
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: import-key-toolbar
    doc: src/content/docs/guides/import-export-key-pair.md
    ref: img-1  # Import on the main toolbar
    scenario: main-window
    highlight: importKeyButton
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: import-key-key-management
    doc: src/content/docs/guides/import-export-key-pair.md
    ref: img-2  # Import Key in KeyPair Management
    scenario: key-management-window
    size: 1200x760
    highlight: importKeyButton
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: export-public-key
    doc: src/content/docs/guides/import-export-key-pair.md
    ref: img-3  # "Save to a File"
    scenario: key-details-operations
    size: auto
    highlight: exportPublicKeyButton
    sources: [src/ui/dialog/keypair_details/]

  - id: export-checked-keys
    doc: src/content/docs/guides/import-export-key-pair.md
    ref: img-4  # "Export Several at Once"
    scenario: key-management-checked
    size: 1200x760
    highlight: [checkColumn, exportKeyButton]
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: export-private-key
    doc: src/content/docs/guides/import-export-key-pair.md
    ref: img-5  # "Export a Private Key"
    scenario: key-details-operations
    size: auto
    highlight: exportPrivateKeyButton
    sources: [src/ui/dialog/keypair_details/]

  - id: key-group-checked-keys
    doc: src/content/docs/guides/key-group.md
    ref: img-1  # tick the keys, then the new-group button
    scenario: main-window-checked-keys
    highlight: [checkColumn, keyGroupButton]
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: key-group-create
    doc: src/content/docs/guides/key-group.md
    ref: img-2  # the New Key Group dialog
    scenario: key-group-create-dialog
    size: auto
    sources: [src/ui/dialog/KeyGroupCreationDialog.cpp, src/ui/widgets/KeyList.cpp]

  - id: key-group-manage
    doc: src/content/docs/guides/key-group.md
    ref: img-3  # "Edit a group"
    scenario: key-group-manage-dialog
    size: auto
    sources: [src/ui/dialog/KeyGroupManageDialog.cpp]

  # Phase 2, batch 3: main window operations, files and symmetric encryption.
  # The former animations are stills of the moment that matters; encrypting
  # is shown before the click, since its output differs on every run.
  - id: index-main-window
    doc: src/content/docs/index.mdx
    ref: img-1  # "See GpgFrontend in Action"
    scenario: text-decrypt-verify-result
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: text-encrypt
    doc: src/content/docs/guides/text-operations.md
    ref: img-2  # "Encrypt Text"
    scenario: text-encrypt-ready
    highlight: [checkColumn, encryptButton]
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: text-decrypt
    doc: src/content/docs/guides/text-operations.md
    ref: img-3  # "Decrypt Text"
    scenario: text-decrypt-result
    highlight: InfoBoardWidget
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: text-sign
    doc: src/content/docs/guides/text-operations.md
    ref: img-4  # "Sign Text"
    scenario: text-sign-result
    highlight: InfoBoardWidget
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: text-verify
    doc: src/content/docs/guides/text-operations.md
    ref: img-5  # "Verify a Signature"
    scenario: text-verify-result
    highlight: InfoBoardWidget
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: settings-sym-encrypt
    doc: src/content/docs/guides/symmetric-encrypt-decrypt.mdx
    ref: img-1  # Appearance > Toolbar > Sym. Encrypt
    scenario: settings-sym-encrypt
    size: 900x660
    highlight: symmetricEncrCheckBox
    sources: [src/ui/dialog/settings/]

  - id: sym-encrypt-button
    doc: src/content/docs/guides/symmetric-encrypt-decrypt.mdx
    ref: img-2  # the Encrypt button, which holds Sym. Encrypt
    scenario: sym-encrypt-button
    highlight: symEncryptButton
    sources: [src/ui/main_window/]

  - id: file-panel-open
    doc: src/content/docs/guides/file-operations.md
    ref: img-1  # a file picked in the File Panel
    scenario: file-panel
    highlight: [openButton, fileTree]
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: file-panel-workspace-menu
    doc: src/content/docs/guides/file-operations.md
    ref: img-2  # Workspace > New File Panel
    scenario: workspace-menu
    highlight: newFilePanel
    sources: [src/ui/main_window/]

  - id: file-encrypt
    doc: src/content/docs/guides/file-operations.md
    ref: img-3  # encrypting a file
    scenario: file-panel
    highlight: [checkColumn, encryptButton]
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: file-decrypt-verify
    doc: src/content/docs/guides/file-operations.md
    ref: img-4  # decrypting and verifying a file
    scenario: file-decrypt-verify-result
    highlight: InfoBoardWidget
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: file-batch-mode-button
    doc: src/content/docs/guides/file-operations.md
    ref: img-5  # the batch mode button
    scenario: file-batch
    crop: fileToolRow
    highlight: batchModeButton
    sources: [src/ui/widgets/]

  - id: file-batch-mode
    doc: src/content/docs/guides/file-operations.md
    ref: img-6  # several files at once
    scenario: file-batch
    highlight: [fileTree, encryptButton]
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: settings-binary-mode
    doc: src/content/docs/guides/file-operations.md
    ref: img-7  # Settings > General > Use Binary Mode
    scenario: settings-binary-mode
    size: 900x660
    highlight: asciiModeCheckBox
    sources: [src/ui/dialog/settings/]

  - id: file-options-ascii-armor
    doc: src/content/docs/guides/file-operations.md
    ref: img-8  # options menu > Use ASCII Armor
    scenario: file-options-menu
    crop: optionsArea
    highlight: useAsciiArmor
    sources: [src/ui/widgets/]

  - id: sym-encrypt-menu
    doc: src/content/docs/guides/symmetric-encrypt-decrypt.mdx
    ref: img-3  # running it: the encrypt button's Sym. Encrypt entry
    scenario: sym-encrypt-menu
    highlight: symEncrypt
    sources: [src/ui/main_window/]

  # Phase 2, batch 4: subkeys, key packages, the key server and build info.
  # The key server is render.py's local mock (hkpmock.py), reached through a
  # proxy as http://keys.example.org; nothing leaves the machine.
  - id: subkey-new-subkey
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-1  # Keychain tab > New Subkey
    scenario: key-details-keychain
    size: auto
    highlight: newSubkeyButton
    sources: [src/ui/dialog/keypair_details/]

  - id: subkey-generate
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-2  # the Generate New Subkey window
    scenario: subkey-generate-dialog
    size: auto
    sources: [src/ui/dialog/key_generate/]

  - id: subkey-export
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-3  # "Export a Subkey"
    scenario: keychain-subkey
    size: auto
    highlight: exportSubkeyButton
    sources: [src/ui/dialog/keypair_details/]

  - id: subkey-switch-database
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-4  # "Switch Key Database"
    scenario: key-database-menu
    highlight: keyDatabaseWork
    sources: [src/ui/widgets/]

  - id: subkey-import-file
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-5  # "Import the Subkey"
    scenario: import-menu
    highlight: importFromFile
    sources: [src/ui/main_window/]

  - id: subkey-imported
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-6  # "Verify Imported Subkey"
    scenario: work-keychain-subkey
    size: auto
    sources: [src/ui/dialog/keypair_details/]

  - id: subkey-hash-symbol
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-7  # "Meaning of '#' Symbol"
    scenario: work-key-list
    highlight: aliceType
    sources: [src/ui/widgets/, src/core/model/GpgKeyTableModel.cpp]

  - id: subkey-primary-not-exists
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-8  # "Primary Key Not Exists"
    scenario: work-keypair
    size: auto
    highlight: primaryKeyExistence
    sources: [src/ui/dialog/keypair_details/]

  - id: subkey-encrypt
    doc: src/content/docs/guides/generate-use-subkey.md
    ref: img-9  # "Use Subkey to Encrypt"
    scenario: work-encrypt-ready
    highlight: encryptButton
    sources: [src/ui/main_window/]

  - id: key-package-export-menu
    doc: src/content/docs/advanced/key-package.mdx
    ref: img-1  # Export Key > Export As Key Package
    scenario: key-package-export-menu
    size: 1200x760
    highlight: exportKeyPackage
    sources: [src/ui/main_window/]

  - id: key-package-export-dialog
    doc: src/content/docs/advanced/key-package.mdx
    ref: img-2  # the Export As Key Package dialog
    scenario: key-package-export-dialog
    size: auto
    sources: [src/ui/dialog/import_export/ExportKeyPackageDialog.cpp]

  - id: key-package-import-menu
    doc: src/content/docs/advanced/key-package.mdx
    ref: img-3  # Import Key > Key Package
    scenario: key-package-import-menu
    size: 1200x760
    highlight: importKeyPackage
    sources: [src/ui/main_window/]

  - id: key-server-search
    doc: src/content/docs/guides/key-server-operations.md
    ref: img-2  # search results
    scenario: key-server-search
    size: 820x600
    highlight: [searchEdit, searchResults]
    sources: [src/ui/main_window/]

  - id: key-server-import
    doc: src/content/docs/guides/key-server-operations.md
    ref: img-3  # "After You Import"
    scenario: key-server-import
    size: auto
    sources: [src/ui/dialog/import_export/KeyImportDetailDialog.cpp]

  - id: key-server-operations
    doc: src/content/docs/guides/key-server-operations.md
    ref: img-4  # "Work With One Key"
    scenario: key-server-operations
    size: auto
    highlight: publishKey
    sources: [src/ui/dialog/keypair_details/]

  - id: build-information
    doc: src/content/docs/appendix/code-binary-verify.md
    ref: img-4  # About > Build Information; changes with every build
    scenario: about-build-info
    size: auto
    sources: [src/ui/dialog/help/]

  # Phase 3: pages updated for v2.2.3, using scenarios that already exist.
  - id: operations-bar
    doc: src/content/docs/guides/understand-interface.mdx
    ref: img-4  # "Operations Bar"
    scenario: main-window
    crop: cryptToolBar
    sources: [src/ui/main_window/]

  - id: encrypt-button-list
    doc: src/content/docs/guides/understand-interface.mdx
    ref: img-5  # "Buttons With More Than One Action"
    scenario: sym-encrypt-menu
    sources: [src/ui/main_window/]

  - id: status-panel-report
    doc: src/content/docs/guides/understand-interface.mdx
    ref: img-6  # "Reading the Report"
    scenario: text-decrypt-verify-result
    crop: InfoBoardWidget
    sources:
      - src/ui/widgets/
      - src/ui/function/InfoBoardReport.cpp
      - src/ui/function/InfoBoardCardConverter.cpp

  - id: settings-key-databases
    doc: src/content/docs/advanced/key-database.mdx
    ref: img-1  # "Open the Key Database Settings"
    scenario: settings-key-databases
    size: 900x660
    sources: [src/ui/dialog/settings/, ui/KeyDatabasesSettings.ui]

  - id: key-database-switch-menu
    doc: src/content/docs/advanced/key-database.mdx
    ref: img-2  # "Switch Between Key Databases in the Main Window"
    scenario: key-database-menu
    highlight: [switchContextButton, keyDatabaseWork]
    sources: [src/ui/widgets/KeyList.cpp, src/ui/function/KeyDatabaseDisplayNames.cpp]

  - id: key-categories-toolbox
    doc: src/content/docs/guides/key-categories.mdx
    ref: img-2  # the category strip in the Key ToolBox
    scenario: main-window-key-groups
    highlight: KeyCategoryList
    sources: [src/ui/main_window/, src/ui/widgets/]

  - id: key-group-in-toolbox
    doc: src/content/docs/guides/key-group.md
    ref: img-4  # the new group listed in the Key ToolBox
    scenario: main-window-key-groups
    highlight: key_group
    sources: [src/ui/main_window/, src/ui/widgets/]

  # Made by hand: windows the screenshot mode cannot render.
  - id: windows-signature
    doc: src/content/docs/appendix/code-binary-verify.md
    ref: img-1
    status: manual-only
  - id: macos-notarization
    doc: src/content/docs/appendix/code-binary-verify.md
    ref: img-2
    status: manual-only
  - id: linux-signature
    doc: src/content/docs/appendix/code-binary-verify.md
    ref: img-3
    status: manual-only
  - id: drag-to-applications
    doc: src/content/docs/overview/getting-started.mdx
    ref: img-1
    status: manual-only