summary refs log tree commit diff stats
path: root/widgets
Commit message (Collapse)AuthorAgeFilesLines
* gofmt fixesDrew DeVault2020-04-242-7/+7
|
* Add recall commandJeffas2020-04-242-1/+5
| | | | | | This command allows recalling the selected postponed email to edit in the composer. The command only allows recalling from the postpone directory.
* Add postpone commandJeffas2020-04-242-20/+28
| | | | | | | This command uses the Postpone folder from the account config to save messages to. Messages are saved as though they were sent so have a valid 'to' recipient address and should be able to be read back in for later editing.
* Add :choose commandRay Ganardi2020-04-241-0/+33
| | | | | | | Usage: *choose* -o <key> <text> <command> [-o <key> <text> <command>]... Prompts the user to choose from various options.
* Remove ability to specify headers in the editorReto Brunner2020-04-241-147/+42
| | | | | | | | | | Due to headers being essentially free text, we constantly run into issues with parts of the body being interpreted as headers. Remove the ability to overwrite headers to avoid that, while keeping the ability to specify headers in the template files. Fixes #383
* Use aerc.PushError where appropriateBen Fiedler2020-04-232-13/+6
| | | | Forgot an unused import, to save you the hassle here is v2.
* fix: Close unused MessageView when swapping viewRay Ganardi2020-04-201-1/+2
| | | | | | | Closes https://todo.sr.ht/~sircmpwn/aerc2/379 The old `MessageView` was not closed when replacing the tab content, which causes a memory leak.
* fix function keys in terminal widgetJonathan Halmen2020-03-261-1/+1
| | | | off-by-one error
* msgviewer: do not interpret header as format stringDrew DeVault2020-03-191-2/+2
|
* Add pinned tabsJeffas2020-03-091-1/+9
| | | | | | This adds the commands pin-tab and unpin-tab. Once pinned a tab lives on the left of the tabstrip and has a configurable marker, defaulting to ` before its name.
* Refactoring: remove store from PartInfoDrew DeVault2020-03-092-2/+0
|
* Reduce size of the password prompt UIDrew DeVault2020-03-031-2/+2
|
* Yet another revision to PGP UIDrew DeVault2020-03-031-4/+4
| | | | I think this will be the one.
* Simplify PGP messagingDrew DeVault2020-03-031-20/+11
|
* compose: add space between headers and editorDrew DeVault2020-03-031-3/+5
| | | | Until the PGP changes, this was merged into the header widget.
* Initial support for PGP decryption & signaturesDrew DeVault2020-03-036-46/+269
|
* Add move-tab commandJeffas2020-03-031-0/+12
|
* Only show spinner while sorting if no uidsJeffas2020-02-281-7/+7
| | | | | This fixes the problem where we already have messages and then have to sort again.
* Don't show empty message while sortingJeffas2020-02-281-0/+6
| | | | | | This changes the ui to show the spinner while we are sorting. It only shows one line of the spinner since there are an unknown number of messages at this time.
* Set the store on the message list if it is nilJeffas2020-02-281-0/+3
|
* Don't set the store on an update to itJeffas2020-02-281-4/+0
| | | | | | Updates to a store can be asynchronous so we shouldn't select it just because it had an update. Selection of the stores should be driven by explicit user commands.
* widgets/dirlist: Fix total message countReto Brunner2020-02-251-4/+6
| | | | | | | | | This fixes an issue with the updated count logic, where only fetched messages where counted to the exists string of the rue count. Note that the count is still broken (we only count read / unread messages we fetched, but that is the same behaviour as prior to the commit 66b68f35b3f3f3b97ec9951397fd75afeb0d0995)
* Fix crash on mouse scrolling between message partsAmir Yalon2020-02-251-2/+2
|
* Fix crash on mouse scrolling before messages loadWiktor Kwapisiewicz2020-02-221-2/+6
| | | | | Using mouse scroll before messages load will trigger a panic as `ml.store` has not been assigned yet and is `nil`.
* fix missing importReto Brunner2020-02-191-0/+1
|
* Revert "Only fetch the directory contents when we are switching directories"Reto Brunner2020-02-192-6/+1
| | | | | | | This reverts commit bd4df530095ee343778a59120a9e641c01010b0f. I did not properly untangle the opening / dirlist update of each other. This interferes with the imap worker, hence the revert
* dirlist: actually honor the DirInfoReto Brunner2020-02-161-25/+36
| | | | | | | | | | | | Currently the dirlist ignores the counts provided by the dirInfo. However some of the workers can actually provide accurate counts much quicker than if we count the flags. Eventually we will also want to enable displaying counts for background folders, where the brute force counting won't work as none of the headers are fetched yet. This commit models it in an opt-in manner, if the flag isn't set then we still count the messages manually.
* Only fetch the directory contents when we are switching directoriesReto Brunner2020-02-162-1/+18
| | | | | | Previously, sending a DirectoryInfo assumed that a directory change happened. However we don't want that if we only want to update the unread message count.
* Ensure we aren't selecting negative directoriesAndreas Rammhold2020-02-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the list of directories is empty trying to navigate in the directory list did previously lead to a crash. With this change we instead return early before trying to change the directory. Example backtrace: > panic: runtime error: index out of range [-1] > > goroutine 1 [running]: > git.sr.ht/~sircmpwn/aerc/widgets.(*DirectoryList).NextPrev(0xc000160680, 0xffffffffffffffff) > source/aerc/widgets/dirlist.go:285 +0xd4 > git.sr.ht/~sircmpwn/aerc/commands/account.NextPrevFolder.Execute(0xc000191040, 0xc00025c210, 0x1, 0x1, 0x0, 0xc00016f420) > source/aerc/commands/account/next-folder.go:44 +0xe0 > git.sr.ht/~sircmpwn/aerc/commands.(*Commands).ExecuteCommand(0xc0000101a8, 0xc000191040, 0xc00025c210, 0x1, 0x1, 0xc000020070, 0xb46d01) > source/aerc/commands/commands.go:66 +0xa7 > main.execCommand(0xc000191040, 0xc0001ca190, 0xc00025c210, 0x1, 0x1, 0xc00025c210, 0xc0003fb080) > source/aerc/aerc.go:60 +0xc7 > main.main.func3(0xc00025c210, 0x1, 0x1, 0x1, 0x1) > source/aerc/aerc.go:162 +0x57 > git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).BeginExCommand.func1(0xc000201db0, 0xb) > source/aerc/widgets/aerc.go:382 +0x83 > git.sr.ht/~sircmpwn/aerc/widgets.(*ExLine).Event(0xc0003be100, 0xb475a0, 0xc00023cba0, 0xc00023cba0) > source/aerc/widgets/exline.go:79 +0x131 > git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Event(0xc000191040, 0xb475a0, 0xc00023cba0, 0x99ee01) > source/aerc/widgets/aerc.go:202 +0x4c1 > git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).simulate(0xc000191040, 0xc000036f00, 0xd, 0x10) > source/aerc/widgets/aerc.go:195 +0x8d > git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Event(0xc000191040, 0xb475a0, 0xc00023c9c0, 0x9c5a60) > source/aerc/widgets/aerc.go:218 +0x3e8 > git.sr.ht/~sircmpwn/aerc/lib/ui.(*UI).Tick(0xc0001ca190, 0xa99d00) > source/aerc/lib/ui/ui.go:92 +0x190 > main.main() > source/aerc/aerc.go:192 +0x5f2
* dirlist: adapt to dynamic UIconfigReto Brunner2020-01-282-11/+21
|
* dirlist: remove not needed sort functionReto Brunner2020-01-281-2/+1
| | | | | | | | | | The docs of strings.Compare state: > Compare is included only for symmetry with package bytes. It is usually > clearer and always faster to use the built-in string comparison operators > ==, <, >, and so on. So let's do that.
* config: Strongly type context typeReto Brunner2020-01-242-3/+3
| | | | | | | | The go compiler can't help much with untyped int constants. Even though the only valid constants are 0-3 it will happily accept 4 as input. Let's let the go compiler worry about correctness here. This also allows people not very familiar with the code to use it properly via auto completion.
* Contextual UI ConfigurationSrivathsan Murali2020-01-243-10/+27
| | | | | | | | | + Adds parsing of contextual ui sections to aerc config. + Add GetUiConfig method for AercConfig that is used to get the specialized UI config. + Add UiConfig method to AccountView to get specialized UI Config. + Modifies Aerc codebase to use specialized UIConfig instead. + Adds documentation for Contextual UI Configuration
* Display the mimetype when offering to pipe or saveLuke Drummond2020-01-201-1/+3
|
* Switch back to upstream pty libraryBen Fiedler2020-01-161-1/+1
| | | | | The relevant change was merged upstream, and thus allows us to clean up unneeded forks.
* Correct spellingReto Brunner2020-01-161-1/+1
|
* remove Original* checkLeszek Cimała2020-01-091-2/+1
|
* create OriginalMail structLeszek Cimała2020-01-092-3/+5
|
* FetchBodyParts: decode source in the workersReto Brunner2020-01-051-23/+3
| | | | | | | Previously the workers returned a mixture of decoded / encoded parts. This lead to a whole bunch of issues. This commit changes the msgviewer and the commands to assume parts to already be decoded
* msgviewer: decode headers prior to displaying themReto Brunner2020-01-051-1/+7
|
* msgviewer: bypass filter for headersReto Brunner2020-01-051-3/+6
|
* msgviewer: do not anchor ansi escape to start of lineReto Brunner2020-01-051-1/+1
|
* msgviewer: Add Labels as a virtual headerReto Brunner2019-12-272-6/+26
| | | | | | In order to accommodate for that, the headerlayout needed to be rewritten to pass the filter criteria back to the msgviewer, instead of just using the normal headers.
* add LabelList eventReto Brunner2019-12-211-0/+7
|
* msglist: highlight marked messagesReto Brunner2019-12-211-1/+1
| | | | | | Note that, until we get color configuration, this means that the user *must* have the %Z verb in the index format else it'll be horribly confusing as no visual indication is provided
* msgviewer: implement ProvidesMessages interfaceReto Brunner2019-12-211-0/+7
|
* AccountView: implement ProvidesMessagesReto Brunner2019-12-211-0/+7
|
* widgets: add msgInfoFromUids helperReto Brunner2019-12-211-0/+20
|
* add ProvidesMessages interfaceReto Brunner2019-12-211-0/+8
|
* Add address book completion in composerBen Burwell2019-12-211-3/+20
| | | | | Complete email address fields in the message composer with an external address book command, compatible with mutt's query_cmd.
-16 10:35:49 -0700 1069 - rename record/field to container/element' href='/akkartik/mu/commit/cpp/010vm?h=hlt&id=db5c9550e972d114aaabb95b14cfd1e3ea185349'>db5c9550 ^
5497090a ^
795f5244 ^
12f304a3 ^
f1a6f323 ^
36594a43 ^
c6034af3 ^
c6034af3 ^
0c0bc3ae ^

c6034af3 ^


6324f6af ^
53a569b8 ^
c6034af3 ^
dcf7436e ^

db5c9550 ^




b291f85b ^
db5c9550 ^




72d5d018 ^


db5c9550 ^

dcf7436e ^
a3d9828c ^
db5c9550 ^
ac0e9db5 ^
c6034af3 ^
db5c9550 ^
f1a6f323 ^
72d5d018 ^
dcf7436e ^

1848b18f ^





36594a43 ^
2199940a ^



36594a43 ^
363be37f ^
795f5244 ^
f1a6f323 ^
795f5244 ^
f1a6f323 ^
26785f2a ^


286d7620 ^

26785f2a ^
53a569b8 ^
13ba3def ^

795f5244 ^
53a569b8 ^
df0b469f ^
363be37f ^
36594a43 ^
363be37f ^
36594a43 ^
dcf7436e ^

7284d503 ^
3c435756 ^
dcf7436e ^
df40cb6e ^



af16d897 ^


e6692482 ^

dcf7436e ^
8d09d030 ^
c6034af3 ^
1f59be84 ^
8d09d030 ^


08cf048f ^
8d09d030 ^

ae256ea1 ^


dcf7436e ^
c6034af3 ^
05d17773 ^
ae256ea1 ^
c6034af3 ^

ae256ea1 ^

244fc3d9 ^
c6034af3 ^

ae256ea1 ^

8d09d030 ^
1f59be84 ^
8d09d030 ^
06462ccd ^
ae256ea1 ^

08cf048f ^
ae256ea1 ^









c157066c ^

57d01f21 ^

59399e8f ^
57d01f21 ^
ae256ea1 ^





c6034af3 ^


ae256ea1 ^




c6034af3 ^







ae256ea1 ^





c6034af3 ^

ae256ea1 ^
0c0bc3ae ^
ae256ea1 ^
c6034af3 ^


ae256ea1 ^
c6034af3 ^



0c0bc3ae ^
ae256ea1 ^
c6034af3 ^





ae256ea1 ^



c6034af3 ^

8d09d030 ^


ae256ea1 ^
8d09d030 ^
06462ccd ^
8d09d030 ^

8d09d030 ^
7bba6e7b ^
ac0e9db5 ^
7bba6e7b ^
b954ac38 ^
0060093e ^
7bba6e7b ^
dcf7436e ^
8d09d030 ^

dcf7436e ^
b954ac38 ^






0c0bc3ae ^
b954ac38 ^


ae256ea1 ^
b954ac38 ^


6808ff7d ^


ae256ea1 ^

6808ff7d ^
ae256ea1 ^



6808ff7d ^
ae256ea1 ^
a17f9186 ^
ae256ea1 ^


b954ac38 ^
6808ff7d ^
0c0bc3ae ^
b954ac38 ^

ed09f738 ^
b954ac38 ^


6808ff7d ^

5d4a1d3b ^
9cc389ce ^

6808ff7d ^
9cc389ce ^
ed09f738 ^
9cc389ce ^

6808ff7d ^
9cc389ce ^
6808ff7d ^
9cc389ce ^


c157066c ^
f3760b0f ^
795f5244 ^
ed09f738 ^
c157066c ^
ed09f738 ^

72cccd08 ^


ac0e9db5 ^
72cccd08 ^
d7494165 ^
72cccd08 ^

d7494165 ^
ac0e9db5 ^
72cccd08 ^
d7494165 ^
72cccd08 ^



b954ac38 ^

c55e49b6 ^
b0450faf ^
b954ac38 ^

c55e49b6 ^
b954ac38 ^









dcf7436e ^




0060093e ^
dcf7436e ^





979403c6 ^
1fad5eef ^






ae256ea1 ^
1fad5eef ^



ae256ea1 ^
1fad5eef ^

fa8eda45 ^







360d45e6 ^






ef96f57c ^


360d45e6 ^

ef96f57c ^




979403c6 ^
ac0e9db5 ^
4082acd2 ^
979403c6 ^

4082acd2 ^
b954ac38 ^


0c0bc3ae ^
b954ac38 ^
b954ac38 ^


ebdf923d ^
d379d683 ^





















ae256ea1 ^
08cf048f ^
ae256ea1 ^



4082acd2 ^



















dbf64731 ^
4082acd2 ^










dbf64731 ^
4082acd2 ^
dbf64731 ^

4082acd2 ^







4082acd2 ^

d91de4b8 ^
5feb36ff ^

4082acd2 ^
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
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596