Dear all, Here are the meetup notes. Still getting one meetup behind in notes, but this time I have 2 weeks to finish July's one (#32) :)
TL;DR: ox-latex survey; non-Latin PDF export; exporting tagged PDFs; buffer-locals vs Org keywords; DEADLINE syntax; Org parser in Rust; large Org files; sparse trees; anju: mouse menus in org; org-export-region-to-md; importing to Org; transient menus in Org; org-inside; canvas patch + babel = jupyter notebooks; transferring data between Emacs and browsers; LLMs (local); email providers; OrgDevMeetup - As usual, we started from Emacs News https://sachachua.com/blog/2026/06/2026-06-08-emacs-news/ - Pedro (ox-latex maintainer) presented his LaTeX exporter survey results https://list.orgmode.org/cao48bk-hzrwxe4jozynhv5b12avdtj39e8fdaktqrgbguq3...@mail.gmail.com/ - In the survey, he asks people about how they use to plan changes - Main conclusions: - need better documentation - people do not understand font vs languages in latex - He also asked to re-distribute the survey on Russian-speaking and Chinese-speaking forums to not skew the results. Asking questions about using LaTeX with non-Latin languages on English-speaking mailing list yields rather predictable results - We then continued the discussion about the long-WIP and long-due-to-finish-the-review feature branch with helps with non-Latin Org documents - This review was not smooth, as Pedro and I have different views on the best way to represent language settings: I prefer to make things uniform across different LaTeX backends (polyglossia vs babel), while Pedro believes that it will be less confusing to follow the established LaTeX conventions - Both views (especially mine 😛) make some sense - We will need community input to arrive to something (asking for that input is in my todo list, yeah) - In any case, I will need to go back and finalize the review ASAP, although the accumulating patch/bug backlogs are very powerful excuses to finish this - Funnily, the original thinking about this feature was to *previous* EmacsConf. Well... hopefully we can get it merged by next EmacsConf. (famous last words) - That drifted us a bit towards discussion about EmacsConf - The call for submissions is open now https://emacsconf.org/2026/cfp/ - EmacsConf is usually quite flexible in terms of deadlines and talks They prefer recording but can also do live - A user on Mastodon asked about exporting from Org to LaTeX presentations that can be suitable for screen readers ("tagged" pdfs). There is a LaTeX package for this https://github.com/josephwright/ltx-talk https://fosstodon.org/@[email protected]/116692179506389421 - Pedro said that his experience with ltx-talk is not great. At the point when he looked into this, it was too buggy - However, we researched the topic further since that time, and ltx-talk support has been added to ox-beamer. https://list.orgmode.org/CAO48Bk_Oxu=8wzg80kfzygywnlpuj3eezcjmb1unocynkhd...@mail.gmail.com/ - Pedro (and kickingvegas) are big fans to buffer-local and directory-local variables, as they allow transferring settings between different Emacs users without having to adjust for personal configuration - Although, IMHO, the format for these settings, especially when we need to set complex Elisp vales, is not very readable - Also, as tusharhero pointed, buffer-locals are only going to work in Emacs, while Org files may also be read by third-party programs - kickingvegas mentioned yaml, but WE DID NOT TALK ABOUT YAML. NO YAML!!!111 - So, I personally often prefer in-buffer keywords for Org mode (and possibly SETUPFILE) - Of course, both the approaches are valid - Pedro have been recently pushing to mark more Org customizations with :safe keyword, so that using directory-locals is more comfortable - I do not object that approach and even documented it in https://orgmode.org/worg/org-maintenance.html - tusharhero asked whether it is possible to change word =DEADLINE= in syntax of headings - This specific english word is considered as a part of Org syntax, and is not customizeable - Sacha notes that some people take the sound of "DEADLINE" too serious. What you use the deadline for in Org mode is completely up to you, as usual. No prescribed fixed workflows. - Aleksandr Petrosyan shared his Org parser implemented in Rust - https://github.com/org-rs/org-rs/tree/full-parser - I tried it with my large files (goals.org, 15Mb as of [2026-07-14 Tue]; it was still 14Mb during the meetup), and, as all the third-party parsers do, it failed :) - It also failed on my config (public org file) https://github.com/yantar92/emacs-config/ - We figured that the failing part was one of the few parts Aleksandr wrote with LLM. - What is interesting about org-rs, is that its testing suite directly compares between org-element parser and org-rs, directly and automatically checking the compatibility - While testing the large files, we went astray discussing the growth of one's (do not point at me) .org notes - That quickly went all the way to https://xkcd.com/297/ and other talks about passing personal notes as inheritance to children - Sacha Chua correctly pointed that once you have a habit to dump all the notes and todo's into Org files, they tend to grow, never shrink. Otherwise, Org files are not that useful - people who can actually, for real, finish all the tasks they ever need to and also wish to finish, do not need the tools made by and for us, mere mortals. - More on people showing off their Org file sizes https://fosstodon.org/@nickanderson/115801477213814614 https://karl-voit.at/2020/05/03/current-org-files/ - Someone asked about my browser - It is https://www.qutebrowser.org/ customized using modus themes Configuration: https://git.sr.ht/~yantar92/emacs-config/tree/master/item/system-config.org#L3003 - Zororg asked about users of org-sparse-tree - I rarely use it, except when I am writing papers in Org and srinkle todo's and inlinetasks inside. Sparse tree gets handy to see what needs to be done. - For many files together, sparse tree does not work. What works is agenda + org-agenda-entry-text-mode - although I use org-quick-peek (from alphapapa) - another possible analogue-ish is https://github.com/nobiot/org-transclusion - kickingvegas showed a demo of his collection of context menus (mouse) for various major modes https://github.com/kickingvegas/anju https://kickingvegas.github.io/anju/Org-Mode-Context-Menu.html - He showcased several uses in Org, including menu for sorting - He also showed a custom menu that converts Org to markdown (or wise versa) - It was using pandoc, which made me immediately remind everyone that Org has built-in M-x org-export-region-to-md (and to other formats) - The opposite conversion from md to Org is trickier though - I only know doing it with pandoc. Native importer is not there - We have been discussing some ways to import from third-party format to Org, and, recently, Jack Kamm (ox-icalendar maintainer) even provided a proof of concept converting from ICS to Org using the new icalendar parser from Emacs master: https://list.orgmode.org/orgmode/[email protected]/ - There is also https://github.com/tecosaur/org-pandoc-import - But we ultimately need some Elisp-native solution just as powerful as Org export. That would require some way to parse the imported source though - Naturally, as tusharhero pointed, tree-sitter comes to mind (although the grammars there are somewhat unstable) - But TS parse tree is just part of the solution. Full import will be tricky - we need to map third-party markup concepts to Org, which may or may not be possible. Just think of comments and annotations in DOCX documents - tusharhero asked about using transient for org-todo - We are working towards that goal (but in a way that will not force using transient for users who prefer old menu) - https://list.orgmode.org/84ms41qpy1.fsf@localhost/ - Zororg asked about the status of org-inside, which is WIP built-in replacement (and enhancement) of org-appear - It is progressing well - You can follow the discussion at https://list.orgmode.org/[email protected]/T/#u - The latest thing we discussed as of [2026-07-16 Thu] is some extra features that we may consider borrowing from org-appear - Will soon go to the code review - We slightly diverted to the WIP canvas patch https://codeberg.org/MonadicSheep/emacs https://codeberg.org/MonadicSheep/pale (canvas drawing library) https://lists.gnu.org/archive/html/bug-gnu-emacs/2026-01/msg01995.html - There are a couple more demos https://tusharhero.codeberg.page/emacs-pale-canvas-and-stuff-demos.html https://github.com/minad/doom-on-emacs - This is promising, especially since the xwidget support is not ideal. I envision that we can eventually have interactive Org babel results, akin Jupyter, via html/js rendered #+begin_src python import matplotlib.pyplot as plt plt.plot(x, y) plt.show() # shows inline frame where you can zoom in/out the plot #+end_src - Canvas patch itself does not do it, but it is a pixel buffer, so we can leverage it to do whatever - Note that interactive Org notebook does not have to be js, but Jupyter integration targets html/js currently (and usually with appropriately licensed js code), so having js will give free integration at least for python blocks. - I showed a quick demo of jupyter notebook (I had jupyter installed at that time; hilariously - I ever install jupyter to show demos) - Zororg pointed to alternative notebook https://github.com/marimo-team/marimo, but that one does not matter for the purposes of Org. We are just interested in the interactive UI protocols, not python or notebooks per se. Org is already a notebook - Other promising areas that canvas could enable is things like AutoCAD visualization or Blender. That one is much harder to integrate though. Even with canvas patch merged. - Sacha mentioned mpv.el (I think) https://github.com/kljohann/mpv.el in the context that it is almost like having a video in Emacs because there is communication. But having a separate frame is rather awkward, and far cry from proper integration with Emacs buffers - Sacha Chua asked a question I missed during the meetup "is there a way an Org custom link type can mess with org-export-collect-headlines so that #+TOC can include headings that were exported by the custom link? (My use case: transcripts with chapters)" - In Org mode, what goes into TOC, is generally controlled by ~org-export-collect-headlines~. It only looks into headings. - ~org-export-collect-headlines~ operates on the Org AST, and it does not know anything about custom links (which are exported to text directly, without intermediate Org/AST representation) - There is a discussion in https://list.orgmode.org/orgmode/[email protected]/ about allowing custom links to have an AST->AST transformer that will take effect before the export kicks in. It should allow what you are looking for. However, the patch is not finished there, pending some (minor) comments. If someone takes the patch and makes it into the final shape, such feature will become available. - We then moved to the topic of browsers, starting from my usage of eww that can work decently and even create Org mode's experience with shrface package - Sacha mentioned https://github.com/bitspook/spookfox - communication between Emacs and Firefox - I personally mostly use org-protocol as a way to capture things from browser. Of course, org-protocol does not allow /sending/ data to browser - Sacha provided a demo showing how to send a JS directly into the browser - In qutebrowser, this would be a command line call, while firefox requires more dancing around (hence spookfox) - I was wondering if JS can have a practical utility that can exceed org-protocol - Daniel German gave a demo how he uses spookfox to take chatgpt chat (which is hard to export), runs custom JS, and extracts the chat directly in Org - As a random observation, I casually created a link in Org, on top of existing text. To my surprise, this was something people did not know possible. When you activate a region in Org, and press =C-c C-l=, Org will create a link with description being the selected region. - The URL needs to be entered manually, so there is indeed some room for automation. It is pretty easy though. Trivial piece of user Elisp - Since the topic of ChatGPT raised earlier, we (expectedly) moved to talk about Emacs packages to work with LLMs - Of course, gptel came into the discussion (I often use it) - Aleksandr Petrosyan also mentioned ellama (https://github.com/s-kostyaev/ellama - Miguel asked if gptel is using ChatGPT API and thus not free - Not really. gptel uses standard API, which can communicate to ChatGPT, Claude, OpenRouter, etc. It can also communicate (via the same API) with local ollama server or any other modern local LLM setup. - https://github.com/karthink/gptel/ has many examples - Nick Anderson mentioned that he is using gptel with local LLMs - Morgan asked about preferred email provider for the mailing list - This was connected to one instance of his outlook email provider (microsoft) rejecting an email from mailing list participant - The answer is that there is no requirement for email providers - Rejections like what he experienced are rare and are usually caused by email misconfiguration. I personally use posteo, but I also had instances when posteo rejected emails from gnu, for example - (That was a bug on savannah that is fixed by now and posteo was right to mark that message as invalid - savannah injected the sender field so that it was not consistent with signatures) - I switched to posteo for completely different reasons - I used gmail for a long time, but at some point I lost access to my password and my gmail-linked phone. So, I just tried to use ancient backup codes I had written down physically years back. Gmail refused to recover access despite me providing those backup codes. Basically, they arbitrarily decided that the backups are no longer enough - something I did not appreciate at all (to say lightly). - At the end, I was able to recover my password from secondary backup (from my eink reader, of all places), but I no longer use gmail as my primary address - it is not future-proof because of arbitrary policy changes. - artsi0m shared an article about various email providers https://digdeeper.club/articles/email.xhtml - Another one Morgan pointed to is https://www.fsf.org/resources/webmail-systems - At the end, I coined the idea with OrgDevMeetup, which would be a variant of this meetup, but purely focused on the code contributions to Org and helping people contribute - together. https://orgmode.org/worg/orgdevmeetup.html - I was not quite sure about the naming though, so we discussed various variants, including OrgMeetupDev, OrgDevelop, OrgCodeup, Org workshop, orgdev, OrgFreeLaborButActuallyYantarSpends2HoursExplainingTheSameThing10Times, prOgRamminG - Sacha kindly created a dedicated room on BBB https://bbb.emacsverse.org/rooms/orgdevmeetup - We also discussed the timing, finally settling on 4-6pm, UTC0 (British time), with first meetup on June 20 (third Saturday of the month) - [2026-07-27 Mon] A note from future self: https://orgmode.org/worg/orgdevmeetup.html now has alternative timing, so that both USA and Asia Pacific timezones are covered. - The meetup generally consist of me or someone else working on one of the bugs/feature requests/changes to Org. - Usually, tasks are simply coming from the bug tracker, where we have no shortage of things to do: https://tracker.orgmode.org/?types=bug :chat: [17:51] yantar92 is now the presenter [17:55] [tusharhero : VIEWER]: Hello everyone [17:56] [Sacha Chua : VIEWER]: Or we could do non-English in the chat so folks can use translation tools [17:57] [yantar92 : MODERATOR]: The most recent Emacs News: https://sachachua.com/blog/2026/06/2026-06-08-emacs-news/ [18:01] Pedro A. Aranda is now the presenter, set by yantar92 [18:02] [Aleksandr Petrosyan : VIEWER]: Can see [18:06] [Aleksandr Petrosyan : VIEWER]: We could forward this to our Emacs telegram groups [18:07] [tusharhero : VIEWER]: where do we find the survey? [18:08] [yantar92 : MODERATOR]: https://list.orgmode.org/cao48bk-hzrwxe4jozynhv5b12avdtj39e8fdaktqrgbguq3...@mail.gmail.com/ [18:11] [Sacha Chua : VIEWER]: Sure sure [18:12] [Sacha Chua : VIEWER]: Although my schedule is about to be unpredictable because of the kid's summer vacation [18:12] [Sacha Chua : VIEWER]: Definitely an EmacsConf talk though [18:12] [Sacha Chua : VIEWER]: Hahaha universal problem with the todo list [18:13] [tusharhero : VIEWER]: looks like everyone sees emacsconf as a deadline [18:13] [Sacha Chua : VIEWER]: Target date 😉 [18:15] [Aleksandr Petrosyan : VIEWER]: How much time do we have? [18:15] [tusharhero : VIEWER]: until december basically, there is a soft deadline but they don't mind if you submit it later [18:16] [tusharhero : VIEWER]: december starting [18:17] [Sacha Chua : VIEWER]: Soft target date 😉 our stress levels just go up the closer it gets to the conference, so prerecorded videos are awesome (and can get captioned), but we can handle live talks if needed [18:18] [tusharhero : VIEWER]: okay I see you don't like the word "deadline", but can we customize org to use target-date instead of deadline? [18:19] [yantar92 : MODERATOR]: DEADLINE is part of syntax. [18:19] [tusharhero : VIEWER]: oh well [18:19] [Sacha Chua : VIEWER]: Hahaha, that's why our suggested Org entry uses the DEADLINE field but also includes some text saying not to stress out just in speakers need more time [18:20] [Aleksandr Petrosyan : VIEWER]: [18:21] [Divya : VIEWER]: Thank you for the talk, Pedro. Amazing work. Good to see the exporter getting improved. [18:21] [tusharhero : VIEWER]: I use buffer local variables to highlight some words in the document [18:21] [tusharhero : VIEWER]: but it looks pretty awkward [18:22] [Aleksandr Petrosyan : VIEWER]: As another consideration, if we want org to be a general format, buffer local variables are not ideal for programs that might not have them. [18:23] [tusharhero : VIEWER]: yes it is basically a emacs only thing [18:23] [tusharhero : VIEWER]: because they run emacs lisp [18:26] [Aleksandr Petrosyan : VIEWER]: It's fairly readable [18:30] [kickingvegas : VIEWER]: use yaml? (half joking/serious) [18:30] [tusharhero : VIEWER]: not yaml please [18:30] [Miguel : VIEWER]: TOML better 😂 [18:31] [Divya : VIEWER]: sexps only [18:31] [yantar92 : MODERATOR]: https://github.com/josephwright/ltx-talk [18:32] [Aleksandr Petrosyan : VIEWER]: That would be Arkadiusz [18:33] [kickingvegas : VIEWER]: that said, the nice thing about file-local configuration is portability/independence between different Emacs install/configurations [18:34] [kickingvegas : VIEWER]: I take advantage of this most with generating documentation on a CI [18:37] [Divya : VIEWER]: Thanks! [18:37] [Aleksandr Petrosyan : VIEWER]: Thank you very much! [18:37] [kickingvegas : VIEWER]: thanks! [18:37] yantar92 is now the presenter, set by yantar92 [18:38] [Aleksandr Petrosyan : VIEWER]: Can't screenshare [18:39] [kickingvegas : VIEWER]: I can give a demo of some UI work I've done for Org mode [18:40] Aleksandr Petrosyan is now the presenter, set by yantar92 [18:40] [kickingvegas : VIEWER]: no worries [18:41] [Pedro A. Aranda : VIEWER]: Can ou pls make fonts bigger? [18:43] [daniel german : VIEWER]: please make the fonts larger! [18:44] [Nick Anderson : VIEWER]: This is the full-parser branch https://github.com/org-rs/org-rs/pull/64 ? just curious if that is the branch i should use if i wanted to run it against my corpus. [18:52] [Aleksandr Petrosyan : VIEWER]: Yes. [18:52] [Aleksandr Petrosyan : VIEWER]: https://github.com/org-rs/org-rs/tree/full-parser [18:53] [Divya : VIEWER]: Thank you for the demo. Looks really cool. It'd be nice if we can have an org parser externally, we can build external apps that can use this parser and support Org mode. [18:54] [Aleksandr Petrosyan : VIEWER]: cargo run --bin corpus-check [18:55] yantar92 is now the presenter, set by yantar92 [18:55] [Nick Anderson : VIEWER]: ty [18:59] [Miguel : VIEWER]: Later you can binary search the size/line that causes it [18:59] [Slawomir Grochowski : VIEWER]: 14MB of goals! I can't even go to gym [18:59] [William Denton : VIEWER]: lol [19:00] [Nick Anderson : VIEWER]: actually going ot he gym is completely different from it being a goal [19:00] [tusharhero : VIEWER]: I wonder how old it is? [19:00] [Slawomir Grochowski : VIEWER]: maybe this file will be pass to his children [19:01] [kickingvegas : VIEWER]: live stress testing [19:01] [Divya : VIEWER]: Ihor's life biography can be written completely from his org files. [19:01] [tusharhero : VIEWER]: https://xkcd.com/297/ [19:01] [yantar92 : MODERATOR]: https://github.com/yantar92/emacs-config/ [19:01] [tusharhero : VIEWER]: your father's ~parenthesis~ org files [19:01] [Miguel : VIEWER]: Those are good goals for all of us to have I think [19:01] [Sacha Chua : VIEWER]: Hahahaha [19:02] [Divya : VIEWER]: 18 years of Org. [19:02] [Nick Anderson : VIEWER]: I will see if i can tweak it to scan all my org files without moving them into that corpus dir. [19:02] [William Denton : VIEWER]: Ihor's Org files swat away any attempt by anyone else to comprehend their complexity. [19:02] [Sacha Chua : VIEWER]: I think practically all of us folks who use Org create more tasks than we check off, on average. Because if people actually regularly got to the bottom of their TODO lists, they probably wouldn't need the power of Org Mode. 😉 [19:02] [tusharhero : VIEWER]: it should be simple to add a cli arg for this [19:04] [Miguel : VIEWER]: What web browser is that in Emacs? [19:04] [kickingvegas : VIEWER]: thinking about it, i'd be nice to have some better tooling to automate bulk actions like archiving [19:05] [artsi0m : VIEWER]: That is Firefox probably, just customized a bit [19:05] [Divya : VIEWER]: Ihor should test his Org file on Notepad. [19:05] [tusharhero : VIEWER]: how big are they?? [19:06] [Aleksandr Petrosyan : VIEWER]: 5.1MiB [19:06] [tusharhero : VIEWER]: 113MB? [19:07] [Aleksandr Petrosyan : VIEWER]: Challenge accepted. [19:07] [Divya : VIEWER]: Wild. [19:07] [Nick Anderson : VIEWER]: https://fosstodon.org/@nickanderson/115801477213814614 [19:07] [tusharhero : VIEWER]: Should try writing a program to generate synthetic large org documents [19:07] [Sacha Chua : VIEWER]: Clearly I need to add more stuff to my Org files. =) [19:08] [artsi0m : VIEWER]: Do we accept automatically generated org files? [19:08] [Aleksandr Petrosyan : VIEWER]: We should [19:08] [kickingvegas : VIEWER]: yep, fuzz testing ftw [19:08] [tusharhero : VIEWER]: it should be easy to make a elisp script to call emacs lisp commands to write them [19:08] [Aleksandr Petrosyan : VIEWER]: That's actually a good idea. [19:09] [Aleksandr Petrosyan : VIEWER]: As long as it's valid Org-wise. [19:09] [Nick Anderson : VIEWER]: many files, but not large files. [19:09] [tusharhero : VIEWER]: yes so I think we should use org commands to create the syntax elements [19:10] [Miguel : VIEWER]: qutebrowser right? [19:10] [Miguel : VIEWER]: I looked it up yeah [19:11] [Divya : VIEWER]: What is the situation regarding org-latex-preview, Ihor? [19:11] [yantar92 : MODERATOR]: https://www.qutebrowser.org/ [19:11] [Divya : VIEWER]: I see. [19:11] [Nick Anderson : VIEWER]: Seems it will take a few hours to scan my corpus i will try to remmember to follow up and comment on the PR with some findings [19:12] [Divya : VIEWER]: The preview has improved when I last tried his changes. [19:12] [Zororg : VIEWER]: how many of you use org-sparse-tree regularly? [19:12] [Zororg : VIEWER]: i think it focuses on single file, is there sparse tree for many files together? Maybe directory? [19:13] [tusharhero : VIEWER]: i had to look it up, so I don't use it at all. [19:13] [Mara : VIEWER]: I did until it made me accidentally delete 20 headings without me noticing v.V [19:13] [tusharhero : VIEWER]: for many files, isn't that what org-agenda is used for ? [19:13] [Divya : VIEWER]: hahaha [19:13] [tusharhero : VIEWER]: of course [19:14] [Divya : VIEWER]: I love org-capture, that's the one I use regularly at least 2 times an hour. [19:15] [Zororg : VIEWER]: i use tempel (template) with org-capture.. anyone does something like this? [19:15] [tusharhero : VIEWER]: cool composition [19:15] [Divya : VIEWER]: I wrote custom templates some years ago, and have been living with that. [19:15] [tusharhero : VIEWER]: I don't take full advantage of org capture templates [19:15] [Zororg : VIEWER]: yas or tempel? [19:16] [Aleksandr Petrosyan : VIEWER]: yas [19:16] [tusharhero : VIEWER]: I think he means org capture templates [19:16] [Divya : VIEWER]: Neither, just manually adding to `org-capture-templates`. [19:16] [yantar92 : MODERATOR]: https://github.com/nobiot/org-transclusion#installation [19:16] [yantar92 : MODERATOR]: sparse tree-ish [19:16] [yantar92 : MODERATOR]: can include from other files into org file [19:17] [Miguel : VIEWER]: I'm still waiting for someone to come out with a yasqueen package 😂 [19:17] [tusharhero : VIEWER]: what would such a package do? [19:18] [kickingvegas : VIEWER]: can give an Org UI demo if folks want to see [19:18] kickingvegas is now the presenter, set by yantar92 [19:18] [Zororg : VIEWER]: yes [19:18] [tusharhero : VIEWER]: yup [19:19] [Aleksandr Petrosyan : VIEWER]: Cool! [19:20] [tusharhero : VIEWER]: sister of casual [19:21] [yantar92 : MODERATOR]: https://github.com/kickingvegas/casual [19:21] [yantar92 : MODERATOR]: https://github.com/kickingvegas/anju [19:21] [Zororg : VIEWER]: mac is always cool, casual is cool == kickinvegas is cool [19:22] [Zororg : VIEWER]: anyone has good gtk theme? Mine looks ugly and I removed toolbar or context menu due to it. Something more smooth looking and eye candy a bit? [19:22] [tusharhero : VIEWER]: if *Org todo* was instead a transinet [19:22] [tusharhero : VIEWER]: you could click it [19:23] [yantar92 : MODERATOR]: tusharhero - we are in the process of making all menus to be written in transient [19:23] [yantar92 : MODERATOR]: (early in that process, mind you) [19:23] [tusharhero : VIEWER]: that's great! [19:23] [Divya : VIEWER]: Oh, really? [19:24] [yantar92 : MODERATOR]: https://list.orgmode.org/84ms41qpy1.fsf@localhost/ [19:24] [daniel german : VIEWER]: a big thank you, kickingvegas for all the work you have done. I use your casual modes frequently. [19:24] [yantar92 : MODERATOR]: we are working on menu system, so that people can use transient as backend for org menus [19:25] [Miguel : VIEWER]: Nice. I like the sorting. [19:25] [artsi0m : VIEWER]: At first I was just using built in Emacs icons like this `(setopt icon-map-list nil)` and nowadays I just have Emacs on Gentoo build with this use flags `xft athena Xaw3d -motif -gtk X` [19:25] [Divya : VIEWER]: haha, this is amazing. [19:25] [tusharhero : VIEWER]: WOW [19:25] [Divya : VIEWER]: This can be really useful. [19:25] [artsi0m : VIEWER]: Speaking about gtk theme default Adwaita should be the best fit [19:26] [Zororg : VIEWER]: also is org-inside almost about to be merged? Saw green signals way before i think and jdtsmith if quick at things as we know [19:26] [tusharhero : VIEWER]: how does it get converted from markdown to org ? [19:26] [yantar92 : MODERATOR]: That export feature is M-x org-export-region-to.. [19:27] [tusharhero : VIEWER]: Ah it uses pandoc [19:27] [Divya : VIEWER]: right. [19:27] [tusharhero : VIEWER]: i believe it converts markdown to org [19:27] [tusharhero : VIEWER]: not the other way around? [19:28] [tusharhero : VIEWER]: I wish there was a way to do this in elisp directly [19:28] [Divya : VIEWER]: org-rs can help with this, no? You parse markdown externally and then produce valid Org. [19:29] [Zororg : VIEWER]: This message has been deleted by Zororg [19:29] [tusharhero : VIEWER]: well, why would you need org-rs at that point [19:29] [tusharhero : VIEWER]: you will need a markdown parser [19:29] [Aleksandr Petrosyan : VIEWER]: It's a bit early for that. [19:29] [Divya : VIEWER]: Writing that in Elisp is sort of...not ideal. [19:29] [Divya : VIEWER]: But maybe something from markdown-mode? [19:29] [tusharhero : VIEWER]: markdown-ts-mode is a thing [19:30] [tusharhero : VIEWER]: i believe that is the default [19:30] [tusharhero : VIEWER]: from now [19:30] [Divya : VIEWER]: Right. But then you need something that can translate that markdown to valid Org [19:30] [tusharhero : VIEWER]: if you have a tree, it shouldn't be hard right? [19:30] [yantar92 : MODERATOR]: ha ha [19:30] [yantar92 : MODERATOR]: no, it is hard [19:30] [Divya : VIEWER]: Hopefully. [19:30] [Divya : VIEWER]: Yeah I can imagine. [19:30] [yantar92 : MODERATOR]: It is easy to get simple things, but when mapping is not 1-to-1, it gets tricky [19:31] [artsi0m : VIEWER]: markdown-mode can rely onto `markdown2` executable [19:31] [tusharhero : VIEWER]: I suppose it is not 1-to-1 [19:31] yantar92 is now the presenter, set by yantar92 [19:31] [Aleksandr Petrosyan : VIEWER]: Thank you very much for your work Charles! [19:31] [artsi0m : VIEWER]: It was quite interesting, Thanks. [19:31] [Divya : VIEWER]: Great work! I should showcase this to non-Emacs users and lure them. [19:31] [kickingvegas : VIEWER]: hi folks [19:32] [Divya : VIEWER]: Hahaha [19:32] [tusharhero : VIEWER]: toolbar mode and menu-bar are helpful [19:32] [tusharhero : VIEWER]: anju makes context-menu more helpful [19:32] [Divya : VIEWER]: We should have something similar for Emacs Reader. [19:33] [tusharhero : VIEWER]: menu bar and toolbar support you mean [19:33] [tusharhero : VIEWER]: ? [19:33] [Divya : VIEWER]: Yes, and right-click context-menu. [19:33] [Divya : VIEWER]: Being able to select text, copy, highlight, etc. [19:33] [Aleksandr Petrosyan : VIEWER]: Discoverability is very important too [19:33] [tusharhero : VIEWER]: I think pdf tools does enable context-menu by default [19:33] [Divya : VIEWER]: I think so. [19:34] [tusharhero : VIEWER]: well we have been stuck on text highlighting *for a while* for reasons. [19:35] [Divya : VIEWER]: Canvas patch: https://lists.gnu.org/archive/html/bug-gnu-emacs/2026-01/msg01995.html [19:36] [tusharhero : VIEWER]: https://tusharhero.codeberg.page/emacs-pale-canvas-and-stuff-demos.html [19:36] [tusharhero : VIEWER]: not updated with recent demos yet [19:36] [kickingvegas : VIEWER]: https://github.com/kickingvegas/anju [19:36] [Divya : VIEWER]: https://github.com/minad/doom-on-emacs [19:36] [kickingvegas : VIEWER]: https://kickingvegas.github.io/anju/Org-Mode-Context-Menu.html [19:38] [artsi0m : VIEWER]: I have another question, I am sorry [19:38] [Aleksandr Petrosyan : VIEWER]: Yes [19:39] [tusharhero : VIEWER]: https://codeberg.org/MonadicSheep/emacs [19:39] [Aleksandr Petrosyan : VIEWER]: Monadic Sheep [19:39] [Divya : VIEWER]: This message has been deleted by Divya [19:39] [artsi0m : VIEWER]: Thanks [19:39] [Zororg : VIEWER]: why is minad also maintaining a patch: github.com/minad/emacs-canvas-patch/ ? [19:40] [Divya : VIEWER]: it's an old one. [19:40] [Miguel : VIEWER]: A canvas would create so many possibilities in Emacs [19:40] [tusharhero : VIEWER]: currently in documentation + tests stage [19:41] [Aleksandr Petrosyan : VIEWER]: We'll get there eventualyl [19:41] [tusharhero : VIEWER]: this is much simpler thing [19:41] [Zororg : VIEWER]: I'm already running EWM with Skia library (instead of cairo) and now will add canvas to it lol. I'm doing so much emacs [19:41] [Miguel : VIEWER]: The canvas is an html canvas? Running with javascript? [19:41] [tusharhero : VIEWER]: no no [19:41] [tusharhero : VIEWER]: it is just a pixel buffer [19:41] [Miguel : VIEWER]: Ah ok [19:42] [Miguel : VIEWER]: I'm sure there can be a conversion layer from html canvas to pixel canvas. And then you get all web games [19:42] [tusharhero : VIEWER]: Don't trust divya [19:42] [tusharhero : VIEWER]: he implements things and forgets about it [19:43] [Divya : VIEWER]: https://codeberg.org/MonadicSheep/pale [19:43] [tusharhero : VIEWER]: emacs 31 is a sailed boat, emacs 32 [19:44] [tusharhero : VIEWER]: javascript? [19:44] [tusharhero : VIEWER]: why [19:45] [tusharhero : VIEWER]: great... [19:46] [tusharhero : VIEWER]: does it need to be javascript? [19:46] [Divya : VIEWER]: Nah [19:46] [Divya : VIEWER]: Certainly not in Emacs. [19:46] [tusharhero : VIEWER]: does python output js? [19:46] [Aleksandr Petrosyan : VIEWER]: It doesn't need JavaScript, but it does need some form of client-side scripting [19:46] [tusharhero : VIEWER]: I see [19:47] [tusharhero : VIEWER]: very helpful [19:47] [tusharhero : VIEWER]: tutorial [19:48] [tusharhero : VIEWER]: is that vim? [19:49] [tusharhero : VIEWER]: I see "INSERT MODE" at the bottom [19:49] [Divya : VIEWER]: qutebrowser [19:49] [tusharhero : VIEWER]: I see [19:49] [tusharhero : VIEWER]: what we need is something like webgl then? [19:49] [Divya : VIEWER]: Click actions work in SuperTuxKart game, but I haven't tested resizability and other things. [19:49] [artsi0m : VIEWER]: That is part of qutebrowser probably, it has vim like keybinds [19:50] [Zororg : VIEWER]: In anycase people use jupyter here, you can consider marimo https://github.com/marimo-team/marimo which seems more better [19:50] [Aleksandr Petrosyan : VIEWER]: Jupyter itself is very vim-like [19:50] [tusharhero : VIEWER]: there also some other problems with keybindings [19:50] [Divya : VIEWER]: Nah, we just need Pale to handle mouse coordinates and key events properly. [19:50] artsi0m is now the presenter, set by yantar92 [19:50] [tusharhero : VIEWER]: isn't pale something like webgl? [19:50] [Divya : VIEWER]: Yup it uses OpenGL and other graphics libraries. [19:51] [Divya : VIEWER]: haha a CAD viewer [19:51] [Aleksandr Petrosyan : VIEWER]: It sues metal on Mac, and I wanted to rewrite it in Vulkan [19:51] [tusharhero : VIEWER]: one of the first things we thought of when canvas patch was started [19:51] [tusharhero : VIEWER]: actually before canvas patch, when we were still doing tiling [19:51] [yantar92 : MODERATOR]: no, no. We do not need yet another jupyter. We need to get it working in Org [19:53] [Miguel : VIEWER]: Whats the theoretical FPS for the canvas patch? [19:53] [tusharhero : VIEWER]: essentially you will have to make these as dynamic modules which use canvas to actually draw the models. [19:53] [Aleksandr Petrosyan : VIEWER]: It should be able to hit 60FPS on some systems. [19:53] [tusharhero : VIEWER]: https://tusharhero.codeberg.page/emacs-pale-canvas-and-stuff-demos.html#Canvas%20API [19:53] [tusharhero : VIEWER]: about 400-500 [19:54] [tusharhero : VIEWER]: but it was a small image [19:54] yantar92 is now the presenter, set by yantar92 [19:54] [Miguel : VIEWER]: What a time to be alive [19:55] [Aleksandr Petrosyan : VIEWER]: AutoCAD used CommonLisp in older versiosn [19:56] [Divya : VIEWER]: We've had 4K 60FPS video rendering with canvas. The video renderer needs a lot of work, to reduce the CPU usage. [19:56] [tusharhero : VIEWER]: https://tusharhero.codeberg.page/emacs-pale-canvas-and-stuff-demos.html#PALE [19:57] [tusharhero : VIEWER]: the demo divya is talking about [19:57] [Miguel : VIEWER]: That's very impressive [19:58] [Miguel : VIEWER]: So exciting [19:58] [Divya : VIEWER]: Yup [19:59] [Divya : VIEWER]: Absolutely. [19:59] [Sacha Chua : VIEWER]: I mean, we can sort of do that already with mpv =) [19:59] [tusharhero : VIEWER]: at least mpv has a good keybinding set to C-p [19:59] [Divya : VIEWER]: Imagine having a miniplayer hanging around in emacs that you can drag around and do stuff to. [19:59] [Sacha Chua : VIEWER]: but interactivity would be really cool [20:00] [tusharhero : VIEWER]: yes you can [20:00] [tusharhero : VIEWER]: you can copy paste it [20:00] [tusharhero : VIEWER]: or you can have it be a separate frame [20:00] [tusharhero : VIEWER]: I think what eww does is enough [20:00] [tusharhero : VIEWER]: shr? [20:01] [Sacha Chua : VIEWER]: Out of curiosity, is there a way an Org custom link type can mess with org-export-collect-headlines so that #+TOC can include headings that were exported by the custom link? (My use case: transcripts with chapters) [20:01] [tusharhero : VIEWER]: yes the underlying library "shr" [20:02] [tusharhero : VIEWER]: if you open texinfo generated webpages [20:02] [tusharhero : VIEWER]: the info bindings work too! [20:03] [tusharhero : VIEWER]: I mean info reader specific commands, for moving around nodes [20:03] [daniel german : VIEWER]: lately i have been playing with a client-server mode between emacs and chrome (for JS sites) Emacs runs a server that chrome talks to. That way I can send info to emacs for org and org-roam templates. [20:03] [daniel german : VIEWER]: the info from the browser is sent in a json payload. [20:04] [tusharhero : VIEWER]: I recently learnt about spookfox from sacha's streams [20:04] [Sacha Chua : VIEWER]: daniel: Oh, very nice. You needed something more complex than org-protocol? [20:04] [Sacha Chua : VIEWER]: Spookfox is a Firefox-Emacs bridge so you can eval Javascript from Emacs Lisp [20:04] [daniel german : VIEWER]: yes, for example saving a chatgpt session in an org file. [20:05] [Sacha Chua : VIEWER]: ah, yeah, that might not fit in a URL. [20:05] [daniel german : VIEWER]: I tried spookfox but I was never able to get it working. [20:05] [Sacha Chua : VIEWER]: I don't think I got Chrome working, just Firefox [20:05] [daniel german : VIEWER]: Yes, that was a problem, the amount of info sent from one side to the other. [20:05] [yantar92 : MODERATOR]: https://github.com/bitspook/spookfox [20:06] [tusharhero : VIEWER]: i used it to reload webpage on buffer-save [20:06] [Miguel : VIEWER]: How did you quickly paste the link into the SpookFox item? I'm using C-c C-l but yours looks faster. [20:07] [tusharhero : VIEWER]: years of org penance [20:07] [Miguel : VIEWER]: you typed spookfox and then the link was placed in it without the C-c C-l interaction [20:07] [daniel german : VIEWER]: yes, please sacha. I am curious if my client/server mode is the best way to go. [20:07] [daniel german : VIEWER]: I am separating the work into an extension and emacs. [20:07] Sacha Chua is now the presenter, set by yantar92 [20:07] [Miguel : VIEWER]: Maybe I misunderstood what was happening [20:08] yantar92 is now the presenter, set by yantar92 [20:08] [daniel german : VIEWER]: i can give you a demo of what I have. [20:08] [daniel german : VIEWER]: i need to connect audio though [20:08] [Aleksandr Petrosyan : VIEWER]: YEs [20:08] [Divya : VIEWER]: Have to head out. Thank you everyone. [20:08] daniel german is now the presenter, set by yantar92 [20:09] [tusharhero : VIEWER]: Same here, Bye everyone! [20:09] [yantar92 : MODERATOR]: I just did C-y ... [20:10] yantar92 is now the presenter [20:11] [Miguel : VIEWER]: I thought maybe you had a function that would replace word at point with [[%s][%s]] and insert the link you have in the kill ring [20:11] daniel german is now the presenter, set by yantar92 [20:12] [Sacha Chua : VIEWER]: Miguel: Oh I have noe of those! [20:12] [yantar92 : MODERATOR]: Just select region, and C-c C-l [20:12] [Sacha Chua : VIEWER]: one [20:12] [Miguel : VIEWER]: I want to avoid using C-c C-l. [20:12] [yantar92 : MODERATOR]: that, you can write a simple function that does it [20:13] [yantar92 : MODERATOR]: It is a perfect example of user-defined command 😊 [20:14] [Nick Anderson : VIEWER]: Have you considered starting your chat from inside emacs? I use gptel and agent-shell often. it's nice to have the whole thing in emacs from the start. Not that there aren't good reasons for having something like what you did here. [20:17] yantar92 is now the presenter, set by yantar92 [20:17] [Aleksandr Petrosyan : VIEWER]: Ellama too [20:18] Sacha Chua is now the presenter, set by yantar92 [20:18] [Miguel : VIEWER]: But gptel uses the chatGPT API right? So, no free tier? I use AI sometimes but I don't want to pay for it. [20:19] [yantar92 : MODERATOR]: gptel uses whatever - local ollama, chatgpt, deepseek, anything literally [20:19] [Nick Anderson : VIEWER]: I use it with local models but many providers work ootb you just have to config them [20:19] [Miguel : VIEWER]: Ah ok [20:22] [Aleksandr Petrosyan : VIEWER]: Agent shell with OpenCode has 4 models that you can use _a lot_ without paying anything. [20:22] [Aleksandr Petrosyan : VIEWER]: DeepSeek v4 flash, is pretty good for agentic. Even compared to Claude [20:23] [Nick Anderson : VIEWER]: if only i had the hardware to run myself [20:23] [yantar92 : MODERATOR]: Yup, deepseek v4 was quite an upgrade for tool use [20:23] [daniel german : VIEWER]: that is very useful, thank you. I'll play with it. [20:24] yantar92 is now the presenter, set by yantar92 [20:24] [Morgan : VIEWER]: It looks like I need a better email provider then outlook to interact with everyone on the mailing list. What would you recommend? posteo? [20:25] [Morgan : VIEWER]: outlook doesn't have much clout in this community [20:26] [Aleksandr Petrosyan : VIEWER]: People don't mind [20:26] [Morgan : VIEWER]: why did you switch from gmail to posteo? [20:27] [Morgan : VIEWER]: that's fair. I've struggled with that kinda stuff myself with my VOIP number [20:27] [artsi0m : VIEWER]: Fun story: I was sending tar gz archives into openbsd ports mailing list and everyone were fine. On the other hand they banned protonmail eventually because it was quite a lot abused for flaming and spam. So I am not sure that it is really so important [20:28] [artsi0m : VIEWER]: Ah, okay. Sorry I misunderstood [20:29] [artsi0m : VIEWER]: Anyway here is the article on email providers I admire: https://digdeeper.club/articles/email.xhtml [20:29] [Morgan : VIEWER]: I'll take a look at that link. I was taking advice from this: https://www.fsf.org/resources/webmail-systems [20:32] [Aleksandr Petrosyan : VIEWER]: Amazing idea. [20:32] [Sacha Chua : VIEWER]: Sure, let me know and I can add it to the calendar/BBB [20:33] [Morgan : VIEWER]: so like 10 people in one room or like multiple one-on-one breakout rooms? [20:33] [Miguel : VIEWER]: This is a good idea [20:35] [Morgan : VIEWER]: I'd show up to that meeting at that time [20:35] [Sacha Chua : VIEWER]: GST = UTC+4, no daylight savings [20:35] [Sacha Chua : VIEWER]: Ah, GMT [20:35] [Miguel : VIEWER]: What time is it now GMT? 6:35 pm? [20:36] [Sacha Chua : VIEWER]: Yup, 6:35 UTC [20:36] [Nick Anderson : VIEWER]: gtg, thanks again for keeping this up. [20:36] [Miguel : VIEWER]: Ok. That's 2 am Asia time but that's fine for me [20:36] [Sacha Chua : VIEWER]: What date do you want to run the first one? [20:36] [Morgan : VIEWER]: 14:00 for me EST [20:36] [kickingvegas : VIEWER]: yer, casual-timezone-planner 😊 [20:38] [Sacha Chua : VIEWER]: (and what do we want to call it? OrgDevelop vs OrgMeetup? =) OrgCodeup? ...) [20:38] [Sacha Chua : VIEWER]: June 27 is Emacs APAC [20:39] [Sacha Chua : VIEWER]: July 25 is the next Emacs APAC after that. [20:40] [Sacha Chua : VIEWER]: That's the only Saturday one I have on my calendar [20:41] [Aleksandr Petrosyan : VIEWER]: Org workshop? [20:41] [Miguel : VIEWER]: This is very well Org-anized 😂 [20:41] [Sacha Chua : VIEWER]: Do you want it in the same BBB meeting room? (only one mod code to remember =) ) [20:42] [Sacha Chua : VIEWER]: Separate is okay too, just let me know [20:42] [Miguel : VIEWER]: orgdev [20:43] [Miguel : VIEWER]: OrgFreeLaborButActuallyYantarSpends2HoursExplainingTheSameThing10Times too long? [20:43] [artsi0m : VIEWER]: prOgRamminG, sorry [20:44] [Sacha Chua : VIEWER]: Okay, https://bbb.emacsverse.org/rooms/orgdevmeetup/join exists [20:44] [Sacha Chua : VIEWER]: let me see if I can get it to have the same mod code [20:46] [kickingvegas : VIEWER]: gots to run! thanks for letting me present! [20:47] [zaimon : VIEWER]: What are the prerequisites one must have to be useful in the org codeup [20:47] [Sacha Chua : VIEWER]: ugh, I'll just e-mail you the new mod code [20:47] [Juha Autero (laptop) : VIEWER]: It would be nice to know the agenda of OrgDevMettup beforehand. [20:48] [yantar92 : MODERATOR]: agenda: https://tracker.orgmode.org/?types=bug [20:49] [Miguel : VIEWER]: Maybe you can also talk about the contributor liason role during that meetup if you're still looking for participants [20:49] [Sacha Chua : VIEWER]: Doublechecking, what was that time again? 6-8 PM UTC? [20:50] [yantar92 : MODERATOR]: 4-6pm, UTC0 (British time) [20:50] [Morgan : VIEWER]: we don't seem to have many people triaging the older bug reports. I was thinking there would be more action there [20:52] [Miguel : VIEWER]: Is there a link to reported issues/bugs? I don't know how to follow the mailing list. But I like using git bisect for finding when bugs were introduced. [20:52] [yantar92 : MODERATOR]: 4-6pm, UTC0 (British time) [20:52] [yantar92 : MODERATOR]: https://tracker.orgmode.org/?types=bug [20:52] [yantar92 : MODERATOR]: this is the link [20:52] [Miguel : VIEWER]: Thanks [20:52] [yantar92 : MODERATOR]: https://orgmode.org/worg/org-maintenance.html#liaison [20:54] [Miguel : VIEWER]: Awesome. Thank you [20:54] [Sacha Chua : VIEWER]: Oh! Actually there are some Saturday meetups in person [20:55] [Sacha Chua : VIEWER]: June 20 is the same day as EmacsSF in person coffee.el [20:55] [Sacha Chua : VIEWER]: 11 AM America/LosAngeles [20:55] [Sacha Chua : VIEWER]: OrgDevMeetup https://bbb.emacsverse.org/rooms/orgdevmeetup Sat Jun 20 0900 America/Vancouver - 1100 America/Chicago - 1200 America/Toronto - 1600 Etc/GMT - 1800 Europe/Berlin - 2130 Asia/Kolkata – Sun Jun 21 0000 Asia/Singapore [20:55] [Sacha Chua : VIEWER]: so it's 2 hours after the start of OrgDevMeetup [20:57] [Sacha Chua : VIEWER]: looks like it's irregular, sometimes it's on the 2nd [20:57] [Sacha Chua : VIEWER]: (err, 2nd sat) [20:58] [Sacha Chua : VIEWER]: hah, based on a conversation I had with Jeff before, it's sometimes when he remembers to schedule it [20:58] [Sacha Chua : VIEWER]: so he can schedule around you next time 😉 [20:58] [Sacha Chua : VIEWER]: they're fine, they can meet up for early coffee + Org hacking and then continue with more coffee 😉 [20:59] [Sacha Chua : VIEWER]: nope, was just about to put on my mom hat and encourage you to go to bed 😉 Thanks all! (Ihor, sent you the code by email) :end: -- Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>
