Note: Our usual BBB server was down, so this meetup was done via jitsi. ... and because Jitsi does not save chat history when reconnecting, I lost part of the chat. So, some parts of the discussion might be missing as I had to recover some things from pure memory without clues from the chat. Another note: I added some images to the discussion this time to illustrate some of the discussion points. The images are attachment: links, also attached to this email. - As usual, we started from https://sachachua.com/blog/2024/11/2024-11-11-emacs-news/ - Amy Grinn asked about contributing to Org mode - Apart from the mailing list, the new bugs and important discussions can be tracked at https://tracker.orgmode.org/ - I invite everyone to help with new items there (note that old items are not always cleared, even when the bug is fixed; this issue will hopefully be resolved in not too distant future) - Amy Grinn actually submitted a patch for new custom babel header argument in the past https://list.orgmode.org/orgmode/s31cys8xz4w.fsf@gmail.com/ - The patch was nearing merging, but there was unresolved issue on how to parse the argument values - I prefer to keep things as consistent as possible across the header arguments and use =org-babel-read= conventions - The tricky part about the patch is that the argument value consist of two parts: custom (1) open (2) close syntax for noweb. So, we need extra parsing on top of =org-babel-read= - In the patch discussion we were focused on reading two values from one argument, but a simple alternative could be 1. Using two header arguments =:noweb-start= and =:noweb-end= 2. Using a placeholder + a single string: =:noweb-wrap "# <<%s>>"= - [2024-12-08 Sun] See my reply in the thread - Someone asked about my setup where I have some todo keywords, bullets, and tags replaced with descriptive UTF symbols [[attachment:org-appearance.png]] - I use pretty-symbols-mode to visually replace keywords with symbols See https://github.com/yantar92/emacs-config/blob/master/config.org#items - There is also built-in prettify-symbols-mode, but it does not allow replacing regexp groups in a match - Another question was about structure of my Org notes - For topical notes, I always have an outline structure that has 1. Notes with my written notes 2. Bookmarks \ references with bookmarks (and my notes to them) I've read and want to keep for future reference 3. "No deadline" where I usually store bookmarks to read in the future - I get this structure using my capture templates (this one is called "area") https://github.com/yantar92/emacs-config/blob/master/config.org#area-of-interest - "No deadline" is a kind of my "someday" list, accumulating ideas and links for future. In the most active areas of interest it tends to grow indefinitely - In https://sachachua.com/blog/2024/11/excerpts-from-a-conversation-with-john-wiegley-johnw-and-adam-porter-alphapapa-about-personal-information-management/ alphapapa and John Wiegley discussed, among other things, the problem with someday task management - I use "No deadline" lists, but with a twist - Tasks in No deadline list are not equal - I mark some tasks/links as more interesting and then use https://github.com/yantar92/org-autosort to sort them in a way that more interesting someday tasks stay on top [[attachment:someday-list.png]] - This way, I do not have to go through hundreds of tasks every time to find what may be interesting to do next. I can always see the more interesting/important tasks on top. - jordan asked about examples of usage of dynamics blocks (I do not recall fully now, but I think the more precise question was about querying headings via dynamic blocks) - I myself do not actually use them very often - The closest I use is clock tables, but that's slightly different - zororg suggested that https://github.com/protesilaos/denote makes use of dynamic blocks heavily - There is also org-ql: https://github.com/alphapapa/org-ql/?tab=readme-ov-file#dynamic-block - Apart from dynamic blocks, Org provides a number of ways to query for headings - Sparse trees https://orgmode.org/manual/Sparse-Trees.html - zororg: Laso, org-ql-sparse-tree (it uses org-ql query syntax unlike built-in sparse trees that use less flexible MATCH syntax) - Agendas. Despite the name, Org agenda can search using arbitrary criteria, not just by time https://orgmode.org/manual/Matching-tags-and-properties.html - Agenda matches can even be collected to an Org file via C-x C-w (org-agenda-write) - The entry text can be shown via org-agenda-entry-text-mode (E) - I think someone asked about the timestamp format I use to announce the meetups: =<2024-11-13 Wed 19:00-21:00 @+03,Europe/Istanbul>= - This is the syntax we decided upon for future support of time zones in timestamps - Here is more detailed syntax description: https://list.orgmode.org/orgmode/87tu063ox2.fsf@localhost/ - That thread is long, but this exact link explains the syntax we mostly agreed upon (some details are to be worked out when we start working on actual patch) - Jordan asked why not to keep timestamps in UTC in Org internally and then translate locally as needed - The answer is simple: we do not actually need to worry too much how to *store* timestamps - Elisp has API for time that includes time zones - The main question of the linked discussion was more about (1) syntax for time zones - users 100% do not want to be forced to write every timestamp in UTC; (2) potential UI; (3) various edge cases that may interact with Org features (time zones are infamous for edge cases); - we even discussed relativistic shift and time zones on different planets, albeit not very seriously https://list.orgmode.org/orgmode/87bkmluxnq.fsf@localhost/ - Sacha Chua shared her approach to generate a bunch of Org files for different timezones (that's for now, while Org does not support time zones) - I believe that https://emacslife.com/calendar/ has the details - She also has some helper commands to convert time between timezones interactively (from and to) - [2024-12-09 Mon] Although I cannot find anything relevant at https://sachachua.com/dotemacs/index.html. Still an interesting read ;) - Jordan asked how to find a marker/buffer/line number given an org link with search option. He does not want to actually follow link (open the buffer, move point, etc); just get the location the link points to - There are no specialized function apart from function that actual does the jumping (follow function that is potentially customized) - You can simply use "jump" command wrapped into ~save-excursion~ and maybe ~save-current-buffer~ #+begin_src emacs-lisp (save-current-buffer (save-excursion (org-link-open-from-string "file:~/Org/notes.org::100") (org-current-line))) #+end_src - Although it might be tricky when a new frame is created or when an external app is called - My demo failed spectacularly because file links in my config are followed very awkwardly, calling xdg-open along the way - zororg asked to share how to search and find org bug reports - We have https://tracker.orgmode.org/bugs - You can even follow RSS for bugs, if you want to: https://tracker.orgmode.org/bugs.rss - Or import in Org format: https://tracker.orgmode.org/bugs.org - Note that tracker.orgmode.org does not currently close all the fixed reports. I hope that it will be fixed in not too distant future. Looking for new bug reports should work though. - There is also an option to subscribe to the mailing list, of course https://orgmode.org/worg/org-mailing-list.html - This is what I do myself (obviously), saving the actionable or useful emails to my Org todo list, via capture templates and https://github.com/yantar92/org-capture-ref - karthink asked about \lambda symbol in my mode line [[attachment:lambda-in-modeline.png]] - It is just flycheck #+begin_src emacs-lisp (setq flycheck-mode-line-prefix "ฮปโœ“") #+end_src - zororg asked if I am version control my notes.org (a 20+Mb file) - Yup. The git repo is 1Gb+ at this point. And it is after I regularly compress it (git maintenance run) - me and kickingvegas discussed his recent feature proposal to provide context menu to copy table cell/range references and additional bindings to insert table references in Org table formula editor by simply clicking on table cells with mouse https://list.orgmode.org/orgmode/87zfmzqezp.fsf@localhost/ http://yummymelon.com/devnull/referencing-org-table-cells-with-text-regions.html - he had questions about my idea to use overlays to apply a temporary custom keymap while table editor is active https://www.gnu.org/software/emacs/manual/html_node/elisp/Overlay-Properties.html - although we started from discussion on the difference between overlays and text properties - text properties are tied to specific chars in buffer - overlays, in contrast, are defined by marker boundaries - if any text is inserted between the markers, the overlay will act on it - overlays are can also be stored, and, more importantly, managed via Elisp overlay objects as a whole. It makes life easier in many situations - Some users commented that they do not use tables much - although I know other Org users who use Org mode explicitly because of tables ;) - many people, many opinions - user (it is a nickname) complained that Org tables are not ideal - karthink followed up with a more specific complain on wide tables with large width (beyond window width) - this is indeed not ideal, although one can define column widths (or even alignment) and then "fold" the columns according to that width https://orgmode.org/manual/Column-Width-and-Alignment.html - One day, we could integrate and extend this feature with org-cycle (TAB) - for example, I had an idea to fold not only column widths, but also fold everything between first last column and/or row, as in ipython pandas - visuwesh also complained about subtle bugs with table formulas when one adds/deletes columns - normally, cell references in formulas are automatically updated, but apparently visuvesh observed when it is not done right - it would be nice if the problem is reported as a bug with reproducer - Jeff Trull asked whether the idea of "list tables" from ox-odt can be adopted more widely : #+attr_odt :list-table t : - Row 1 : - 1.1 : - 1.2 : - 1.3 : - Row 2 : - 2.1 : - 2.2 : - 2.3 : : will be exported as though it were an Org table like the one show : below. : : | Row 1 | 1.1 | 1.2 | 1.3 | : | Row 2 | 2.1 | 2.2 | 2.3 | - (Note that it is undocumented feature) - I doubt that it is a good idea to adopt these list tables as general feature - One of they fundamental feature of Org tables is that they look simple visually - When presented as a list (idea similar to ASCII doctor multi-line table cell syntax), it becomes very difficult to work with such a table. - For example, guessing "cell reference" there would become a nightmare - Maybe as an export feature specifically (not just in ox-odt), but ideally we want proper multiline cell syntax instead of such workarounds https://list.orgmode.org/orgmode/877d0ia7vd.fsf@mat.ucm.es/ - the trick is to find such a syntax, so that it does not compromise the table simplicity. I would welcome ideas to be shared in the linked thread - Amy Grinn shared a bug with odt export when coding system of the org file is non-standard ('utf-8-with-signature-unix') - we debugged this problem for a while during the meetup and almost arrived to the solution (the idea of the fix was right) - ox-odt hard-codes setting UTF-8 as encoding for ODT markup - several places in ox-odt force-set buffer coding system to 'utf-8 - all that was left is making sure that we write *all* the ODT components using 'utf-8 - I later implemented the proper solution after the bug was reported properly to the mailing list https://list.orgmode.org/orgmode/87ed3fvu7p.fsf@pop-os.mail-host-address-is-not-set/ - Jeff Trull commented that ODT is sometimes rendered differently in LibreOffice vs. MS Word - It is a known problem with MS Work where it does not follow ODT spec - https://github.com/kjambunathan/org-mode-ox-odt/issues/153 may have some workaround ideas - We continued about exporting to various proprietary formats, like docx or keynote - ox-odt handled docx export by exporting to odt and then converting odt to docx via LibreOffice - Another alternative is pandoc and https://github.com/emacsorphanage/ox-pandoc/ - ox-pandoc, unlike pure pandoc, can manage src block evaluation and other kinds of Org-specific pre-processing that pandoc cannot do directly - Jeff Trull also reminded about ox-keynote he has been working on - Then, we moved on discussing how to collaborate using org in corporate setting - For example, there is https://demo.hedgedoc.org/ for markdown, where people can collaborate via browser (most people do not mind browser; no so mach when asked to install Emacs :sad_face:) - kickingvegas commented that Org is still good in corporate setup for authoring and running meetings. But only when there is a single person, not when collaborative editing is required - <...> - and https://github.com/titaniumbones/ox-slack - because obviously, every proprietary messenger should also invent the markup - Someone asked if Teams uses Markdown, but nobody knows. Some things seem to work :chat: ##+begin_info_from_memory Sacha News: ... Amy: discussion on custom noweb wrap; parsing noweb tracker.orgmode - how to find bugs Org symbols for tags/bullets, use frequently used to understand meaning Bookmarks\references and capture templates SOMEDAY lists and sorting them link to alphapapa/John Wiegley discussion ##+end_info_from_memory zororg:@jordan denote packages makes use to dynamic blocks very well [16:42] zororg:ah okay it works. That also is fine [16:43] zororg:maybe it was org-ql-sparse-tree that folded those heading as well [16:44] zororg:I check in detail more. Thanks for taking time to point it out! [16:47] Ihor Radchenko:org-fold-show-context-detail [16:47] Ihor Radchenko:should work for Org sparse trees [16:47] Ihor Radchenko:2. can save agenda views to org files with C-x C-w [16:49] Ihor Radchenko:3. org-agenda-entry-text-mode ๐Ÿ˜ฎ๐Ÿ‘[16:49] zororg:Wow. So much! I'm already spending half of day time on emacs [16:50] Ihor Radchenko:(org-encode-time 6 30 23 31 3 2022 nil nil "Europe/Madrid") [16:55] Jordan:how would timezones in org work? Why not just keep it as UTC only and translate locally on the fly, but always keep it as UTC [16:57] Jordan:True sorry [16:58] Sacha Chua:The way I do it with EmacsConf org schedules is I keep everything in my local time, and then I generate lots of copies with times in different timezones [16:58] Jordan:Well then only support the "Foo/Bar" notation then I guess [16:58] Jordan:That one is easier to use [16:58] Jordan:Europe/Madrid for example [16:58] Sacha Chua:Also I have some convenience functions that prompt for a time and timezone and then do the conversion for me ๐Ÿ˜ƒ [16:59] Sacha Chua:Both from and to [17:00] Sacha Chua:Your talk might be a good opportunity to recruit people to look at various things that can be worked on ๐Ÿ˜ƒ [17:02] Jordan:hey here's a question: org links can go to a file and find a line from the search-option in the link. What if I don't want it to leave point there graphically but return the line number of the matched (if any) line? [17:02] Ihor Radchenko: https://list.orgmode.org/orgmode/CAL9aZkusXaNVCu7+nO-ic8SHhwVdOiXYtDyF=Gz7h+NoLaOZXQ@mail.gmail.com/ [17:02] Ihor Radchenko:very, very long discussion on time zone support [17:03] Ihor Radchenko:(eventually agreed upon) [17:03] zororg:on that note, can you please share on how to search and find org bug reports? I mean on particular issue we would like to get involved. [17:04] zororg: As of now, I'm following orgmode list via gmane. If you can show us better tips, tricks and workflow 18:05 karthink karthink says:Tangent: Is that lambda symbol in your mode-line provided by flycheck/flymake? 18:05 Jordan Jordan says:line-number-at-pos (point) 18:06 Jordan says:i think 18:06 visuwesh visuwesh says:I am not sure if this is updated anymore but you can take a look at this https://tracker.orgmode.org/ 18:07 visuwesh says:zororg: otherwise, you can take a look at threads with "[BUG]" in the mailing list ( list.orgmode.org ) 18:07 Ihor Radchenko me says:(save-excursion (org-link-open-from-string "file๐Ÿ˜•tmp/test.org:๐Ÿ˜•Top surf/") (org-current-line)) 18:08 me says:``` (save-excursion (org-link-open-from-string "file๐Ÿ˜•tmp/test.org:๐Ÿ˜•Top surf/") (org-current-line)) ``` 18:08 zororg zororg says:visuwesh: yes, thats right. 18:08 karthink karthink says:can you show us one of these tasks as captured in Org mode 18:12 zororg zororg says:Nice. Thank you. I will be exploring more on note taking lol 18:12 zororg says:btw do you version control this notes.org ? 18:12 zororg says:Now that I notice again, the file has half a million lines. My one big journal file has only 11k lines 18:14 karthink karthink says:Thanks 18:17 Ihor Radchenko me says: https://github.com/yantar92/org-capture-ref 18:18 karthink karthink says:The lambda symbol in your mode-line, is it from flymake/flycheck? 18:20 kickingvegas kickingvegas says:hello! 18:20 zororg zororg says:congrats on getting casual into single package! 18:21 kickingvegas kickingvegas says:@zororg thanks! 18:22 EM elisp maniac elisp maniac says:@kinkingvegas you could also apply 'display property to a text for example to display an IMAGE instead of the text 18:27 Jordan Jordan says:i personally find org tables as spreadsheets annoying 18:31 karthink karthink says:I don't use Org tables as spreadsheets because I find it too complicated 18:31 Jordan Jordan says:id rather use google sheets, but recently an open source spreadsheet engine was published on hackernews 18:31 Jordan says:so id probably use that now 18:31 me says: https://list.orgmode.org/orgmode/87zfmzqezp.fsf@localhost/ 18:31 kickingvegas kickingvegas says:reference to my post on Org table references http://yummymelon.com/devnull/referencing-org-table-cells-with-text-regions.html 18:32 EM elisp maniac elisp maniac says:@yantar92 we cannot hear you 18:32 user user says:we can hear 18:32 visuwesh visuwesh says:It is always welcome to have an easier to insert table cell references. it is a bit finnicky to use C-c } since it seems to be a global setting or somesuch? 18:33 user user says:I wish org tables worked better as spreadsheets. If they were easier to use and more flexible, I'd probably use them more. 18:33 karthink karthink says:Additionally, Org tables become unwieldy even as tables once they're wider than the window, or if they have many rows, or if variable widths are involved. So I limit my use of Org tables. 18:34 visuwesh visuwesh says:It is a bit helpful that the table cell reference is highlighted when you're in the *Edit Formulas* buffer 18:34 visuwesh says:Yes, I wish there was a way to "resize" column sizes. Once I had a table with 12 or so columns and it got really annoying to navigate (also writing #+PLOTS: got unwieldy too since C-c } isn't exacrly reliable when you're adding and deleting columns) 18:36 JT Jeff Trull Jeff Trull says:Anyone familiar with the "list tables" of ox-odt? I recently encountered them and was wondering if they are worth making more official 18:39 user user says:Ignore the comment about "more flexible". It's mostly (entirely?) about ease of use. Being able to refer to columns via symbolic references and referencing in formulas is not the easiest. It's possible, simply not easy. 18:39 visuwesh visuwesh says:Yea, I have to second guess the column number always when writing the formulas which gets tiring quickly 18:40 JT Jeff Trull Jeff Trull says:It's a new format idea that allows multi-line rows IIRC 18:40 Jeff Trull says: https://kjambunathan.github.io/org-mode-ox-odt/List-Tables-in-ODT-export.html 18:40 Jeff Trull says:yes 18:41 Jeff Trull says:yes probably hard to edit also 18:42 K kickingvegas kickingvegas says:Jeff, on the notion of multiline cells, perhaps having a cell content reference as an enhancement? 18:43 JT Jeff Trull Jeff Trull says:I missed the earlier discussion 18:43 me says: https://list.orgmode.org/orgmode/878rkyarvm.fsf@localhost/ ๐Ÿ‘ 18:44 me says:earlier discussion on multiline cells in Org tables 18:44 Amy Grinn Amy Grinn says:I have a bug with org odt export with coding system 'utf-8-with-signature-unix' 18:44 Amy Grinn says:It's entirely unrelated, but I did want to discuss it 18:45 karthink karthink says:There's a typo 18:52 karthink says:-unit -> -unix 18:53 me says:(coding-system-for-write 'utf-8) (save-buffer-coding-system 'utf-8) 18:58 me says:org-odt-export-to-odt 18:58 karthink karthink says:I have to leave, thanks for the meetup 19:00 visuwesh visuwesh says:I think the let binding-clause was updated for the asyncexport? 19:03 JT Jeff Trull Jeff Trull says:Speaking of ODT, does anyone here use it with MS Word? I am finding some interesting differences in behavior vs. LibreOffice 19:05 zororg zororg says:docx will be same? 19:06 visuwesh visuwesh says:Jeff: Maybe try out Jambunathan's fork of ox-odt as you might have better luck with MS Word 19:07 JT Jeff Trull Jeff Trull says:visuwesh that is the one with the problem ๐Ÿ˜ƒ 19:07 visuwesh visuwesh says:Ahh 19:07 JT Jeff Trull Jeff Trull says:but the author only uses LO 19:07 visuwesh visuwesh says:That's what I remember too 19:07 JT Jeff Trull Jeff Trull says:OK thanks! I'm still on my personal journey to make it possible to use org in a corporate environment cleanly 19:08 zororg zororg says:there is org-odt-preferred-output-format It can covert to docx ? 19:09 JT Jeff Trull Jeff Trull says:There are places that have e.g. presentation templates they want you to use and IMO it's just pixels there should be a way ๐Ÿ˜ƒ 19:09 Jeff Trull says:Thus ox-keynote 19:09 me says:ox-pandoc 19:10 JT Jeff Trull Jeff Trull says:That's a great tip thank you 19:10 me says: https://demo.hedgedoc.org/ ๐Ÿ˜ฎ 19:13 K kickingvegas kickingvegas says:I've found Org in corporate to be great for authoring; also for running meetings; that said much more problematic when using actual Org syntax for direct exchange 19:14 zororg zororg says:Thanks alot for answering all my doubts yantar! Learnt alot, and added more todos in my notes 19:14 zororg says:My head is about to burst. Org mode is growing as my Second brain lol 19:14 zororg says:Bye everyone, thanks for the meeting! 19:15 K kickingvegas kickingvegas says:ox-slack ๐Ÿ˜ฎ 19:15 kickingvegas says:it needs to be freshened but I use it all the time to write slack formatted messages 19:15 JT Jeff Trull Jeff Trull says:Does it work for Teams ๐Ÿ˜‰ 19:16 K kickingvegas kickingvegas says:@jeff does teams use markdown? 19:16 JT Jeff Trull Jeff Trull says:You know I haven't gotten that far into it but a lot of the markdown stuff works when I type it. Can I paste a bunch, that's the question 19:17 K kickingvegas kickingvegas says:also slack format is not markdown; it's it's own thing 19:17 JT Jeff Trull Jeff Trull says:Of COURSE it is 19:17 Jeff Trull says:We couldn't have this kind of thing standardized 19:17 Jeff Trull says:This is a great meetup and I'm sorry I always have to arrive an hour late 19:18 visuwesh visuwesh says:Thank you Ihor and everyone for the meetup. I have to sign off now 19:18 K kickingvegas kickingvegas says:thanks Ihor! 19:18 avatar oylenshpeegul oylenshpeegul says:Thanks, Ihor! Thanks, all! 19:18 JT Jeff Trull Jeff Trull says:Thanks for organizing Ihor 19:18 EM elisp maniac elisp maniac says:okay 19:19 elisp maniac says:thank you 19:19 JT Jeff Trull Jeff Trull says:๐Ÿ‘ :end: