Skip Navigation
yantar92 yantar92 @communick.news
Posts 9
Comments 13
Is this the only active Emacs community here?
  • which have been disabled about a month ago

    Good to hear. I had to filter out all the @alien.top threads at some point after I accidently replied to one thread here instead of reddit and my reply was not seen by the author requesting help.

  • Is this the only active Emacs community here?
  • Maybe. Maybe not. A number of posts (@alien.top) are just re-posting reddit.

  • #3 ] on Wed, Oct 11, 19:00 UTC+3

    • Random interesting links

      • https://github.com/rougier/notebook-mode (Org styling)
      • https://github.com/ahyatt/ekg (Alternative database-based knowledge management approach)
      • https://yhetil.org/emacs-devel/CANr+fmwRWfKpwVJWv4k2CLYczKNCuRqs4zZijRQ40K9r8YpmKw@mail.gmail.com/ (on combining multiple major modes and buffers in a single buffer)
    • Nick Anderson mentioned Khoj (https://khoj.dev/)

      • It is an AI indexer for Org/MD/txt/pdf files and Github repositories
        • Allows querying Org notes, remote repository readmes, and documents using natural language, just like ChatGPT (but on your own dataset).
      • Can be used locally via pytorch/Llama 2
      • Can connect to ChatGPT
      • Implement its own python-based Org parser
    • Why asked about neovim-friendly configs

      • Not exactly Org-specific, but the usual suggestions are Doomemacs and evil-mode in vanilla Emacs
      • Also, Nick Anderson reminded about Spacemacs (https://www.spacemacs.org/)
        • Unlike Doom emacs, which is fast, but not always stable, Spacemacs is an old, stable project. Although, AFAIR, Spacemacs is known for its slowness due to large number of packages.
    • Nick Anderson shared https://github.com/unhammer/org-rich-yank

      • The package allows pasting code into Org files, automatically adding a backlink to the copied source code line.
      • Somewhat related: Org =open-source= protocol allows opening http pages locally. For example, one can take github URL and open the local git clone or Worg URL and open the local WORG clone.
        • https://orgmode.org/manual/The-open_002dsource-protocol.html
      • https://github.com/sshaw/git-link does the opposite - derive github URL from local git clone.
      • I personally also have a code that converts local =notmuch:= links to mailing list emails into URL https://github.com/yantar92/emacs-config/blob/master/config.org#live-helm-org-ql-search-in-org
    • Carlo Tambuatco asked about what is tree-sitter and how it is used in Emacs

      • The question is not exactly on topic as tree-sitter does not work well with Org

        • There is https://github.com/milisims/tree-sitter-org, but implementing Org syntax within GLR (supported by tree-sitter) is rather hard. As of recently, the existing tree-sitter module is (1) rather slow, even compared to Org's Elisp parser; (2) not accurate for complex documents.
      • On more introductory resources for tree-sitter, I strongly recommend the presentation from https://www.thestrangeloop.com/2018/tree-sitter---a-new-parsing-system-for-programming-tools.html

        • Also, see https://tree-sitter.github.io/tree-sitter/#talks-on-tree-sitter
        • More Emacs-related description can be found in https://www.masteringemacs.org/article/tree-sitter-complications-of-parsing-languages
      • TL;DR: Tree sitter is a unified interface to parse text files, with parsers contributed by community for different programming languages/text formats.

        It is more powerful compared to classic Emacs approach with regexp matching, and thus can be (and is) used to provide more accurate fontification, indentation, and editing experience.

        Historically, Emacs also has a unified parser - Semantic, but it is rather complex and did not get traction, except for a subset of several supported languages. In contrast, tree-sitter language support is developed not only within Emacs - many more languages are supported by now.

    • There was a demo demonstrating how to export texinfo manual to HTML with source code examples fontified as in Org mode

      • The motivation is limited Org support for manual authoring

        • ELPA, when generating manuals from Org sources, does not use the latest Org version, with some features lacking.
        • While Org supports org to texi export, only a limited subset of texinfo markup is supported, as Org is not specialized for manuals and does not have a notion of specialized markup like , , , etc
        • Also, Org does not yet support glossaries and indexes as well as Texinfo does. Though see https://github.com/tecosaur/org-glossary, which is an experimental implementation by one of the Org contributors.
      • One downside of texinfo is that code snippets are not colored

        • To solve this problem, https://github.com/hniksic/emacs-htmlize and Org publishing are utilized

          • The manual source is written in texi and then exported to html during publishing
          • The generated HTML is further processed (via org-publish-after-publishing-hook), taking the code in HTML, passing it through htmlize (just like what Org does in org-html-fontify-code), and replacing the HTML code elements with property fontified versions.
        • Unfortunately, the code was only showed on screen and no link was dropped to the chat. So, I am just leaving what I remember from how the code works (above).

        UPDATE from the author of the demo: You can find the code I use for adding highlighting to Texinfo examples here:

        http://git.eshelyaron.com/gitweb/?p=esy-publish.git;a=blob;f=esy-publish.el;h=cb103b78b7dd2f8d0f5260883b61bf651d0650f5;hb=HEAD#l394

      Namely, the function esy-publish-fontify-examples takes the name of an HTML-formatted Texinfo manual, and uses htmlize to markup the contents of "example" blocks in that HTML file.

      The result is very similar to the markup of source blocks in Org documents. For instance you can see some highlighted "examples" here: https://eshelyaron.com/man/sweep/Numbered-Variables.html

      • RMS previously suggested to work towards Org being a proper tool to write manuals, on par with Texinfo: https://list.orgmode.org/orgmode/87bkqx4jyg.fsf@localhost/
        • We are far from there, but the direction where to go is known https://yhetil.org/emacs-devel/87v8cmnspf.fsf@localhost/
    • Ilya Chernyshov asked about his feature request on the mailing list: https://list.orgmode.org/[email protected]/T/#u

      • His workflow involves repeated tasks (habits)

      • Sometimes, he finishes a task in time, but sometimes he misses it: : * TODO exercise

        : SCHEDULED: <2023-10-08 Sun +1d>

        : :PROPERTIES:

        : :CREATED: [2023-10-01 Sun 01:25]

        : :LAST_REPEAT: [2023-10-10 Tue 02:08]

        : :END:

        : :LOGBOOK:

        : - State "DONE" from "TODO" [2023-10-08 Sun]

        : - State "MISSED" from "TODO" [2023-10-07 Sat]

        : - State "DONE" from "TODO" [2023-10-06 Fri]

        : :END:

      • The problem is =LOGBOOK= entry date

        • Org mode, by default, uses timestamp when the user changed todo state
        • However, for "MISSED" task, the date what the task is marked "MISSED" is not necessarily the same day it is scheduled
        • Ilya wants to be able to use =SCHEDULED= date rather than "today" in the log for certain keywords.
      • The feature might be implemented as an extension of org-current-effective-time, which is already customizeable via org-use-last-clock-out-time-as-effective-time.

    • Nick Anderson asked about previously announced Karl Voit's podcast https://graz.social/@publicvoit/110986422932417006 where he planned to talk about Org mode

      • Karl Voit's blog: https://karl-voit.at/
      • We asked Karl on Mastodon: https://emacs.ch/@yantar92/111217525037662745
        • Reply: #+begin_quote

      The Informed Life https://theinformed.life/ is the first podcast that will publish an episode with me. The other will be in German and we don't have a recording date yet.

      [...]

      See also https://karl-voit.at/clippings/

      #+end_quote

    • visuwesh asked about setting org-latex-title-command per-file in Org LaTeX export

      • There is no special in-buffer keyword to set it, but one can use
        • #+BIND keyword to set any variable during export (need to customize org-export-allow-bind-keywords)
        • buffer-local/directory-local variables in Emacs
      • visuwesh's setting is rather long and would require adding a lot of boilerplate text to each exported Org buffer
        • Org provides a way to include common settings into exported file using =#+SETUPFILE= keyword. See https://orgmode.org/manual/Export-Settings.html
      • org-latex-title-command is a template, which Org can populate with AUTHOR, TITLE, SUBTITLE, KEYWORDS, DESCRIPTION, CREATOR, LANGUAGE, or DATE
        • visuwesh asked if it is possible to fill arbitrary document metadata to the template Like #+PROF: XXXX and then XXXX being adding to the template.
          • It is currently not possible.
          • One would have to use more generic facilities, like export filters to achieve this.
    • excalamus shared his experience using Org mode on the newest Emacs Android port

      • To make things more touchscreen-friendly, he added custom toolbar buttons to move around Org buffers.
      • We had a similar idea in recent mailing list discussion: https://list.orgmode.org/orgmode/[email protected]/
        • Unlike excalamus' toolbar approach, the idea discussed on the mailing list was to add text buttons right inside Org buffer, below each heading.
      • visuwesh mentioned that Emacs Android is capable of running the usual Linux command line tools, when they are installed via termux
        • For example, one can install Git and then use Magit right inside Emacs on Android
        • Instructions: https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/
          • For the time being (while Android port is not a part of an actual Emacs release), the above Sourceforge page is where the latest Android port can be downloaded: See https://yhetil.org/emacs-devel/[email protected]/
      • Emacs (and Org mode) on Android is capable of displaying images, except svgs
        • There is some problem with Android svg library
        • As a side effect of lacking support of svg images (for now), Ilya's https://github.com/ichernyshovvv/org-timeblock will not work on the Android port, unfortunately
    • On searching Emacs (and Org mode) mailing lists

      • https://yhetil.org/emacs-devel/ has much better search functionality compared to https://lists.gnu.org/archive/html/emacs-devel/
      • https://list.orgmode.org/ is using the same "public inbox" software (https://public-inbox.org/README)
        • One can anonymously subsribe to Org mailing list via "Atom feed" link
        • Or even to specific Org mailing list thread by
          1. following a thread link (example: https://list.orgmode.org/[email protected]/T/#t)
          2. Clicking "Atom feed" link at the bottom of the page (https://list.orgmode.org/[email protected]/t.atom)
    • A short discussion about the meetup timing

      • We currently stick to time zone comfortable for me, but we have at least one volunteer, who can be the host in Asia/Singapore time zone
      • Anyone interested in alternative schedule, please reply to https://list.orgmode.org/[email protected]/t.atom
      • Also, OrgMeetup is not the only Emacs-related meetup out there
        • We have a number of meetups in various time zones
        • See https://sachachua.com/blog/2023/10/2023-10-09-emacs-news/ or any other Sacha's Emac News edition.

    :comments:

    [18:27] Welcome to <b>[[bbb:OrgMeetup]]</b>!<br><br>For help on using BigBlueButton see these (short) <u>tutorial videos</u>.<br><br>To join the audio bridge click the phone button. Use a headset to avoid causing background noise for others.<br><br>This server is running <u>BigBlueButton</u>.

    [18:31] Ihor Radchenko : The official start 30 minutes from now

    [18:49] Ihor Radchenko : random interesting urls: https://github.com/rougier/notebook-mode

    [18:49] Ihor Radchenko : https://github.com/ahyatt/ekg

    [18:49] Ihor Radchenko : https://yhetil.org/emacs-devel/CANr+fmwRWfKpwVJWv4k2CLYczKNCuRqs4zZijRQ40K9r8YpmKw@mail.gmail.com/

    [19:03] Nick Anderson : Several weeks back I came across https://khoj.dev/. Local (or remote if you choose) LLM and indexing of your notes. It's seeing a lot of change but when I first found it, it had specific org-mode parsing support.

    [19:04] Nick Anderson : I can't say it's /usable/ yet, but interesting.

    [19:04] Carlo Tambuatco : Hello

    [19:06] Nick Anderson : The org specific parser (don't know if it's still in use) was headline level search against pytorch embeddings of your notes. Plain text is like fill file.

    [19:08] Ilya Chernyshov : hi everyone

    [19:09] Nick Anderson : Yeah, I have only used the offline models with it. Interesting, but at least against my corpus, not usable currently.

    [19:10] Nick Anderson : parses md and org files out from Github but I coudn't actually get it to complete without running out of memory

    [19:10] Nick Anderson : that was just their indexing that it coudlnt do.

    [19:11] Carlo Tambuatco : LLama2 is the only LLM it supports?

    [19:11] why : what emacs configurations do you recommend for a beginner who has just learned neovim?

    [19:12] Nick Anderson : They are workign to add ability to change the local model: https://github.com/khoj-ai/khoj/pull/494/commits/a85ff941ca49538ac6090e4d891e72710737744f

    [19:12] Nick Anderson : @why I came via Spacemacs (old vim user).

    [19:14] Ihor Radchenko : https://github.com/doomemacs/doomemacs

    [19:14] Ihor Radchenko : For people familiar with Vim

    [19:15] Ihor Radchenko : another way is just installing evil-mode

    [19:15] Nick Anderson : https://www.spacemacs.org/

    [19:16] Nick Anderson : but claims are doom is faster, seems more popular. But I have used it since 2016 happily.

    [19:17] Carlo Tambuatco : Lazy loading modules

    [19:20] Nick Anderson : org-rich-yank doesn't get enough publicity super nice for notes on code etc ...

    [19:20] я : why are you have slavic pronounsuation

    [19:24] visuwesh : yes

    [19:24] Nick Anderson : Yes.

    [19:28] Nick Anderson : No.

    [19:29] Carlo Tambuatco : Could you talk about tree-sitter (for newbies) and how well it works with older emacs packages? Does it cause any conflicts?

    [19:30] Nick Anderson : I see your browser.

    [19:30] visuwesh : i see firefox here

    [19:30] Nick Anderson : No emacs.

    [19:30] Nick Anderson : No emacs

    [19:36] Ilya Chernyshov : Ihor, do you know if there's a way to log timestamps of SCHEDULED property, but not timestamps of current time in LOGBOOK each time I change TODO state of repeated task? I couldn't configure org-log-note-headings, because there's no such placeholder that inserts SCHEDULED property timestamp. Only current time timestamp can be inserted. Maybe there's another way of doing that? Also, I can send a patch that adds a new placeholder for that.

    I already posted on list.orgmode.org about that 2 days ago, you probably saw the mail :D. I saw the announcement for the meetup half an hour ago and thought to ask you here

    [19:36] Nick Anderson : Karl Voit had mentioned being interviewed on some podcast several weeks back, anyone hear any updates on that being released?

    [19:36] visuwesh : Is there a way to set the title command for a custom latex class in org via org-latex-classes? I see that you can set a plist element for org-publish but not so for latex export. AFAICT from the doc and ox-latex, it is not possible. Right now, i set org-latex-title-command in a src block but something more compact and "preset" would be nice.

    [19:40] Ihor Radchenko : For index/glossary in org export, see https://github.com/tecosaur/org-glossary

    [19:43] Ihor Radchenko : https://list.orgmode.org/orgmode/87bkqx4jyg.fsf@localhost/

    [19:44] Ihor Radchenko : discussion about making Org a replacement for texinfo

    [19:47] Nick Anderson : thats neat

    [19:47] Ihor Radchenko : https://orgmode.org/manual/The-open_002dsource-protocol.html

    [19:47] Nick Anderson : orgit-forge maybe

    [19:50] Nick Anderson : https://github.com/sshaw/git-link

    [19:52] Ihor Radchenko : transform internal notmuch email link into mailing list url: https://github.com/yantar92/emacs-config/blob/master/config.org#live-helm-org-ql-search-in-org

    [19:52] Nick Anderson : nice, thanks.

    [19:54] Ilya Chernyshov : here's the link with the example

    [19:54] Ilya Chernyshov : https://list.orgmode.org/[email protected]/T/#u

    [19:57] Ilya Chernyshov : the timestamp of current time is inserted when 'done in org-log-note-headings is configured as "State %s CLOSING NOTE %t"

    [19:57] Ilya Chernyshov : the placeholder %t is somewhat useless

    [19:58] Ilya Chernyshov : I want a new placeholder that is replaced with a SCHEDULED property before the state is changed. That way you can track when you've done/missed a repeated task

    [19:59] Ilya Chernyshov : your mic is off =)

    [19:59] Ilya Chernyshov : maybe that's on purpose, I dont' know :D

    [20:02] Ilya Chernyshov : I'm so sorry, can I get the record of the meetup? I missed a small part of your reply

    [20:03] Ilya Chernyshov : so sorry

    [20:03] Ihor Radchenko : https://list.orgmode.org/[email protected]/T/#u

    [20:03] Ihor Radchenko : this is the feature request we are discussing

    [20:03] Ihor Radchenko : the possible way to implement it is via org-current-effective-time

    [20:03] Ihor Radchenko : %t is already customizeable via org-use-last-clock-out-time-as-effective-time

    [20:04] Ilya Chernyshov : thank you

    [20:05] Ihor Radchenko : https://karl-voit.at/

    [20:05] Ihor Radchenko : Karl's blog

    [20:07] visuwesh : yes

    [20:09] visuwesh : the thing is i would like to have something simpler than putting the whole command up there since my title command is quite large

    [20:10] visuwesh : yess

    [20:10] visuwesh : i need to set up a separate page as a title page for my assignment and the command goes around 20 lines or somesuch

    [20:10] visuwesh : ah, that would work ig

    [20:11] visuwesh : i was hoping to include some other template too, like the prof in charge of the assignment etc. but this is better than copy-pasting

    [20:13] visuwesh : right, that's what i did except i imported a tex file instead for my bachelor's thesis/project

    [20:13] Nick Anderson : This was where I saw Karl being invited to podcast: https://graz.social/@publicvoit/110986422932417006

    [20:13] visuwesh : sry, i meant something like a keyword like #+PROF: XXXX and usesomething like %{PROF} in the titlecommand to say XXXX in the file

    [20:14] visuwesh : yes

    [20:14] visuwesh : ah, it is using format-spec, ok

    [20:15] visuwesh : i will live with setupfile then

    [20:15] visuwesh : i see, i will look into using export filters

    [20:16] visuwesh : ty, that answers my qn

    [20:18] Nick Anderson : Yep, I havent seen anything yet :D

    [20:19] Ihor Radchenko : https://emacs.ch/@yantar92/111217525037662745

    [20:20] excalamus : I have something to share in just a moment

    [20:23] yantar92 (audio) : Po Lu is the author of Emacs Android port

    [20:24] Nick Anderson : probably have to make Test the presenter.

    [20:26] Nick Anderson : Neat, I have been living with Termux, which is OK

    [20:26] Nick Anderson : all the other things exactly

    [20:26] visuwesh : You can use software installed inside termux from Emacs Android if you have the 'termux' emacs android apk installed.

    [20:26] Ihor Radchenko : https://list.orgmode.org/orgmode/[email protected]/

    [20:27] visuwesh : But I think you need to have a specially compiled version of termux too? And there's a specific order you need to install ter,mux and Emacs to have termux apps usable in Emacs. I believe the info is in the Emacs for Android port sourceforge webpage

    [20:29] visuwesh : No, I mean to use softaware installed in termux in Emacs android

    [20:30] visuwesh : https://sourceforge.net/projects/android-ports-for-gnu-emacs/files/

    [20:31] visuwesh : https://yhetil.org/emacs-devel/[email protected]/ i hope this is useful too

    [20:32] excalamus : there are images included with emacs /share/emacs/29.1/etc/images

    [20:32] visuwesh : somewhere down this thread, more explanation on this topic are included

    [20:33] Ilya Chernyshov : do you guys now, if it's possible to display svg images in emacs android build?

    [20:34] visuwesh : it is actively updated

    [20:34] visuwesh : the code in savannah and the apks are built freqly in the sourceforge

    [20:34] visuwesh : sourceforge uploads are from Po Lu

    [20:35] visuwesh : you could try to see the iamge type of splash image

    [20:35] visuwesh : its svg on my laptop

    [20:35] Ilya Chernyshov : i'm talking about image-mode being able to display svg. if it's possible, I'll try to test org-timeblock on it

    [20:37] Ilya Chernyshov : yeah, thanks, you can see it here https://github.com/ichernyshovvv/org-timeblock

    [20:37] Ilya Chernyshov : :D

    [20:38] visuwesh : C-h C-a

    [20:38] visuwesh : M-x report-emacs-bug maybe?

    [20:39] visuwesh : It should be possible since I think Po Lu sends and reads email

    [20:40] visuwesh : Oops, sending idk. he only says read. https://yhetil.org/emacs-devel/[email protected]/

    [20:41] visuwesh : To check whether it is really supported, use ‘image-type-available-p’. :P

    [20:41] visuwesh : in image-types docstring

    [20:41] Ihor Radchenko : image-types is a variable defined in image.c.

    Value (svg webp png gif tiff jpeg xpm xbm pbm)

    Set

    Documentation List of potentially supported image types.

    Each element of the list is a symbol for an image type, like jpeg or png. To check whether it is really supported, use image-type-available-p.

    [20:41] Ihor Radchenko : :facepalm:

    [20:43] Ilya Chernyshov : that's bad

    [20:43] Ilya Chernyshov : =(

    [20:45] visuwesh : yhetil.org has MUCH better search functionality btw. I think the GNU mailman archive search is still broken :(

    [20:46] visuwesh : its f:

    [20:47] Ihor Radchenko : https://yhetil.org/emacs-devel/

    [20:47] Ihor Radchenko : Emacs mailing list mirror

    [20:50] Nick Anderson : Thanks for doing this.

    [20:50] Nick Anderson : And maintaining!

    [20:50] visuwesh : Thanks everyone

    [20:50] visuwesh : It is fine for india too

    [20:50] Nick Anderson : I am in central us and i have it playing on the side while I am working.

    [20:50] visuwesh : 11:30 pm rn

    [20:52] Nick Anderson : There is Emacs ATX as well. https://www.meetup.com/emacsatx/

    [20:52] Nick Anderson : Nope.

    [20:52] Nick Anderson : Webex.

    [20:52] Ihor Radchenko : https://sachachua.com/blog/2023/10/2023-10-09-emacs-news/

    [20:52] Nick Anderson : It usually is.

    [20:53] Nick Anderson : e.g. https://sachachua.com/blog/2023/10/2023-10-02-emacs-news/ :end:

    0
    Any way to stop org mode from adding preceding commas from src blocks?
  • Instead is there a good way to font lock these commas so that they are barely visible?

    You can add a custom font-lock-keyword.

  • Showcase of my org-agenda /break-mode integrated into my system bar.
  • This kind of thing can be done as long as you can set toolbar text from a script. That script can either query emacsclient or you can arrange clock-in/out hooks to update some text file.

  • How to make org mode only fontify subscripts/superscripts if there are brackets?
  • Either set org-use-sub-superscripts to '{} globally or put #+options: ^:{} per document. Be aware that both the options take effect after after reload.

  • #3 ] on Wed, Oct 11, 19:00 UTC+3

    Another OrgMeetup will be scheduled on the second Wednesday of October, next week.

    Previous meetup notes: https://list.orgmode.org/orgmode/878r97bzs4.fsf@localhost/

    URL: https://bbb.emacsverse.org/b/iho-h7r-qg8-led Time &amp; Date: &lt;2023-10-11 Wed 19:00-21:00 @+03,Europe/Istanbul> The room will be open half an hour before the official start.

    During the meetup, we can:

    • Give advice to new users
    • Showcase Org configs or workflows
    • Demo/discuss interesting packages
    • Troubleshoot each-other's issues
    • Discuss "Org mode" section of Emacs news (https://sachachua.com/blog/)
    • Discuss anything else Org-related

    Everyone is free to join the discussion/chat or lurk around silently, listening.

    We will not do any recording by default.

    In addition, feel free to propose topics to discuss in the replies. We can select a couple of topics and discuss them at the beginning of the meetup, followed by the usual flow with topics appearing in the process.

    0
    Is there a way to define an org entity in a way that it does not require a backslash?
  • Entity syntax involves backslash. As an alternative, you may define a custom export filter + custom font-lock keyword.

  • Emacs devel digest (ELPA and Emacs Zine, September 2023)

    0

    #2 ] on Wed, Sep 13, 19:00 UTC+3

    • weary-traveler asked to add a new feature to Org publishing system.

      The use case is publishing using CI tasks, where a new, fresh image is created every time a web site is re-published. Such image does not preserve the original modification times of the source Org files, making Org publish re-generate everything every single time.

      The new suggested feature is (optionally) using last git commit time instead of file modification time.

      • Org already has somewhat similar functionality in a form of ={{{modification-time ...}}}= macro. See [[info:org#Macro Replacement][org#Macro Replacement]] section of Org manual.
      • Also, several other places in Org are relying on file modification time and might need to be considered.
      • Conclusion: the feature request is to be submitted to mailing list for more detailed discussion. (see https://orgmode.org/manual/Feedback.html#Feedback)
    • Tomas Volf asked where to start learning Org. Answer:

      1. Go to https://orgmode.org

      2. Click on "Worg" (Org wiki): https://orgmode.org/worg/

      3. Check out https://orgmode.org/worg/#learn

      4. I specifically recommend a short Org mode guide: https://orgmode.org/guide/index.html to get an overview of what is possible and https://orgmode.org/worg/org-tutorials/index.html with various use cases.

      5. Karl Voit later pointed to his usual suggestion to learn one thing at a time: https://karl-voit.at/2020/01/20/start-using-orgmode/

        • In short, Org is so large that it is useless to try learning everything. Just look quickly what is possible and use whatever is practically useful - small step at a time.
        • If nothing in Org is useful, do not use Org (yes, it is perfectly fine not to use Org ;])
    • As usual, a number of people use Org mode for a number of different things. This time, the participants mentioned

      • outlining documents and writing plain text notes
      • source blocks to run code from notes
      • note taking (sometimes on paper first, later copying to Org)
      • blogging
      • publishing to html
      • export to LaTeX
      • storing bookmarks from internet
      • working on HS/CS projects
      • People often start with one thing, but then it becomes convenient to re-use Org for more and more and ...
    • oatmeal described Emacs hanging when opening one specific Org file. Without further info, we could only offer generic tip to submit a bug report: https://orgmode.org/manual/Feedback.html#Feedback

    • William Denton asked about how yantar92 (me) uses Org mode to maintain Org mode :)

      • ... which opened the pandora box of my rather complex GTD setup: https://github.com/tartan92/emacs-config/blob/master/config.org#org-mode

      Some highlights:

      • This setup is definitely not for beginners. Too many idiosyncratic things.
      • I use a single notes.org file for all the notes + a bunch of archive files for things I do not need to pop up in my searches (via org-ql).
        • Karl Voit has somewhat similar setup with giant Org files: https://karl-voit.at/2020/05/03/current-org-files/
          • He keeps pretty much all his digital life in Org mode: https://github.com/novoid/Memacs (all emails, browser history, SMS, rss, bank statements, git commits, etc)
      • Org mode maintenance involves dealing with a growing pile of bug reports, feature requests, patches, ideas, etc. I currently have over 1k (yes, over one thousand) actionable ideas recorded.
      • It is literally impossible for a single human to handle all these
      • So, I instead approach this using priority system
        • I collect everything Org-related (emails, github issues, reddit posts, blogs) into Org headings via https://github.com/yantar92/org-capture-ref
        • I categorize Org-related tasks into: (1) bugs; (2) feature requests; (3) maintenance tasks; (4) misc tasks; (5) specific non-trivial projects (task groups), like implementing new syntax or fixing particularly difficult bugs.
        • At any time, I limit my Org-related work to bugs, feature request, maintenance tasks, and a couple of projects (according to my free time).
          • I do it by setting todo keyword "NEXT" on active groups and "SOMEDAY"/"HOLD" on inactive groups
        • only active groups of tasks contribute to my agenda
        • I re-consider active groups every week during weekly review
        • More about my todo keywords: https://github.com/yantar92/emacs-config/blob/master/config.org#tasks
        • Inside each group, I only mark a couple (of several hundreds) of tasks as active (NEXT)
          • I only review non-active tasks when I run out of "active" (NEXT) tasks (and the area/project is thus "stuck")
          • Non-active tasks are marked with various levels of urgency, for easier review (I do not want to review all 300-500 tasks every time)
        • A/B/C priority
        • flagged/non-flagged
        • flagged "#A" tasks are the first to be marked "NEXT" during the review
        • Use https://github.com/yantar92/org-autosort
          • The active tasks are scattered across my multiple layers of agenda views: focused agenda (have to do today); normal agenda (do after I finish focused agenda); NEXT task list (tasks to consider if I finish everything that is actually scheduled for today)
        • More details at https://github.com/yantar92/emacs-config/blob/master/config.org#agenda--scheduling
      • As an aside, because of so many headings, I display many standard tags and todo keywords as UTF symbols: 🖂📎🏁📚🔔☐⯑☑✘▶👁⌛⏩⏸... for more compressed view
        • See https://github.com/yantar92/emacs-config/blob/master/config.org#items
        • Emacs allows to create you own non-standard symbols by combining multiple "glyphs" on top of each other: ~'(?🕒 (cc . cc) ?🚫)~ will draw 🕒 on top of 🚫, creating "prohibit clock" symbol. See help:reference-point-alist docstring more details about combining symbols in Emacs.
    • On working with large Org file

      • The key point when working with large Org files is ability to search things and narrow things down to the project/area you currently work on
      • One way is org-narrow-to-subtree and org-tree-to-indirect-buffer - it will limit Emacs buffer to specific subtree.
      • Sparse trees allow revealing specific headings in folded Org buffer - by todo keyword, by tag, by property, by regexp etc. See https://orgmode.org/manual/Sparse-Trees.html
      • One can even display Org buffer in a table form via https://orgmode.org/manual/Using-column-view.html
      • Org agenda, despite its name, is not limited to listing scheduled tasks. It is Editable search interface across multiple Org files. One can search for specific headings (via tag, property, scheduled, todo keyword, regexp, etc searches), see them as a list in agenda view, and edit by changing their todo keywords, scheduled, deadline, priority, etc See https://orgmode.org/manual/Matching-tags-and-properties.html
        • There are bulk agenda commands (B) to act of marked (m) headings together. See "Bulk remote editing selected entries" in https://orgmode.org/manual/Agenda-Commands.html
        • C-k in agenda will delete the corresponding heading in Org file (with a prompt). M-x undo in agenda will undo both in agenda and in the Org file (not just deletion, any changes, like todo keywords, scheduling, etc)
        • Karl Voit reminded that =&lt;= in agenda will narrow items to category at point (usually, it means current project/file). =C-u &lt;= will do the inverse (all but current category). Karl Voit uses this to switch between business/non-business tasks.
          • I personally use similar idea, but with =@home= and =@work= tags: https://github.com/yantar92/emacs-config/blob/master/config.org#location-contexts
        • Even in existing agenda it is possible to further narrow matches down using filters. See https://orgmode.org/manual/Filtering_002flimiting-agenda-items.html
    • Tomas Volf asked about synchronizing Org files across multiple machines.

      • Org files are just text files and things like Synchthing work just fine (https://syncthing.net/)
    • Karl Voit mentioned an alternative version of org-tree-to-indirect-buffer: https://github.com/novoid/dot-emacs/blob/master/config.org#L7510

      • It allows multiple indirect buffers (built-in version needs customization for multiple indirect buffers; it kills previously existing indirect buffers by default)
      • It uses different naming scheme.
    • Karl Voit mentioned a convenient way to copy html markup to Org markup: https://github.com/kuanyui/copy-as-org-mode

      • Similar project, but for the whole web page: https://github.com/alphapapa/org-web-tools
      • ... and for pasting images: https://github.com/abo-abo/org-download
      • visuwesh reminded about his planned work on yank-media integration to be able to paste files and images from clipboard into Org. As usual, patches are welcome: https://orgmode.org/worg/org-contribute.html
    • Side track: why not using ChatGTP to implement new features? ... which does not work most of the time without manual editing :)

    • weary-traveler mentioned his alternative html export backend https://github.com/ox-tufte/ox-tufte

      • The highlight is ability to have side (margin) notes in the exported html.
      • Based on "tufte" CSS
    • weary-traveler showed a demo on using rst (reStructured text) tables inside Org files: https://weary-travelers.gitlab.io/posts/how-tos/overcome-org-syntactic-restrictions/guide.html

      • The idea is to create a source block backend, which executes exporting its code to whatever export backend is needed
      • This way, one can use complex rst tables with multi-row cells and complex cell layouts
      • The same idea can be used to embed alternative markups into Org (also, it is how Org's embedded LaTeX works under the hood)
      • Alternatively, Org mode supports =table.el= tables that allow multi-row cells.
        • Some Org auto-formatting convenience for table.el tables: https://github.com/casouri/ftable
    • Karl Voit briefly described his system to deal with "hard to finish" tasks

      • He uses "reward" tag and allows himself do something enjoyable only after finishing the "reward" tasks, but not otherwise.
      • One can use https://www.nongnu.org/org-edna-el/#introduction to automatically schedule "reward" task upon finishing the associated difficult task
      • Also, see https://karl-voit.at/2020/08/14/project-mgt-draft/
    • Org mode clocking can be used as website blocker

      • I block a number of websites that I tend to reach out mindlessly unless a specific task I am working on is either associated with such website or when that task is marked to not block anything.
      • Such approach helps to avoid mindless scrolling across social media: https://www.goodreads.com/book/show/40672036-digital-minimalism
      • Setup: https://github.com/yantar92/emacs-config/blob/master/config.org#distraction-free-browsing
        • This is specific to qutebrwoser (https://qutebrowser.org/), but one may as well write directly to /etc/hosts to the same global effect.
      • visuwesh also asked about blocking certain Emacs buffers (apparently, ement.el can be as addictive and reddit/youtube)
        • One can utilize https://github.com/nex3/perspective-el and similar "workspace" packages for Emacs for this purpose
        • Also, leading space in buffer name, by Emacs convention, hides it from buffer list: ~(get-buffer-create " another sample buffer") ;; space as the first char in the buffer name "unlists" the buffer~
        • And there are, of course, various built-in Emacs hooks
    • Hooks executed when clocking in/out: org-clock-in-hook, org-clock-out-hook 😇

    • Tomas Volf asked about giant Emacs setup: whether the author (me) remembers everything that is going on there:

      • The answer is no, I don't remember: things that are of use are simply in muscle memory and do not require further tweaking.
      • Sometimes, config things feel so natural (after years of usage), that they are thought as Emacs built-in (to later surprise trying with emacs -Q)
        • Like =highlight-parenthesis-mode=, which is a package I use for many years
          • Unlike built-in, it highlights multiple levels of parentheses around point, not a single level.
    • Karl Voit uses major mode hydra as a personal version of cheat sheet for rarely used commands

      • Another approach is using =which-key= package that displays all the prefix bindings after delay
      • Or M-x describe-bindings
      • Or something like =C-c C-v C-h= (any prefix ending with =C-h=), which will display a summary of bindings starting from that prefix key
    • kickingvegas asked about agenda command to move to an event that is scheduled now (for example, it is 2pm and the event is 1pm-3pm)

      • Org agenda only has built-in command to jump to today (bound to ".")
      • jumping to current time might be a logical addition to Org - see https://orgmode.org/worg/org-contribute.html
    0
    Why is cursor-type always 'bar in org-mode?
  • Could it be that setq cursor-type is not respected by org-mode?

    Org mode does not change cursor type in Org buffers. I recommend checking your hooks.

  • #2 ] on Wed, Sep 13, 19:00-21:00 UTC+3, Europe/Istanbul

    The last meetup [1] turned out quite successful. Let's continue.

    [1] https://list.orgmode.org/877cq38gdt.fsf@localhost/ (meetup notes)

    URL: https://bbb.emacsverse.org/b/iho-h7r-qg8-led Time &amp; Date: &lt;2023-09-13 Wed 19:00-21:00 @+03,Europe/Istanbul> The room will be open half an hour before the official start.

    During the meetup, we can:

    • Give advice to new users
    • Showcase Org configs or workflows
    • Demo/discuss interesting packages
    • Troubleshoot each-other's issues
    • Discuss "Org mode" section of Emacs news (https://sachachua.com/blog/)
    • Discuss anything else Org-related

    Everyone is free to join the discussion/chat or lurk around silently, listening.

    We will not do any recording by default.

    1
    Marcin Borkowski (2023) Irregular recurring TODOs in Org mode, part I
  • There are also habits where you can do the habit at least every X-Y days: https://orgmode.org/manual/Tracking-your-habits.html But that's a bit different use-case.

  • Marcin Borkowski (2023) Irregular recurring TODOs in Org mode, part I

    Some time ago I mentioned a very peculiar type of TODOs I’d like to implement. These are things I’d like to do from time to time, but not necessarily on a regular basis...

    2
    How to filter a dynamic block column view by only part of an property entry
  • Check out https://orgmode.org/manual/Matching-tags-and-properties.html. You can have a match like DATE_FINISHED>="<2023-01-01>"+DATE_FINISHED<"<2024-01-01>". Or you can use regexp match DATE_FINISHED={2023}

  • Automated import posts from Reddit. Yes or no?
  • Full post. Not everyone is reading every single comment. Even in that weekly tips thread.

  • Automated import posts from Reddit. Yes or no?
  • AFAIK, tecosaur is much more fediverse-friendly person. Also, /r/emacs participated in reddit blackout, so there is a good chance that its mods will be interested. Finally, instead of asking moderators, you may also ask the community by creating a post on reddit - it is the community who will be interested or annoyed by the bot you propose.

  • Automated import posts from Reddit. Yes or no?
  • IMHO, there is little point posting links if we cannot get the actual discussion going in the comments. Without discussion, you will simply turn communick.news into another https://planet.emacslife.com/.

    For self posts, it is particularly important. The whole point of having the package/blog post author around is to ask her questions and get actual comment replies.

  • Softwares on Karthinks (2023) Cool your heels, Emacs #elisp #timers #throttle #debounce #mode-line #performance #advice

    karthinks.com Cool your heels, Emacs

    TL;DR: Sometimes Emacs needs a timeout A diamond is very pretty. But it is very hard to add to a diamond. A ball of mud is not so pretty. But you can always add more mud to a ball of mud. – Gerald Sussman, paraphrasing Joel Moses A common problem with Emacs’ giant ball of shared state: Any code ...

    0

    Please help collecting statistics to optimize Emacs GC defaults

    This is a followup on the previous call for collecting GC statistics [1].

    We now got around 90 reports in the mailing list [2] and the frequency of getting new reports is fairly low now.

    Thus, I would like to make one final call to submit the statistics. After a week from now, I will start bringing all the data together.

    [1] https://reddit.com/r/emacs/comments/14dej62/please_help_collecting_statistics_to_optimize/

    [2] https://lists.gnu.org/archive/html/emacs-gc-stats/

    0

    ] on Wed, Aug 9, 19:00 UTC+3

    > URL: https://bbb.emacsverse.org/b/iho-h7r-qg8-led > Time &amp; Date: &lt;2023-08-09 Wed 19:00-21:00 @+03,Europe/Istanbul>

    Thanks everyone who participated! We had quite a few people by Emacs meetup standards.

    Here is a short summary of the main discussion points (those that I remember):

    • Adham Omran announced his new package for Anki (flash card/spaced repetition) integration: https://github.com/adham-omran/ankifier Efficiently create Anki flashcards from your notes.

    • Ilya Cheryshov announced his new package to display agenda time grid as interactive svg image. Looks like the usual Google calendar view, but inside Emacs. https://github.com/ichernyshovvv/org-timeblock/ Org mailing list discussion: https://list.orgmode.org/87edkc85fl.fsf@localhost/T/#t

      • Similar, but ASCII-only package: https://github.com/ml729/calfw-blocks, based on Calfw Emacs calendar framework.
    • More on visualizing Org statistics:

      • https://github.com/rksm/clj-org-analyzer/: clocking data visualizer using web-frontend. Features heatmap view of clocking time per-day. Allows filtering by tags.
      • https://github.com/Elilif/org-heatmap/: monthly heatmap for habit tracking
      • A bit tangent, but illustrates how to make use of time clocking: https://samplesize.one/blog/posts/my_year_in_data/
        • One more article I did not mention during the meetup: https://sqrtminusone.xyz/posts/2023-04-13-emacs/
    • [[info:eintr#Top][eintr#Top]] Elisp introduction for non-programmers. This is really a well-written manual worth reading if your config is larger than a few lines.

    • yantar92's window manager: Awesome WM https://awesomewm.org/

    • https://git.sr.ht/~bzg/worg is the source code of Org WIKI (WORG) [ Contributions welcome: a number of articles really need some love there ]

      • We also have some Org internals documented as articles in WORG.
    • Meeting report export template (backend): https://github.com/DarkBuffalo/ox-report which reminded me of actual LaTeX template by Tecosaur (Org dev): https://github.com/tecosaur/BMC

    • New WIP fast LaTeX preview system with instant preview as you type

      • Demo: https://www.youtube.com/watch?v=n-AfvuV-bYo
      • Another demo previously posted on the mailing list: https://www.youtube.com/watch?v=n-AfvuV-bYo
      • And the mailing list discussion with more details: https://list.orgmode.org/orgmode/[email protected]/
    • =#+begin_src := will give you completion of header arguments

      • Same for #+ keywords and, sometimes, for their values (like for #+TAGS: )
      • The underlying code is in lisp/org-pcomplete.el
      • Also, see org-eldoc (part of org-contrib): https://git.sr.ht/~bzg/org-contrib/tree/master/item/lisp/org-eldoc.el
    • Collaboration using Org mode

      • Concurrent editing options are not great, unfortunately:
        • https://code.librehq.com/qhong/crdt.el (need Emacs for all sides)
        • https://logseq.com/: similar to notion/obsidian, but supports Org syntax
      • Can use Git, if not real-time. Org is just a plain text.
      • I also used email workflow using pdf export -> sending email -> getting pdf with comments back -> modifying Org source -> ...
    • Authoring books/thesis in Org

      • Adham Omran wrote his thesis in Arabic using Org mode
        • Emacs has built-in right-to-left language support [[info:emacs#Bidirectional Editing][emacs#Bidirectional Editing]]
        • Right-to-left may be mixed with left-to-right (English) in Org export, though some LaTeX-specific tweaking may be needed.
          • Org offers some help with #+LANGUAGE document keyword (see [[info:org#LaTeX specific export settings][org#LaTeX specific export settings]])
        • Also, https://list.orgmode.org/orgmode/87h6z7jq4o.fsf@localhost/
        • There was a question about XeLaTeX, but, AFAIK, event normal LaTeX can support Arabic and other Unicode languages with polyglossia package. Although fonts may be tricky to set and a number of people opt-in to LuaTeX/XeLaTeX for smoother experience (the downside is that non-LaTeX may not always be an option in real-life publisher requirements)
        • Examples from Org mailing list on complex typesetting while keeping sources in Org mode
    • Adham Omran wrote colemak input method for Arabic (only qwerty-based variant is available by default in Emacs)

      • I suggested submitting it as a patch for Emacs core.
    • On the Emacs fringe indicators showing buffer begin/end

      • ↑↓ indicate that there is more text above/below the screen
      • 「」 indicate begin/end of the buffer text within displayed part of the buffer
      • These can be enabled using ~(setq-default indicate-buffer-boundaries 'left)~
    • Using helm-org-ql for searching across knowledge base, git commits, and emails

      • I modify the default org-ql search adding a number of shortcuts to quickly filter by tag/todo keyword
        • https://github.com/yantar92/emacs-config/blob/master/config.org#trying-org-ql
          • My modifications are tailored to my own fork of org-ql: https://github.com/yantar92/org-ql
          • Although the particular special feature I used here (custom default org-ql predicate) is already implemented upstream, though using different defcustom.
        • I have a custom helm search, unifying org-ql, notmuch search (for emails), and git commit search
          • https://github.com/yantar92/emacs-config/blob/master/config.org#helm-org-ql
          • I also add custom helm actions to insert bookmark/commit/email Urls or Org links right from helm search.
    0