Gnus development mailing list
 help / color / mirror / Atom feed
* download in background?
@ 2023-03-11 10:10 Emanuel Berg
  2023-07-13  0:36 ` Fernando de Morais
  0 siblings, 1 reply; 5+ messages in thread
From: Emanuel Berg @ 2023-03-11 10:10 UTC (permalink / raw)
  To: ding

Can we have - not have this? 

Is it difficult to do, to have it in the background with maybe
 in the mode bar or something ...

The Emacs OS anyone?

How would you do that?


pop3 retrieved 7770KB (54%)
pop3 retrieved 7779KB (54%)
pop3 retrieved 7787KB (54%)
pop3 retrieved 7803KB (54%)
pop3 retrieved 7811KB (54%)
pop3 retrieved 7828KB (54%)
pop3 retrieved 7836KB (54%)
pop3 retrieved 7844KB (54%)
pop3 retrieved 7852KB (54%)
pop3 retrieved 7869KB (54%)
pop3 retrieved 7877KB (54%)
pop3 retrieved 7893KB (55%)
pop3 retrieved 7901KB (55%)
pop3 retrieved 7918KB (55%)
pop3 retrieved 7926KB (55%)
pop3 retrieved 7942KB (55%)
pop3 retrieved 7959KB (55%)
pop3 retrieved 7975KB (55%)
pop3 retrieved 7983KB (55%)
pop3 retrieved 8000KB (55%)
pop3 retrieved 8016KB (55%)
pop3 retrieved 8024KB (55%)
pop3 retrieved 8041KB (56%)
pop3 retrieved 8057KB (56%)
pop3 retrieved 8073KB (56%)
pop3 retrieved 8090KB (56%)
pop3 retrieved 8106KB (56%)
pop3 retrieved 8123KB (56%)
pop3 retrieved 8139KB (56%)
pop3 retrieved 8155KB (56%)
pop3 retrieved 8172KB (57%)
pop3 retrieved 8188KB (57%)
pop3 retrieved 8204KB (57%)
pop3 retrieved 8221KB (57%)
pop3 retrieved 8237KB (57%)
pop3 retrieved 8254KB (57%)
pop3 retrieved 8278KB (57%)
pop3 retrieved 8295KB (57%)
pop3 retrieved 8311KB (57%)
pop3 retrieved 8327KB (58%)
pop3 retrieved 8344KB (58%)
pop3 retrieved 8377KB (58%)
pop3 retrieved 8401KB (58%)
pop3 retrieved 8409KB (58%)
pop3 retrieved 8417KB (58%)
pop3 retrieved 8426KB (58%)
pop3 retrieved 8458KB (59%)
pop3 retrieved 8475KB (59%)
pop3 retrieved 8483KB (59%)
pop3 retrieved 8491KB (59%)
pop3 retrieved 8499KB (59%)
pop3 retrieved 8516KB (59%)
pop3 retrieved 8524KB (59%)
pop3 retrieved 8540KB (59%)
pop3 retrieved 8549KB (59%)
pop3 retrieved 8565KB (59%)
pop3 retrieved 8581KB (59%)
pop3 retrieved 8590KB (59%)
pop3 retrieved 8606KB (60%)
pop3 retrieved 8622KB (60%)
pop3 retrieved 8647KB (60%)
pop3 retrieved 8663KB (60%)
pop3 retrieved 8671KB (60%)
pop3 retrieved 8680KB (60%)
pop3 retrieved 8688KB (60%)
pop3 retrieved 8696KB (60%)
pop3 retrieved 8704KB (60%)
pop3 retrieved 8712KB (60%)
pop3 retrieved 8721KB (60%)
pop3 retrieved 8737KB (60%)
pop3 retrieved 8745KB (61%)
pop3 retrieved 8753KB (61%)
pop3 retrieved 8762KB (61%)
pop3 retrieved 8770KB (61%)
pop3 retrieved 8778KB (61%)
pop3 retrieved 8786KB (61%)
pop3 retrieved 8794KB (61%)
pop3 retrieved 8811KB (61%)
pop3 retrieved 8819KB (61%)
pop3 retrieved 8835KB (61%)
pop3 retrieved 8860KB (61%)
pop3 retrieved 8868KB (61%)
pop3 retrieved 8876KB (61%)
pop3 retrieved 8884KB (61%)
pop3 retrieved 8901KB (62%)
pop3 retrieved 8909KB (62%)
pop3 retrieved 8925KB (62%)
pop3 retrieved 8934KB (62%)
pop3 retrieved 8950KB (62%)
pop3 retrieved 8966KB (62%)
pop3 retrieved 8975KB (62%)
pop3 retrieved 8991KB (62%)
pop3 retrieved 9007KB (62%)
pop3 retrieved 9024KB (62%)
pop3 retrieved 9032KB (63%)
pop3 retrieved 9048KB (63%)
pop3 retrieved 9056KB (63%)
pop3 retrieved 9081KB (63%)
pop3 retrieved 9089KB (63%)
pop3 retrieved 9114KB (63%)
pop3 retrieved 9122KB (63%)
pop3 retrieved 9138KB (63%)
pop3 retrieved 9196KB (64%)
pop3 retrieved 9212KB (64%)
pop3 retrieved 9220KB (64%)
pop3 retrieved 9228KB (64%)
pop3 retrieved 9245KB (64%)
pop3 retrieved 9253KB (64%)
pop3 retrieved 9261KB (64%)
pop3 retrieved 9269KB (64%)
pop3 retrieved 9278KB (64%)
pop3 retrieved 9286KB (64%)
pop3 retrieved 9302KB (64%)
pop3 retrieved 9310KB (64%)
pop3 retrieved 9319KB (65%)
pop3 retrieved 9327KB (65%)
pop3 retrieved 9343KB (65%)
pop3 retrieved 9351KB (65%)
pop3 retrieved 9360KB (65%)
pop3 retrieved 9376KB (65%)
pop3 retrieved 9384KB (65%)
pop3 retrieved 9392KB (65%)
pop3 retrieved 9409KB (65%)
pop3 retrieved 9417KB (65%)
pop3 retrieved 9433KB (65%)
pop3 retrieved 9441KB (65%)
pop3 retrieved 9466KB (66%)
pop3 retrieved 9474KB (66%)
pop3 retrieved 9491KB (66%)
pop3 retrieved 9499KB (66%)
pop3 retrieved 9515KB (66%)
pop3 retrieved 9523KB (66%)
pop3 retrieved 9540KB (66%)
pop3 retrieved 9573KB (66%)
pop3 retrieved 9589KB (66%)
pop3 retrieved 9605KB (67%)
pop3 retrieved 9614KB (67%)
pop3 retrieved 9622KB (67%)
pop3 retrieved 9638KB (67%)
pop3 retrieved 9646KB (67%)
pop3 retrieved 9654KB (67%)
pop3 retrieved 9663KB (67%)
pop3 retrieved 9679KB (67%)
pop3 retrieved 9687KB (67%)
pop3 retrieved 9704KB (67%)
pop3 retrieved 9720KB (67%)
pop3 retrieved 9736KB (67%)
pop3 retrieved 9761KB (68%)
pop3 retrieved 9777KB (68%)
pop3 retrieved 9802KB (68%)
pop3 retrieved 9818KB (68%)
pop3 retrieved 9827KB (68%)
pop3 retrieved 9843KB (68%)
pop3 retrieved 9867KB (68%)
pop3 retrieved 9884KB (68%)
pop3 retrieved 9892KB (69%)
pop3 retrieved 9900KB (69%)
pop3 retrieved 9917KB (69%)
pop3 retrieved 9933KB (69%)
pop3 retrieved 9941KB (69%)
pop3 retrieved 9958KB (69%)
pop3 retrieved 9966KB (69%)
pop3 retrieved 9982KB (69%)
pop3 retrieved 9999KB (69%)
pop3 retrieved 10007KB (69%)
pop3 retrieved 10015KB (69%)
pop3 retrieved 10039KB (70%)
pop3 retrieved 10056KB (70%)
pop3 retrieved 10072KB (70%)
pop3 retrieved 10089KB (70%)
pop3 retrieved 10105KB (70%)
pop3 retrieved 10121KB (70%)
pop3 retrieved 10146KB (70%)
pop3 retrieved 10171KB (70%)
pop3 retrieved 10195KB (71%)
pop3 retrieved 10212KB (71%)
pop3 retrieved 10220KB (71%)
pop3 retrieved 10252KB (71%)
pop3 retrieved 10269KB (71%)
pop3 retrieved 10285KB (71%)
pop3 retrieved 10302KB (71%)
pop3 retrieved 10326KB (72%)
pop3 retrieved 10343KB (72%)
pop3 retrieved 10367KB (72%)
pop3 retrieved 10384KB (72%)
pop3 retrieved 10408KB (72%)
pop3 retrieved 10433KB (72%)
pop3 retrieved 10457KB (72%)
pop3 retrieved 10482KB (73%)
pop3 retrieved 10498KB (73%)
pop3 retrieved 10523KB (73%)
pop3 retrieved 10547KB (73%)
pop3 retrieved 10564KB (73%)
pop3 retrieved 10597KB (73%)
pop3 retrieved 10621KB (74%)
pop3 retrieved 10654KB (74%)
pop3 retrieved 10678KB (74%)
pop3 retrieved 10703KB (74%)
pop3 retrieved 10760KB (75%)
pop3 retrieved 10777KB (75%)
pop3 retrieved 10810KB (75%)
pop3 retrieved 10826KB (75%)
pop3 retrieved 10859KB (75%)
pop3 retrieved 10875KB (75%)
pop3 retrieved 10900KB (76%)
pop3 retrieved 10932KB (76%)
pop3 retrieved 10973KB (76%)
pop3 retrieved 10990KB (76%)
pop3 retrieved 11006KB (76%)
pop3 retrieved 11031KB (76%)
pop3 retrieved 11047KB (77%)
pop3 retrieved 11072KB (77%)
pop3 retrieved 11096KB (77%)
pop3 retrieved 11113KB (77%)
pop3 retrieved 11121KB (77%)
pop3 retrieved 11154KB (77%)
pop3 retrieved 11170KB (77%)
pop3 retrieved 11195KB (78%)
pop3 retrieved 11211KB (78%)
pop3 retrieved 11227KB (78%)
pop3 retrieved 11244KB (78%)
pop3 retrieved 11268KB (78%)
pop3 retrieved 11293KB (78%)
pop3 retrieved 11309KB (78%)
pop3 retrieved 11350KB (79%)
pop3 retrieved 11358KB (79%)
pop3 retrieved 11375KB (79%)
pop3 retrieved 11399KB (79%)
pop3 retrieved 11408KB (79%)
pop3 retrieved 11432KB (79%)
pop3 retrieved 11449KB (79%)
pop3 retrieved 11465KB (80%)
pop3 retrieved 11489KB (80%)
pop3 retrieved 11506KB (80%)
pop3 retrieved 11530KB (80%)
pop3 retrieved 11555KB (80%)
pop3 retrieved 11563KB (80%)
pop3 retrieved 11596KB (80%)
pop3 retrieved 11621KB (81%)
pop3 retrieved 11637KB (81%)
pop3 retrieved 11645KB (81%)
pop3 retrieved 11662KB (81%)
pop3 retrieved 11670KB (81%)
pop3 retrieved 11686KB (81%)
pop3 retrieved 11702KB (81%)
pop3 retrieved 11719KB (81%)
pop3 retrieved 11743KB (81%)
pop3 retrieved 11752KB (82%)
pop3 retrieved 11760KB (82%)
pop3 retrieved 11776KB (82%)
pop3 retrieved 11784KB (82%)
pop3 retrieved 11801KB (82%)
pop3 retrieved 11809KB (82%)
pop3 retrieved 11834KB (82%)
pop3 retrieved 11850KB (82%)
pop3 retrieved 11858KB (82%)
pop3 retrieved 11875KB (82%)
pop3 retrieved 11883KB (82%)
pop3 retrieved 11899KB (83%)
pop3 retrieved 11915KB (83%)
pop3 retrieved 11932KB (83%)
pop3 retrieved 11948KB (83%)
pop3 retrieved 11965KB (83%)
pop3 retrieved 11989KB (83%)
pop3 retrieved 12006KB (83%)
pop3 retrieved 12022KB (83%)
pop3 retrieved 12047KB (84%)
pop3 retrieved 12063KB (84%)
pop3 retrieved 12087KB (84%)
pop3 retrieved 12104KB (84%)
pop3 retrieved 12128KB (84%)
pop3 retrieved 12169KB (84%)
pop3 retrieved 12186KB (85%)
pop3 retrieved 12194KB (85%)
pop3 retrieved 12210KB (85%)
pop3 retrieved 12219KB (85%)
pop3 retrieved 12235KB (85%)
pop3 retrieved 12251KB (85%)
pop3 retrieved 12268KB (85%)
pop3 retrieved 12284KB (85%)
pop3 retrieved 12292KB (85%)
pop3 retrieved 12309KB (85%)
pop3 retrieved 12333KB (86%)
pop3 retrieved 12350KB (86%)
pop3 retrieved 12374KB (86%)
pop3 retrieved 12391KB (86%)
pop3 retrieved 12415KB (86%)
pop3 retrieved 12432KB (86%) 
pop3 retrieved 12448KB (86%)
pop3 retrieved 12481KB (87%)
pop3 retrieved 12497KB (87%)
pop3 retrieved 12513KB (87%)
pop3 retrieved 12538KB (87%)
pop3 retrieved 12554KB (87%)
pop3 retrieved 12563KB (87%)
pop3 retrieved 12571KB (87%)
pop3 retrieved 12595KB (87%)
pop3 retrieved 12612KB (88%)
pop3 retrieved 12628KB (88%)
pop3 retrieved 12645KB (88%)
pop3 retrieved 12661KB (88%)
pop3 retrieved 12677KB (88%) 
pop3 retrieved 12710KB (88%)
pop3 retrieved 12726KB (88%)
pop3 retrieved 12743KB (88%)
pop3 retrieved 12759KB (89%)
pop3 retrieved 12776KB (89%)
pop3 retrieved 12792KB (89%)
pop3 retrieved 12808KB (89%) 
pop3 retrieved 12841KB (89%)
pop3 retrieved 12858KB (89%)
pop3 retrieved 12882KB (89%)
pop3 retrieved 12890KB (89%)
pop3 retrieved 12915KB (90%)
pop3 retrieved 12931KB (90%)
pop3 retrieved 12948KB (90%)
pop3 retrieved 12972KB (90%)
pop3 retrieved 12989KB (90%) 
pop3 retrieved 13030KB (90%)
pop3 retrieved 13046KB (91%)
pop3 retrieved 13062KB (91%)
pop3 retrieved 13079KB (91%)
pop3 retrieved 13103KB (91%)
pop3 retrieved 13120KB (91%)
pop3 retrieved 13136KB (91%)
pop3 retrieved 13152KB (91%)
pop3 retrieved 13177KB (91%)
pop3 retrieved 13193KB (92%) 
pop3 retrieved 13218KB (92%)
pop3 retrieved 13243KB (92%)
pop3 retrieved 13259KB (92%)
pop3 retrieved 13275KB (92%)
pop3 retrieved 13300KB (92%)
pop3 retrieved 13308KB (92%)
pop3 retrieved 13316KB (92%)
pop3 retrieved 13333KB (93%)
pop3 retrieved 13349KB (93%)
pop3 retrieved 13374KB (93%)
pop3 retrieved 13382KB (93%)
pop3 retrieved 13406KB (93%)
pop3 retrieved 13423KB (93%)
pop3 retrieved 13439KB (93%)
pop3 retrieved 13480KB (94%)
pop3 retrieved 13505KB (94%)
pop3 retrieved 13521KB (94%)
pop3 retrieved 13546KB (94%)
pop3 retrieved 13570KB (94%)
pop3 retrieved 13595KB (94%)
pop3 retrieved 13619KB (95%)
pop3 retrieved 13644KB (95%)
pop3 retrieved 13677KB (95%)
pop3 retrieved 13701KB (95%)
pop3 retrieved 13734KB (95%)
pop3 retrieved 13759KB (96%)
pop3 retrieved 13791KB (96%)
pop3 retrieved 13808KB (96%)
pop3 retrieved 13849KB (96%)
pop3 retrieved 13873KB (96%)
pop3 retrieved 13898KB (96%)
pop3 retrieved 13923KB (97%)
pop3 retrieved 13947KB (97%)
pop3 retrieved 13980KB (97%)
pop3 retrieved 13996KB (97%)
pop3 retrieved 14021KB (97%)
pop3 retrieved 14037KB (97%)
pop3 retrieved 14062KB (98%)
pop3 retrieved 14078KB (98%)
pop3 retrieved 14103KB (98%)
pop3 retrieved 14127KB (98%)
pop3 retrieved 14152KB (98%)
pop3 retrieved 14168KB (98%)
pop3 retrieved 14201KB (99%)
pop3 retrieved 14226KB (99%)
pop3 retrieved 14250KB (99%)
pop3 retrieved 14267KB (99%)
pop3 retrieved 14308KB (99%)
pop3 retrieved 14332KB (100%)
pop3 retrieved 14334KB (100%)
 o-)
Saving file /home/incal/.newsrc-dribble...
Wrote /home/incal/.newsrc-dribble
mouse-2: toggle the MIME part; down-mouse-3: more options 
Wrote /home/incal/public_html/pimgs/ows/outdoor-ws.jpg
Wrote /home/incal/public_html/pimgs/ows/syndicalist-project.jpg
Quit
Added to /home/incal/URL
(Shell command succeeded with no output)
https://dataswamp.org/~incal/pimgs/ows/outdoor-ws.jpg
Mark set
Spell-checking region using ispell with american-insane dictionary...done
Added to /home/incal/URL
(Shell command succeeded with no output)
https://dataswamp.org/~incal/pimgs/ows/syndicalist-project.jpg
Mark set
Spell-checking region using ispell with american-insane dictionary...done
Spell-checking region using ispell with american-insane dictionary...done
 ...
Saving file /home/incal/.newsrc-dribble...
Wrote /home/incal/.newsrc-dribble
 o-)
(Shell command succeeded with no output)
https://dataswamp.org/~incal/pimgs/ows/outdoor-ws.jpg
Mark set
(Shell command succeeded with no output)
https://dataswamp.org/~incal/pimgs/ows/syndicalist-project.jpg
Mark set 
previous-line: Beginning of buffer 
Mark set
Changed directory automatically updated
hit: 9129
Saving file /home/incal/.mailrc...
Wrote /home/incal/.mailrc
Mark set 
Ispell process killed
Local Ispell dictionary set to svenska
Starting new Ispell process ispell with svenska dictionary...done
Spell-checking region using ispell with svenska dictionary...done
Spell-checking region using ispell with svenska dictionary...
Personal dictionary saved.
Spell-checking region using ispell with svenska dictionary...done
Spell-checking region using ispell with svenska dictionary...done
Spell-checking region using ispell with svenska dictionary...done
Quit
Mark set 
Sending...
Sending via mail...
Sending email  
Sending email 51% 
Sending email 83% 
Sending email done
Sending...done
Ispell process killed
Starting new Ispell process ispell with american-insane dictionary...done
Spell-checking region using ispell with american-insane dictionary...done
Spell-checking region using ispell with american-insane dictionary...done
Saving file /home/incal/.newsrc-dribble...
Wrote /home/incal/.newsrc-dribble
 ...
 o-)
 ...
 o-)
 ...
 o-)
 ...
 o-)
Saving file /home/incal/.newsrc-dribble...
Wrote /home/incal/.newsrc-dribble
 ...
 o-)
 ...
 o-)
 ...
 o-)
 ...
 o-)
Type M-x help-quit to restore previous buffer.
Parsing /home/incal/.mailrc... done
Mark set 
Error during redisplay: (jit-lock-function 354) signaled (void-variable font-lock-reference-face)
Error during redisplay: (jit-lock-function 366) signaled (void-variable font-lock-reference-face) 
Mark set
Local Ispell dictionary set to american-insane
Spell-checking region using ispell with american-insane dictionary...done
Spell-checking region using ispell with american-insane dictionary...done
Spell-checking region using ispell with american-insane dictionary...done
Sending...
Sending news via news.gmane.io using nntp...
Sending...done
Saving file /home/incal/.newsrc-dribble...
Wrote /home/incal/.newsrc-dribble
 ...
 o-)
funcall-interactively: Text is read-only 
Ispell process killed
Starting new Ispell process ispell with default dictionary...done
Spell-checking region using ispell with default dictionary...done
 ...
pop3 retrieved 0KB (0%) 
pop3 retrieved 8KB (0%)
pop3 retrieved 16KB (0%) 
pop3 retrieved 24KB (0%) 
pop3 retrieved 32KB (0%) 
pop3 retrieved 40KB (0%) 
pop3 retrieved 49KB (0%) 
pop3 retrieved 57KB (0%) 
pop3 retrieved 65KB (0%) 
pop3 retrieved 73KB (1%) 
pop3 retrieved 81KB (1%) 
pop3 retrieved 90KB (1%) 
pop3 retrieved 98KB (1%) 
pop3 retrieved 106KB (1%) 
pop3 retrieved 114KB (1%)
pop3 retrieved 122KB (1%) 
pop3 retrieved 131KB (1%) 
pop3 retrieved 139KB (1%) 
pop3 retrieved 147KB (2%) 
pop3 retrieved 155KB (2%) 
pop3 retrieved 163KB (2%) 
pop3 retrieved 172KB (2%) 
pop3 retrieved 180KB (2%) 
pop3 retrieved 188KB (2%) 
pop3 retrieved 196KB (2%)
pop3 retrieved 204KB (2%) 
pop3 retrieved 212KB (2%) 
pop3 retrieved 221KB (3%) 
pop3 retrieved 229KB (3%) 
pop3 retrieved 237KB (3%) 
pop3 retrieved 245KB (3%) 
pop3 retrieved 253KB (3%) 
pop3 retrieved 262KB (3%) 
pop3 retrieved 270KB (3%) 
pop3 retrieved 278KB (3%) 
pop3 retrieved 286KB (4%) 
pop3 retrieved 294KB (4%)
pop3 retrieved 303KB (4%) 
pop3 retrieved 311KB (4%) 
pop3 retrieved 319KB (4%)
pop3 retrieved 327KB (4%) 
pop3 retrieved 335KB (4%) 
pop3 retrieved 344KB (4%) 
pop3 retrieved 352KB (4%)
pop3 retrieved 360KB (5%) 
pop3 retrieved 368KB (5%) 
pop3 retrieved 376KB (5%) 
pop3 retrieved 385KB (5%) 
pop3 retrieved 393KB (5%) 
pop3 retrieved 425KB (5%) 
pop3 retrieved 434KB (6%) 
pop3 retrieved 442KB (6%)
pop3 retrieved 450KB (6%) 
pop3 retrieved 458KB (6%)
pop3 retrieved 466KB (6%) 
pop3 retrieved 475KB (6%)
pop3 retrieved 483KB (6%) 
pop3 retrieved 491KB (6%) 
pop3 retrieved 499KB (6%)
pop3 retrieved 507KB (7%) 
pop3 retrieved 516KB (7%)
pop3 retrieved 524KB (7%) 
pop3 retrieved 532KB (7%)
pop3 retrieved 540KB (7%) 
pop3 retrieved 548KB (7%) 
pop3 retrieved 557KB (7%) 
pop3 retrieved 565KB (7%) 
pop3 retrieved 573KB (8%)
pop3 retrieved 581KB (8%) 
pop3 retrieved 589KB (8%)
pop3 retrieved 598KB (8%)
pop3 retrieved 606KB (8%) 
pop3 retrieved 614KB (8%)
pop3 retrieved 622KB (8%)
pop3 retrieved 630KB (8%) 
pop3 retrieved 638KB (8%)
pop3 retrieved 647KB (9%)
pop3 retrieved 655KB (9%)
pop3 retrieved 663KB (9%)
pop3 retrieved 671KB (9%) 
pop3 retrieved 679KB (9%)
pop3 retrieved 688KB (9%) 
pop3 retrieved 696KB (9%)
pop3 retrieved 704KB (9%)
pop3 retrieved 712KB (9%) 
pop3 retrieved 720KB (10%)
pop3 retrieved 729KB (10%) 
pop3 retrieved 737KB (10%)
pop3 retrieved 761KB (10%)
pop3 retrieved 770KB (10%)
pop3 retrieved 778KB (10%) 
pop3 retrieved 786KB (10%)
pop3 retrieved 794KB (11%) 
pop3 retrieved 802KB (11%)
pop3 retrieved 811KB (11%)
pop3 retrieved 819KB (11%) 
pop3 retrieved 827KB (11%)
pop3 retrieved 835KB (11%)
pop3 retrieved 843KB (11%) 
pop3 retrieved 851KB (11%)
pop3 retrieved 860KB (12%) 
pop3 retrieved 868KB (12%)
pop3 retrieved 876KB (12%)
pop3 retrieved 884KB (12%) 
pop3 retrieved 892KB (12%)
pop3 retrieved 901KB (12%)
pop3 retrieved 909KB (12%) 
pop3 retrieved 917KB (12%)
pop3 retrieved 925KB (12%)
pop3 retrieved 933KB (13%)
pop3 retrieved 942KB (13%)
pop3 retrieved 950KB (13%) 
pop3 retrieved 958KB (13%)
pop3 retrieved 966KB (13%)
pop3 retrieved 974KB (13%) 
pop3 retrieved 991KB (13%) 
pop3 retrieved 1007KB (14%)
pop3 retrieved 1023KB (14%) 
pop3 retrieved 1032KB (14%)
pop3 retrieved 1040KB (14%)
pop3 retrieved 1048KB (14%) 
pop3 retrieved 1056KB (14%)
pop3 retrieved 1064KB (14%)
pop3 retrieved 1073KB (14%) 
pop3 retrieved 1089KB (15%) 
pop3 retrieved 1097KB (15%)
pop3 retrieved 1105KB (15%)
pop3 retrieved 1114KB (15%) 
pop3 retrieved 1122KB (15%)
pop3 retrieved 1130KB (15%) 
pop3 retrieved 1138KB (15%)
pop3 retrieved 1146KB (16%)
pop3 retrieved 1155KB (16%) 
pop3 retrieved 1163KB (16%)
pop3 retrieved 1171KB (16%)
pop3 retrieved 1179KB (16%) 
pop3 retrieved 1187KB (16%)
pop3 retrieved 1196KB (16%)
pop3 retrieved 1204KB (16%)
pop3 retrieved 1212KB (16%)
pop3 retrieved 1220KB (17%)
pop3 retrieved 1228KB (17%)
pop3 retrieved 1236KB (17%)
pop3 retrieved 1245KB (17%)
pop3 retrieved 1253KB (17%)
pop3 retrieved 1261KB (17%)
pop3 retrieved 1269KB (17%)
pop3 retrieved 1277KB (17%)
pop3 retrieved 1286KB (17%)
pop3 retrieved 1294KB (18%)
pop3 retrieved 1302KB (18%)
pop3 retrieved 1310KB (18%)
pop3 retrieved 1318KB (18%)
pop3 retrieved 1327KB (18%)
pop3 retrieved 1335KB (18%)
pop3 retrieved 1343KB (18%)
pop3 retrieved 1351KB (18%)
pop3 retrieved 1359KB (18%)
pop3 retrieved 1368KB (19%)
pop3 retrieved 1376KB (19%)
pop3 retrieved 1384KB (19%)
pop3 retrieved 1392KB (19%)
pop3 retrieved 1400KB (19%)
pop3 retrieved 1409KB (19%)
pop3 retrieved 1417KB (19%)
pop3 retrieved 1458KB (20%)
pop3 retrieved 1466KB (20%)
pop3 retrieved 1474KB (20%)
pop3 retrieved 1482KB (20%) 
pop3 retrieved 1523KB (21%) 
pop3 retrieved 1540KB (21%)
pop3 retrieved 1548KB (21%) 
pop3 retrieved 1572KB (21%)
pop3 retrieved 1581KB (22%)
pop3 retrieved 1589KB (22%)
pop3 retrieved 1597KB (22%)
pop3 retrieved 1605KB (22%)
pop3 retrieved 1613KB (22%)
pop3 retrieved 1630KB (22%)
pop3 retrieved 1638KB (22%)
pop3 retrieved 1646KB (22%)
pop3 retrieved 1654KB (23%)
pop3 retrieved 1662KB (23%)
pop3 retrieved 1671KB (23%)
pop3 retrieved 1679KB (23%)
pop3 retrieved 1687KB (23%)
pop3 retrieved 1695KB (23%)
pop3 retrieved 1703KB (23%)
pop3 retrieved 1712KB (23%)
pop3 retrieved 1720KB (24%)
pop3 retrieved 1728KB (24%)
pop3 retrieved 1744KB (24%)
pop3 retrieved 1753KB (24%)
pop3 retrieved 1761KB (24%)
pop3 retrieved 1769KB (24%)
pop3 retrieved 1777KB (24%)
pop3 retrieved 1785KB (24%)
pop3 retrieved 1802KB (25%)
pop3 retrieved 1810KB (25%)
pop3 retrieved 1818KB (25%)
pop3 retrieved 1826KB (25%)
pop3 retrieved 1835KB (25%)
pop3 retrieved 1843KB (25%)
pop3 retrieved 1851KB (25%)
pop3 retrieved 1859KB (25%)
pop3 retrieved 1875KB (26%)
pop3 retrieved 1884KB (26%) 
pop3 retrieved 1925KB (26%)
pop3 retrieved 1933KB (26%)
pop3 retrieved 1941KB (27%)
pop3 retrieved 1949KB (27%)
pop3 retrieved 1957KB (27%)
pop3 retrieved 1974KB (27%)
pop3 retrieved 1982KB (27%)
pop3 retrieved 1998KB (27%)
pop3 retrieved 2007KB (28%)
pop3 retrieved 2023KB (28%)
pop3 retrieved 2031KB (28%)
pop3 retrieved 2047KB (28%)
pop3 retrieved 2056KB (28%)
pop3 retrieved 2064KB (28%)
pop3 retrieved 2072KB (28%)
pop3 retrieved 2080KB (29%)
pop3 retrieved 2097KB (29%)
pop3 retrieved 2113KB (29%)
pop3 retrieved 2121KB (29%)
pop3 retrieved 2138KB (29%)
pop3 retrieved 2146KB (29%)
pop3 retrieved 2154KB (30%)
pop3 retrieved 2170KB (30%)
pop3 retrieved 2179KB (30%)
pop3 retrieved 2195KB (30%)
pop3 retrieved 2203KB (30%)
pop3 retrieved 2211KB (30%) 
pop3 retrieved 2228KB (31%) 
pop3 retrieved 2260KB (31%)
pop3 retrieved 2269KB (31%)
pop3 retrieved 2285KB (31%)
pop3 retrieved 2293KB (32%)
pop3 retrieved 2301KB (32%)
pop3 retrieved 2310KB (32%)
pop3 retrieved 2318KB (32%)
pop3 retrieved 2326KB (32%)
pop3 retrieved 2334KB (32%)
pop3 retrieved 2342KB (32%)
pop3 retrieved 2359KB (32%)
pop3 retrieved 2367KB (33%)
pop3 retrieved 2375KB (33%)
pop3 retrieved 2383KB (33%)
pop3 retrieved 2400KB (33%)
pop3 retrieved 2408KB (33%)
pop3 retrieved 2424KB (33%)
pop3 retrieved 2433KB (33%)
pop3 retrieved 2441KB (34%)
pop3 retrieved 2449KB (34%)
pop3 retrieved 2465KB (34%)
pop3 retrieved 2473KB (34%)
pop3 retrieved 2482KB (34%)
pop3 retrieved 2498KB (34%)
pop3 retrieved 2506KB (34%)
pop3 retrieved 2514KB (35%)
pop3 retrieved 2523KB (35%) 
pop3 retrieved 2539KB (35%)
pop3 retrieved 2547KB (35%)
pop3 retrieved 2580KB (36%)
pop3 retrieved 2588KB (36%)
pop3 retrieved 2596KB (36%)
pop3 retrieved 2605KB (36%)
pop3 retrieved 2621KB (36%)
pop3 retrieved 2629KB (36%)
pop3 retrieved 2637KB (36%)
pop3 retrieved 2646KB (36%)
pop3 retrieved 2654KB (37%)
pop3 retrieved 2670KB (37%)
pop3 retrieved 2678KB (37%)
pop3 retrieved 2686KB (37%)
pop3 retrieved 2695KB (37%)
pop3 retrieved 2703KB (37%) 
pop3 retrieved 2727KB (38%)
pop3 retrieved 2744KB (38%)
pop3 retrieved 2752KB (38%)
pop3 retrieved 2760KB (38%)
pop3 retrieved 2768KB (38%)
pop3 retrieved 2777KB (38%)
pop3 retrieved 2793KB (38%)
pop3 retrieved 2801KB (39%)
pop3 retrieved 2809KB (39%)
pop3 retrieved 2818KB (39%)
pop3 retrieved 2826KB (39%)
pop3 retrieved 2834KB (39%) 
pop3 retrieved 2859KB (39%)
pop3 retrieved 2867KB (40%)
pop3 retrieved 2875KB (40%)
pop3 retrieved 2883KB (40%)
pop3 retrieved 2891KB (40%)
pop3 retrieved 2899KB (40%)
pop3 retrieved 2908KB (40%)
pop3 retrieved 2916KB (40%)
pop3 retrieved 2924KB (40%)
pop3 retrieved 2932KB (40%)
pop3 retrieved 2940KB (41%)
pop3 retrieved 2957KB (41%)
pop3 retrieved 2965KB (41%)
pop3 retrieved 2973KB (41%)
pop3 retrieved 2981KB (41%)
pop3 retrieved 2990KB (41%)
pop3 retrieved 2998KB (41%)
pop3 retrieved 3006KB (41%)
pop3 retrieved 3014KB (42%)
pop3 retrieved 3031KB (42%)
pop3 retrieved 3039KB (42%)
pop3 retrieved 3047KB (42%)
pop3 retrieved 3055KB (42%)
pop3 retrieved 3071KB (42%)
pop3 retrieved 3080KB (42%)
pop3 retrieved 3096KB (43%)
pop3 retrieved 3104KB (43%)
pop3 retrieved 3121KB (43%)
pop3 retrieved 3129KB (43%)
pop3 retrieved 3145KB (43%)
pop3 retrieved 3153KB (44%)
pop3 retrieved 3170KB (44%)
pop3 retrieved 3178KB (44%)
pop3 retrieved 3203KB (44%)
pop3 retrieved 3211KB (44%)
pop3 retrieved 3227KB (45%)
pop3 retrieved 3235KB (45%)
pop3 retrieved 3260KB (45%) 
pop3 retrieved 3284KB (45%)
pop3 retrieved 3293KB (45%)
pop3 retrieved 3317KB (46%) 
pop3 retrieved 3350KB (46%) 
pop3 retrieved 3383KB (47%)
pop3 retrieved 3391KB (47%)
pop3 retrieved 3416KB (47%)
pop3 retrieved 3424KB (47%)
pop3 retrieved 3448KB (48%) 
pop3 retrieved 3481KB (48%) 
pop3 retrieved 3514KB (49%) 
pop3 retrieved 3522KB (49%)
pop3 retrieved 3547KB (49%)
pop3 retrieved 3571KB (49%)
pop3 retrieved 3579KB (49%)
pop3 retrieved 3596KB (50%)
pop3 retrieved 3612KB (50%)
pop3 retrieved 3629KB (50%)
pop3 retrieved 3637KB (50%)
pop3 retrieved 3653KB (50%)
pop3 retrieved 3670KB (51%)
pop3 retrieved 3686KB (51%)
pop3 retrieved 3702KB (51%)
pop3 retrieved 3719KB (51%)
pop3 retrieved 3727KB (52%)
pop3 retrieved 3743KB (52%)
pop3 retrieved 3760KB (52%)
pop3 retrieved 3776KB (52%)
pop3 retrieved 3792KB (52%)
pop3 retrieved 3809KB (53%)
pop3 retrieved 3825KB (53%)
pop3 retrieved 3850KB (53%)
pop3 retrieved 3858KB (53%)
pop3 retrieved 3883KB (54%)
pop3 retrieved 3891KB (54%)
pop3 retrieved 3915KB (54%)
pop3 retrieved 3932KB (54%)
pop3 retrieved 3981KB (55%)
pop3 retrieved 4005KB (55%)
pop3 retrieved 4014KB (56%) 
pop3 retrieved 4063KB (56%)
pop3 retrieved 4071KB (56%)
pop3 retrieved 4095KB (57%)
pop3 retrieved 4104KB (57%)
pop3 retrieved 4120KB (57%)
pop3 retrieved 4128KB (57%)
pop3 retrieved 4153KB (57%)
pop3 retrieved 4161KB (58%)
pop3 retrieved 4186KB (58%)
pop3 retrieved 4194KB (58%)
pop3 retrieved 4210KB (58%)
pop3 retrieved 4227KB (59%)
pop3 retrieved 4251KB (59%)
pop3 retrieved 4259KB (59%)
pop3 retrieved 4276KB (59%)
pop3 retrieved 4292KB (59%)
pop3 retrieved 4308KB (60%)
pop3 retrieved 4325KB (60%)
pop3 retrieved 4349KB (60%)
pop3 retrieved 4358KB (60%)
pop3 retrieved 4382KB (61%)
pop3 retrieved 4390KB (61%)
pop3 retrieved 4423KB (61%)
pop3 retrieved 4431KB (61%)
pop3 retrieved 4456KB (62%)
pop3 retrieved 4464KB (62%)
pop3 retrieved 4497KB (62%)
pop3 retrieved 4505KB (62%)
pop3 retrieved 4530KB (63%)
pop3 retrieved 4538KB (63%)
pop3 retrieved 4571KB (63%)
pop3 retrieved 4579KB (63%)
pop3 retrieved 4603KB (64%)
pop3 retrieved 4612KB (64%)
pop3 retrieved 4644KB (64%) 
pop3 retrieved 4726KB (65%)
pop3 retrieved 4734KB (66%)
pop3 retrieved 4759KB (66%)
pop3 retrieved 4767KB (66%)
pop3 retrieved 4792KB (66%)
pop3 retrieved 4808KB (67%)
pop3 retrieved 4825KB (67%)
pop3 retrieved 4833KB (67%)
pop3 retrieved 4849KB (67%)
pop3 retrieved 4857KB (67%)
pop3 retrieved 4874KB (68%)
pop3 retrieved 4898KB (68%)
pop3 retrieved 4915KB (68%)
pop3 retrieved 4923KB (68%)
pop3 retrieved 4947KB (69%)
pop3 retrieved 4956KB (69%)
pop3 retrieved 4964KB (69%)
pop3 retrieved 4980KB (69%)
pop3 retrieved 4997KB (69%)
pop3 retrieved 5013KB (69%)
pop3 retrieved 5029KB (70%)
pop3 retrieved 5046KB (70%)
pop3 retrieved 5070KB (70%)
pop3 retrieved 5087KB (71%)
pop3 retrieved 5103KB (71%)
pop3 retrieved 5119KB (71%)
pop3 retrieved 5136KB (71%)
pop3 retrieved 5160KB (72%)
pop3 retrieved 5177KB (72%)
pop3 retrieved 5210KB (72%)
pop3 retrieved 5226KB (72%)
pop3 retrieved 5242KB (73%)
pop3 retrieved 5267KB (73%)
pop3 retrieved 5292KB (73%)
pop3 retrieved 5316KB (74%)
pop3 retrieved 5341KB (74%)
pop3 retrieved 5365KB (74%)
pop3 retrieved 5382KB (75%)
pop3 retrieved 5390KB (75%)
pop3 retrieved 5431KB (75%)
pop3 retrieved 5447KB (76%)
pop3 retrieved 5472KB (76%)
pop3 retrieved 5488KB (76%)
pop3 retrieved 5521KB (77%)
pop3 retrieved 5537KB (77%)
pop3 retrieved 5554KB (77%)
pop3 retrieved 5578KB (77%)
pop3 retrieved 5603KB (78%)
pop3 retrieved 5611KB (78%)
pop3 retrieved 5636KB (78%)
pop3 retrieved 5660KB (79%)
pop3 retrieved 5685KB (79%)
pop3 retrieved 5701KB (79%)
pop3 retrieved 5726KB (79%)
pop3 retrieved 5742KB (80%)
pop3 retrieved 5758KB (80%)
pop3 retrieved 5783KB (80%)
pop3 retrieved 5808KB (81%)
pop3 retrieved 5832KB (81%)
pop3 retrieved 5840KB (81%)
pop3 retrieved 5849KB (81%)
pop3 retrieved 5890KB (82%)
pop3 retrieved 5906KB (82%)
pop3 retrieved 5922KB (82%)
pop3 retrieved 5947KB (83%)
pop3 retrieved 5963KB (83%)
pop3 retrieved 5988KB (83%)
pop3 retrieved 6004KB (83%)
pop3 retrieved 6029KB (84%)
pop3 retrieved 6053KB (84%)
pop3 retrieved 6078KB (84%)
pop3 retrieved 6103KB (85%)
pop3 retrieved 6127KB (85%)
pop3 retrieved 6152KB (85%)
pop3 retrieved 6176KB (86%)
pop3 retrieved 6201KB (86%)
pop3 retrieved 6234KB (87%)
pop3 retrieved 6258KB (87%)
pop3 retrieved 6283KB (87%) 
pop3 retrieved 6324KB (88%)
pop3 retrieved 6348KB (88%)
pop3 retrieved 6365KB (88%)
pop3 retrieved 6373KB (88%)
pop3 retrieved 6406KB (89%)
pop3 retrieved 6422KB (89%)
pop3 retrieved 6447KB (89%)
pop3 retrieved 6463KB (90%)
pop3 retrieved 6479KB (90%)
pop3 retrieved 6520KB (91%)
pop3 retrieved 6537KB (91%)
pop3 retrieved 6561KB (91%)
pop3 retrieved 6586KB (91%)
pop3 retrieved 6610KB (92%)
pop3 retrieved 6635KB (92%)
pop3 retrieved 6660KB (92%)
pop3 retrieved 6684KB (93%)
pop3 retrieved 6709KB (93%)
pop3 retrieved 6733KB (93%)
pop3 retrieved 6766KB (94%)
pop3 retrieved 6791KB (94%)
pop3 retrieved 6823KB (95%)
pop3 retrieved 6848KB (95%)
pop3 retrieved 6881KB (96%)
pop3 retrieved 6914KB (96%) 
pop3 retrieved 6963KB (97%)
pop3 retrieved 6987KB (97%)
pop3 retrieved 7012KB (97%)
pop3 retrieved 7036KB (98%)
pop3 retrieved 7061KB (98%)
pop3 retrieved 7094KB (99%)
pop3 retrieved 7118KB (99%)
pop3 retrieved 7143KB (99%)
pop3 retrieved 7164KB (100%)

-- 
underground experts united
https://dataswamp.org/~incal



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: download in background?
  2023-03-11 10:10 download in background? Emanuel Berg
@ 2023-07-13  0:36 ` Fernando de Morais
  2023-07-13 18:34   ` dick
  0 siblings, 1 reply; 5+ messages in thread
From: Fernando de Morais @ 2023-07-13  0:36 UTC (permalink / raw)
  To: ding

[-- Attachment #1: Type: text/plain, Size: 2865 bytes --]

Hello Emanuel,

Emanuel Berg <incal@dataswamp.org> writes:

> Can we have - not have this? 
>
> Is it difficult to do, to have it in the background with maybe
>  in the mode bar or something ...
>
> The Emacs OS anyone?
>
> How would you do that?

Sorry, unfortunately this message will be a bit long...  😥

In my time using Rmail, I needed a similar solution.

In the configurations of cadadr[1] and Alex Schroeder[2] I've found appropriate
solutions for what I needed, however I insisted on using the tools I already had
on my system, in this case `movemail' from GNU Mailutils, as Rmail needed it for
some operations.

So I wrote my own ``solution'' (attached---straight from my `init.el').
Basically, its only a library for use `movemail' from Emacs and some small
extensions to auto-fetch emails periodically and asynchronously.  Each account
had their emails stored in a different MBOX file (or a single one, as I prefer
this days) in a folder.  So I could set this directory as a value to the
variable `display-time-mail-directory' and, when detecting that the files are no
longer empty, the indicator of new mail is shown in the `mode-line'.

When I migrated back to Gnus, I continued using the same method, out of
laziness.  I simply set the `mail-sources' variable as below:

#+begin_src emacs-lisp
  (setopt mail-sources '((file :path "~/Mail/spool")))
#+end_src

My ``solution'' always seemed pretty bloated to me and I believe we already have
appropriate libraries in Emacs to auto-fetch emails, in this case
`mail-source.el'.  What we need, I think, is just to find a way to make it work
asynchronously.

I've been thinking about this for a while now.  It seems to me that we already
have the tools to make Gnus fetch new news asynchronously.  Very inspired by
some suggestions from an EmacsWiki[3] page, here with my settings, for example, if
I do the following, with Gnus loaded and open in an Emacs instance:

1. Open a new Emacs;
2. On the new instance, run `M-x gnus-child';
3. Wait for it to be loaded, then `M-x gnus-group-exit';
4. On the main instance, unplug Gnus (`gnus-agent-toggle-plugged');
5. And then `M-x gnus-group-restart'.

News fetched with `gnus-child' are loaded in the "Parent" instance.  I don't
know if we could, in the current state of things, replicate this recipe in a
`start-process' or by making use of `async.el'...  Perhaps a dear Gnus
maintainer can give us some direction on this possibility.

If you want to make use of my ``solution'' with `movemail' from GNU Mailutils
and need some help, just get in touch and I'll help in any way I can.


Footnotes:
[1]  https://cadadr.dreamwidth.org/828.html

[2]  https://alexschroeder.ch/wiki/2020-12-17_Rmail

[3]  https://www.emacswiki.org/emacs/GnusSpeed#h5o-26

-- 
Regards,
Fernando de Morais.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: movemail.org --]
[-- Type: text/x-org, Size: 15420 bytes --]

* Movemail

#+begin_src emacs-lisp
  (defgroup movemail nil
    "GNU Mailutils movemail interface for GNU Emacs."
    :group 'external
    :prefix "movemail-"
    :tag "Movemail")

  (defcustom movemail-command "movemail"
    "Command for calling movemail.

  Do not set options in this variable.  To do so, customize
  `movemail-flags'."
    :type 'string
    :group 'movemail)

  (defcustom movemail-flags '("--emacs" "--ignore-errors")
    "List of flags to pass to movemail execution.

  Execute \\[movemail-help] to view a complete list of flags."
    :type '(repeat string)
    :group 'movemail)

  (defcustom movemail-use-tickets nil
    "Whether to use the tickets file for retrieving credentials.

  This file will be used to get the password for a remote
  connection with the desired mailbox(es), but only if the
  `auth-source' method fails."
    :type 'boolean
    :initialize #'custom-initialize-set
    :set (lambda (symbol value)
           (set-default symbol value)
           (when value
             (add-to-list 'auth-sources "~/.mu-tickets")))
    :group 'movemail)

  (defun movemail--check-installation (&optional fun fun-args)
    "Verify if movemail is installed.
  If passed, optional FUN can be applied with optional FUN-ARGS,
  when movemail is located."
    (let ((program movemail-command))
      (if (executable-find program)
          (when fun
            (apply fun fun-args))
        (error "Could not find %s in `exec-path'" program))))

  (defun movemail--get-password (mailbox host port prompt)
    "Get password to move mail from remote servers.
  The password will be searched through `auth-source', associating
  it with MAILBOX, HOST and PORT.  When it fails, the credentials
  stored in \"~/.mu-tickets\" file will be used by movemail.  If
  `movemail-use-tickets' is nil or the file is absent, the user
  will be prompted for a password instead, with a custom PROMPT."
    (let ((remote-password nil))
      (setq remote-password
            (let ((found (nth 0 (auth-source-search
                                 :max 1
                                 :user mailbox
                                 :host host
                                 :port port
                                 :require '(:secret)))))
              (if found
                  (let ((secret (plist-get found :secret)))
                    (if (functionp secret)
                        (funcall secret)
                      secret))
                (unless (and movemail-use-tickets
                             (file-exists-p "~/.mu-tickets"))
                  (read-passwd prompt)))))))

  (defun movemail--get-prompt (proto)
    "Return a prompt, according to PROTO, for password request."
    (cond
     ((string-match-p "\\(?:imaps?\\)" proto)
      "IMAP password: ")
     ((string-match-p "\\(?:pops?\\)" proto)
      "POP password: ")
     ((string-match-p "smtp" proto)
      "SMTP password: ")))

  (defun movemail-help ()
    "Generate a buffer containing movemail help information."
    (interactive)
    (let* ((command (list (concat movemail-command " --help")))
           (contents (movemail--check-installation
                      #'shell-command-to-string command))
           (buffer "*Movemail Help*"))
      (with-help-window buffer
        (with-current-buffer buffer
          (princ contents)))))

  (defun movemail-version ()
    "Echo movemail version information."
    (interactive)
    (let* ((command (list (concat movemail-command " -V")))
           (contents (movemail--check-installation
                      #'shell-command-to-string command)))
      (message (string-trim contents))))

  (defun movemail-move-mail (orig dest &optional pop-pass id)
    "Move mail, asynchronously, from one mailbox to another.
  ORIG and DEST must be alists whose elements have the form (KEY
  . VALUE) that are intended to represent the components of a link
  accepted by movemail.  Those are specified in the Info
  node `(emacs) Movemail'.

  Here, KEY can be one of the following:

  protocol:	VALUE must be one of the protocols supported by
                  movemail.
  user:		VALUE must be the username for the mailbox.
  password:	VALUE must represent the password used for
                  authentication.
  auth-mechanism: VALUE must contain the mechanisms used for
                  authentication, when more than one, separated by
                  commas.
  port:		VALUE must be a string containing the port of the
                  remote server.
  imap-folder:	VALUE must be the name of the folder to be
                  accessed over an IMAP connection.
  extra-params:	VALUE must contain extra parameters, separated by
                  semicolons (when more than one).
  file-name:	VALUE must contain the name of a file or directory.

  For example, the link:

      imaps://my.email%40example.com@imap.example.com:993/all

  Can be represented in the following alist:

      ((protocol . \"imaps\")
       (user . \"my.email@example.com\")
       (host . \"imap.example.com\")
       (port . \"993\")
       (imap-folder . \"all\"))

  It is worth noting that certain cons cells are specific to
  certain protocols, such as \"auth-mechanisms\" and
  \"extra-params\", commonly used in POP and SMTP connections, as
  well as the \"file-name\", which should be used to represent
  links that point to local files or directories.

  The optional POP-PASS is here for the sake of completeness: it
  will only be used if ORIG represents a link to a POP connection
  and if the KEY \"password\" is nil.  Finally, the optional ID
  must be a string that will be concatenated to the name of the
  process in the form \"movemail--id\"."
    (let ((creds (list orig dest))
          (links '(orig-link dest-link))
          (use-pop-pass nil))
      (while creds
        (let-alist (car creds)
          (if (not .protocol)
              (setf (symbol-value (car links)) (expand-file-name .file-name)
                    creds (cdr creds)
                    links (cdr links))
            (setf (symbol-value (car links))
                  (concat .protocol
                          "://"
                          (if (not (string-match-p
                                    "\\(?:imaps?\\|pops?\\|smtp\\)" .protocol))
                              (expand-file-name .file-name)
                            (concat
                             (replace-regexp-in-string "@" "%40" .user)
                             (if .password
                                 (concat ":" .password)
                               (if (and (length= creds 2)
                                        (string-match-p "\\(?:pops?\\)" .protocol)
                                        pop-pass)
                                   (progn
                                     (setq use-pop-pass t)
                                     nil)
                                 (concat ":" (movemail--get-password
                                              .user
                                              .host
                                              .port
                                              (movemail--get-prompt .protocol)))))
                             (when (and .password .auth-mechanisms)
                               (concat ";" .auth-mechanisms))
                             "@"
                             .host
                             (when .port (concat ":" .port))
                             (when .imap-folder (concat "/" .imap-folder))
                             (when .extra-params (concat ";" .extra-params)))))
                  creds (cdr creds)
                  links (cdr links)))))
      (movemail--check-installation #'start-process
                                    (flatten-tree
                                     (list (concat "movemail"
                                                   (when id (concat "--" id)))
                                           "*Movemail*"
                                           movemail-command
                                           movemail-flags
                                           orig-link
                                           dest-link
                                           (if use-pop-pass pop-pass ""))))))
#+end_src

#+begin_src emacs-lisp
  ;; Movemail extension: credentials system
#+end_src

#+begin_src emacs-lisp
  (defgroup movemail-credentials nil
    "Provide information to `movemail' from a lisp-data file."
    :group 'movemail
    :prefix "movemail-credentials-"
    :tag "Movemail Credentials")

  (defcustom movemail-credentials-file (expand-file-name
                                        "credentials.el"
                                        user-emacs-directory)
    "File that stores the credentials used by `movemail'.

  This must to be a lisp-data file, encrypted or not, containing
  alists whose elements can be structured as follows:

      ((foo . ((ignore . nil)
               (mail-address . \"foo@example.com\")
               (password . \"p4s3w0rd\")
               (fetch-auth . \"auth=+APOP\")
               (fetch-protocol . \"pop\")
               (fetch-server . \"pop.example.com\")
               (fetch-port . \"110\")
               (fetch-params . \"notls\")
               (inbox-filename . \"~/Mail/some-name\"))
       (bar . ((ignore .t)
               (mail-address . \"bar@example.com\")
               (fetch-protocol . \"imaps\")
               (fetch-server . \"imap.example.com\")
               (fetch-port . \"993\")
               (fetch-folder . \"INBOX\")
               (inbox-filename . (my-func args))))))

  The \"inbox-filename\" can be any file or destination link
  containing any local protocol supported by movemail, as well as a
  function that returns a string---it will be evaluated when
  needed.  See the Info node `(emacs) Movemail' for more details on
  supported links.

  It is not necessary to inform the password in the credentials
  file, since it will try to retrieve it through the `auth-source'.
  However, if unsuccessful, movemail will try to get the password
  from the traditional GNU Mailutils \"~/.mu-tickets\" file.  See
  the Info node `(mailutils) mailutils wicket' for more details
  about this file.  If `movemail-use-tickets' is nil or the tickets
  file is not in the home directory, the user will be asked for the
  password instead.

  Only fields that describes mail address, protocol, server and
  destination file name are strictly necessary."
    :type 'file
    :group 'movemail-credentials)

  (defun movemail-credentials-read ()
    "Read contents of the `movemail-credentials-file'."
    (let ((file movemail-credentials-file))
      (if (file-exists-p file)
          (with-temp-buffer
            (insert-file-contents file)
            (read (current-buffer)))
        (error "Credentials file \"%s\" not found"
               (file-name-nondirectory file)))))

  (defun movemail-credentials-list ()
    "Return a list of non-ignored mailboxes.

  Those are listed in the credentials file.  See
  `movemail-credentials-file' for more details."
    (let ((credentials (movemail-credentials-read))
          (mailboxes (list))
          (count 0))
      (while (< count (length credentials))
        (let ((current (nth count credentials)))
          (unless (alist-get 'ignore current)
            (push (car current) mailboxes)))
        (setq count (1+ count)))
      (nreverse mailboxes)))
#+end_src

#+begin_src emacs-lisp
  ;; Movemail extension: fetch mail helper
#+end_src

#+begin_src emacs-lisp
  (defgroup movemail-fetch nil
    "Extension to fetch mail in a convenient way with `movemail'."
    :group 'movemail
    :prefix "movemail-fetch-"
    :tag "Movemail Fetch")

  (defcustom movemail-fetch-filter nil
    "Filter function for processes started by `movemail-fetch-mail'.

  See `set-process-filter' for more info on filter functions."
    :type '(choice boolean function)
    :group 'movemail-fetch)

  (defcustom movemail-fetch-sentinel nil
    "Sentinel function for processes started by `movemail-fetch-mail'.

  See `set-process-sentinel' for more info on sentinels."
    :type 'function
    :group 'movemail-fetch)

  (defun movemail-fetch-mail ()
    "Fetch remote mail to a local inbox with `movemail-move-mail'.

  A filter and a sentinel function can be added to each movemail
  process execution setting `movemail-fetch-filter' and
  `movemail-fetch-sentinel', respectively.

  To use this function it will be necessary to create and set a
  credentials file.  See `movemail-credentials-file' for more
  information."
    (interactive)
    (let ((credentials (movemail-credentials-read))
          (mailboxes (movemail-credentials-list)))
      (while mailboxes
        (let-alist (alist-get (car mailboxes) credentials)
          (let ((id (symbol-name (car mailboxes)))
                (orig (list (cons 'protocol .fetch-protocol)
                            (cons 'user .mail-address)
                            (cons 'password .password)
                            (cons 'auth-mechanisms .fetch-auth)
                            (cons 'host .fetch-server)
                            (cons 'port .fetch-port)
                            (cons 'imap-folder .fetch-folder)
                            (cons 'extra-params .fetch-params)))
                (dest (list (cons 'file-name (eval .inbox-filename))))
                (process nil))
            (if (string-match-p
                 "\\(?:\\(?:imaps?\\|pops?\\|smtp\\)://\\)"
                 (alist-get 'file-name dest))
                (user-error "%s: \"inbox-filename\" is not a local mailbox" id)
              (setq process (movemail-move-mail orig dest nil id))
              (set-process-filter process movemail-fetch-filter)
              (when (functionp movemail-fetch-sentinel)
                (set-process-sentinel process movemail-fetch-sentinel)))))
        (setq mailboxes (cdr mailboxes)))))
#+end_src

#+begin_src emacs-lisp
  ;; Movemail extension: auto-fetch mail
#+end_src

#+begin_src emacs-lisp
  (defgroup movemail-auto-fetch nil
    "Auto-fetch extension for GNU Mailutils movemail on Emacs."
    :group 'movemail
    :prefix "movemail-auto-fetch-"
    :tag "Movemail Auto-Fetch")

  (defcustom movemail-auto-fetch-step 60
    "Time step to calculate the auto fetch frequency."
    :type 'integer
    :group 'movemail-auto-fetch)

  (defcustom movemail-auto-fetch-timer 5
    "Timer to auto fetch mails.

  The time step can be configured in `movemail-auto-fetch-step'."
    :type 'number
    :group 'movemail-auto-fetch)

  (defvar movemail-auto-fetch-object nil
    "Timer object generated from `movemail-auto-fetch-mode'.")

  (define-minor-mode movemail-auto-fetch-mode
    "Minor mode to auto-fetch mail in background with `movemail'."
    :global t
    :init-value nil
    :lighter " AFMail"
    (let ((time (* movemail-auto-fetch-step movemail-auto-fetch-timer))
          (object movemail-auto-fetch-object))
      (if (not movemail-auto-fetch-mode)
          (when (timerp object)
            (cancel-timer object)
            (setq movemail-auto-fetch-object nil))
        (unless (timerp object)
          (setq movemail-auto-fetch-object
                (run-with-timer 0 time #'movemail-fetch-mail))))))
#+end_src

#+begin_src emacs-lisp
  (add-hook 'after-init-hook #'movemail-auto-fetch-mode 100)
#+end_src


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: download in background?
  2023-07-13  0:36 ` Fernando de Morais
@ 2023-07-13 18:34   ` dick
  2023-07-13 23:39     ` Fernando de Morais
  2023-08-08 12:18     ` Björn Bidar
  0 siblings, 2 replies; 5+ messages in thread
From: dick @ 2023-07-13 18:34 UTC (permalink / raw)
  To: Fernando de Morais; +Cc: ding

FdM> Sorry, unfortunately this message will be a bit long...

It didn't need to be.  You could just say "An external movemail
process fetches mail into my display-time-mail-directory."

If your system supports POSIX threads, Commercial Emacs will fetch
asynchronously out of the box.

Here's the shell invocation that proves the point:

emacs -Q --eval "(custom-set-variables \
  (quote (gnus-select-method (quote (nnnil \"\")))) \
  (quote (gnus-use-dribble-file nil)) \
  (quote (gnus-large-newsgroup nil)) \
)" \
-l nnnil \
--eval "(defun nnnil-request-scan (&optional group server) (sleep-for 10))" \
--eval "(cl-letf (((symbol-function (quote gnus-y-or-n-p)) (function ignore))) \
           (call-interactively (quote gnus-child)))"


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: download in background?
  2023-07-13 18:34   ` dick
@ 2023-07-13 23:39     ` Fernando de Morais
  2023-08-08 12:18     ` Björn Bidar
  1 sibling, 0 replies; 5+ messages in thread
From: Fernando de Morais @ 2023-07-13 23:39 UTC (permalink / raw)
  To: dick; +Cc: ding

Hello,

dick <dick.r.chiang@gmail.com> writes:

> It didn't need to be.  You could just say "An external movemail
> process fetches mail into my display-time-mail-directory."

Thanks!  😅

> If your system supports POSIX threads, Commercial Emacs will fetch
> asynchronously out of the box.

Cool!  I was unaware of Commercial Emacs.  I'm going to test it out!
Thanks.

Is there any chance we'll have these features (asynchronous fetch)
submitted as patches for GNU Emacs?

-- 
Regards,
Fernando de Morais.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: download in background?
  2023-07-13 18:34   ` dick
  2023-07-13 23:39     ` Fernando de Morais
@ 2023-08-08 12:18     ` Björn Bidar
  1 sibling, 0 replies; 5+ messages in thread
From: Björn Bidar @ 2023-08-08 12:18 UTC (permalink / raw)
  To: dick; +Cc: Fernando de Morais, ding


One of your failed patches is now a fork? I don't think it is helpful to
refer user to a half backed fork.

Would be great if you would submit your patch asynchronous patches for
Gnus to emacs-devel.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-08 12:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-11 10:10 download in background? Emanuel Berg
2023-07-13  0:36 ` Fernando de Morais
2023-07-13 18:34   ` dick
2023-07-13 23:39     ` Fernando de Morais
2023-08-08 12:18     ` Björn Bidar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).