From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 4LvZDPtT1Ga7DgEA62LTzQ:P1 (envelope-from ) for ; Sun, 01 Sep 2024 11:46:03 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id 4LvZDPtT1Ga7DgEA62LTzQ (envelope-from ) for ; Sun, 01 Sep 2024 13:46:03 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=b8O2TQir; dmarc=pass (policy=none) header.from=posteo.net; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1725191163; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=6PCGKX2PqLzxCD7j/1Fz8+05N+eHLSQ/WZoDOK8B+O0=; b=AHNj+/nshPbfOL9AV6i5EKHgjs595+GX5zccXydUsMBdffA1wEyFE3rV4UiBPrxiRcxC1G ABCb8BoLHdg9kVlh+wAPJN06RTWGEFpDe8JrgI8rOe82Y+A662Tgk4vw1f3h2LGd9DoqTS QvIjH2pGNcSGQA1hOmv63bkDh4tKxqu+jLDfl0TnpnXj6M9hPAGzmTq/6dXqRzACubr6do BLKMHxEz39gYzBTzn/YKFGNSd2zkEnl7PEzMw51PWG8x5+kjOHi+3nA5BrgckhvD48wqzF Y22gfvvBLkRso46M2BxkooQYt9sKs0ZEojF/C/9dNQt/m5+eAzH43XBF9pos4Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1725191163; a=rsa-sha256; cv=none; b=aP7AHTXWZUmBWbpkyL+vZwVCDaqr57RJBNkVe+f1MOeVGDnnQ45mcMI32HnVNwJXtAJ/Xv fD2A9PD65d7c1QA6w0obhberoeHsswfpjwxvsZuVD0rdxJr+K35Tf1pG9JpWIh992NXtIK LRukmObRN0HeuAJZsYxoDMx0Vcy1duL9WMT+OUArn0nMRkjXCR97+/Moi1+f6iMMpYl0wa tzGEwGfkfuQtG3G5CIu0HghIaMtokVoUZOR4mrjyWAk8noELUenkAnxstyHFYhovluHTvJ zUKuf+7tl9qukGKjcCslhHQZAiy+O/GMbBeiLCpNFhqHnu6jukaFZ51Y8nLugw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=b8O2TQir; dmarc=pass (policy=none) header.from=posteo.net; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id AE21A66BF1 for ; Sun, 01 Sep 2024 13:46:01 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1skj16-0005X5-O2; Sun, 01 Sep 2024 07:45:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1skj12-0005Wj-FR for emacs-orgmode@gnu.org; Sun, 01 Sep 2024 07:45:09 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1skj0u-0001k0-JY for emacs-orgmode@gnu.org; Sun, 01 Sep 2024 07:45:06 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id ACD1E240103 for ; Sun, 1 Sep 2024 13:44:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1725191097; bh=aAj262aVTNJh7iR4biVqP/NWHU+Wl1HmNh+BvnSnXHw=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type: Content-Transfer-Encoding:From; b=b8O2TQir8+XX6j4z+SHEvVNstDIxHmOaPcEf2hRoO5Q2blWaPMlQNWR+uEbDmNxFO jRHUjeBgcx0mz51OCftGmoHEzDrDN96sypF55pcStsCl2iVajpwOqY3F/WP1JsJhHh zRxLsOed/mwcODJ79tQkc/cglfxWUp7QwtgBGOfoBkLbrwNK4FcR0dqnqlN3TBM0OQ 8J7d5sfG1qNmf/uuT8MgfynPhpR4rSFmaK3vN0WE8mzDW1X9hhf4dqtmSMOI428fHR ueEVdfpLi9aZdKyXpC2prdwnOC62WRN195pg96h1rGXfTAfbj1DnkxU4jZhOehOBkL NTExsi4xt+GmQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4WxVRr6qQdz6tw3 for ; Sun, 1 Sep 2024 13:44:56 +0200 (CEST) From: Ihor Radchenko To: emacs-orgmode@gnu.org Subject: [SUMMARY] #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3 In-Reply-To: <87wml7avm9.fsf@localhost> References: <87wml7avm9.fsf@localhost> Date: Sun, 01 Sep 2024 11:46:21 +0000 Message-ID: <874j6zlhpu.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.71 X-Spam-Score: -6.71 X-Migadu-Queue-Id: AE21A66BF1 X-Migadu-Scanner: mx11.migadu.com X-TUID: WFWeZbIVPrUh - The recent Sacha's News: https://sachachua.com/blog/2024/08/2024-08-12-emacs-news/ - Rudy asked about the current status of LaTeX preview feature - Karthink (one of the authors of the new LaTeX preview) was around, so he replied in detail - There are a couple of blockers they want to tackle first, all listed = in https://github.com/tecosaur/org-latex-preview-todos/issues - In particular, ob-latex is currently broken on the feature branch https://github.com/tecosaur/org-latex-preview-todos/issues/32 - ob-odt is another blocker that *should* be already fixed, but we need confirmation from more users. Please, help See https://github.com/tecosaur/org-latex-preview-todos/issues/21 - Another notable problem is backwards compatibility with some packages (pdf-tools and ox-hugo) https://github.com/tecosaur/org-latex-preview-todos/issues/36 - The problem is partially because these packages are abusing internals of the old latex preview API, but Karthink will try to avoid breakage even then (by modifying the old code a little) - From Org maintenance perspective, we are not obliged to keep inner workings backwards compatible, but may choose to when it is easy to do - It will be indeed great to keep things working even for packages abusing internals, but we should not introduce new bugs by doing this - Visuwesh pointed that pdf-tools breakage is taken care of, so we are left with fixing ox-hugo support - Also, we are just starting a more formal review, making sure that latex preview is not only working, but also integrates with other parts of Org mode - See the initial set of questions in https://list.orgmode.org/87a5ll= zmco.fsf@localhost/#t - A bit later into the discussion, Jeff Trull offered help with org-latex-preview branch - Reply from Karhink - "Help is always welcome! The first step would be to read through org-latex-preview.el and org-async (in org-macs.el) and make a mental map of the feature. I can share an unfinished write-up (privately) that can help." - "Step 2 would be to look at the issues in the GitHub page linked above." https://github.com/tecosaur/org-latex-preview-todos/issues - Karhink's email is karthikchikmagalur@gmail.com - He is also present in #org-mode Matrix room: https://matrix.to/#/%23org-mode:matrix.org - Also, we can use help in Org mode project itself :) - Feel free to ask about whatever part of Org you are interested in. Either via the usual mailing list: https://orgmode.org/worg/org-mailing-li= st.html or, me directly, on Mastodon: https://emacs.ch/@yantar92 - Karthink asked about drag and drop of images into Org files (a new Org 9.7 feature) - I showed a small demo on dragging images from browser into an Org file - By default, Org mode asks what to do with such an images (can be just a file as well): attach to current heading, open the image in a new image-mode buffer, or put a link to the image - Of course, everything is configurable. See=20 https://orgmode.org/manual/Drag-and-Drop-_0026-yank_002dmedia.html - I also extended the demo showcasing M-x yank-media support to insert an image from clipboard - I used https://flameshot.org/ to select a region on screen interactively and copy its screenshot to clipboard - Then, I can use M-x yank-media to insert link to the screenshot at point. Very handy. - From a later discussion in Matrix room, it looks like Karthink has issues with DnD on Wayland - Org mode simply relies upon Emacs's DnD support. Usually, platform-specific issues are related to Emacs itself - There is Emacs bug#72254 (fixed in Emacs 30) that might be relevant https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D72254 - datenzauberer asked about my Emacs config - It is here: https://github.com/yantar92/emacs-config - I have way too much staff there, some of which should probably go upstr= eam - ... but sometimes it is easier said than done - For example, I was recently looking into upstreaming my config for attaching multiple files via org-attach (in vanilla, it only allows one file at a time) https://github.com/yantar92/emacs-config/blob/master/config.org#defau= lt-attachment-directory--multi-selection-for-attach - Here, I 1. Provide a default directory to search for attachments (=3D~/Downlo= ads=3D) 2. Use ~helm-read-file-name~ to read multiple files and directories to attach - I looked into implementing the same using built-in Emacs facilities and ran into a problem that Emacs has no UI for multi-file selection - This led to a long discussion on emacs-devel, concluding that we need to implement a brand-new UI. Easier said then done... https://yhetil.org/emacs-devel/875xthfyz3.fsf@localhost/T/#u - On the status of Org mode refactoring effort - karthink joked that the new Latex preview will probably be ready before the refactoring is done. Simply to avoid rebasing the whole thing onto refactored Org :) - ... which probably does not put Latex preview merge much closer as I am now grinding through the legacy agenda code, which is a mess - In particular, for the last few weeks, I am trying to untangle Org mapping API (https://orgmode.org/manual/Using-the-Mapping-API.html, ~org-scan-tags~, ~org-map-entries~) to be not affected by agenda settings - The API was originally implemented for agenda, taking into account ~org-agenda-skip-function~ and a number of less obvious agenda customizations, which may catch users by surprise when using the API - Over the years, the same function grew to include various use cases like building sparse tree (by side effect!) - What I am trying to do is to split it into generic search, agenda-specific search, and sparse-tree specific actions - Furthermore, I am trying to do the same for standard agenda blocks, which currently interleave searching headings with building text that is actually displayed in agenda with all its formatting, and (undocumented) text properties - ... no end in sight - I periodically push the WIP branch into https://git.sr.ht/~yantar92/org-mode/log/feature/refactor-deps-v2 - It should be usable (I use it daily), modulo bugs I introduce during refactoring - The aim is to make the whole thing bisectable (any given commit should not crash) after the merge - there will be bugs - Zororg asked advice on what to do when Emacs is being slow after 3-4 days uptime (pgtk build) - Rudy and kickingvegas commented that they do not observe anything like this - Emacs slowness is often caused by unoptimized third-party packages - To know better, it is recommended to use built-in CPU profiler 1. M-x profiler-start RET cpu RET 2. 3. M-x profiler-report 4. Navigate the report buffer and use TAB to expand items 5. Can use =3DB=3D to display report as "reverse call tree"; =3DC=3D = to go back to the default - Sometimes, Emacs may be slow in Org mode specifically on really large Org files, especially in folded state: Emacs redisplay must go through all the hidden text to make sure that no small piece of text properties undoes the invisibility. When you hide megabytes of text inside the fold, that can make Emacs choke (narrowing helps in such scenario) - Zororg also complained about high memory usage (>200Mb) - This is awkward: 200Mb is not much, especially when Emacs needs to load images - And Emacs stores images in raw uncompressed form in memory... - Rudy added that his current Emacs memory usage is 1.4Gb - probably opened PDFs with many pages cached as images - Rudy asked what org-macs is - org-macs.el is one of the many Org mode libraries - It defines generic functions and macros (mostly independent of Org) used across Org mode - The name is from "macros", although we have functions there as well - relict007 asked about using attachments in Org mode - "By default it uses org-id and attachment files get saved far away from the original org file" - by default, attachments are actually stored nearby, in =3Ddata=3D dir (~org-attach-id-dir~)=20 - org-id is not the whole story The whole story is in https://orgmode.org/manual/Attachments.html - By default, Org mode uses =3DDIR=3D heading property, if it is set (and you can set it from M-x org-attach) - You can also configure =3DDIR=3D property inheritance via ~org-attach-use-inheritance~ or by the normal means via ~org-use-property-inheritance~ (by default ~org-attach-use-inheritance~ respects global inheritance settings) - Further, if there is no =3DDIR=3D property, =3DID=3D property is used to construct the attachment dir names - Also, if you do not like the default UUID style of =3DID=3D values, it can be customized via ~org-id-method~ - Changing the ID generation method will not affect the already stored attachments - "deleting org file does not delete the attachments" - this is true, but I have not the slightest clue how Org mode could hook into user deleting Org file from, say, command line - For what its worth, there is ~org-attach-archive-delete~ controlling what to do with attachments when archiving headings - visuwesh suggested that it might be annoying that attachment directories, by default, create multi-level hierarchy like "ab/cd-efg= h-ijkl" - This is configurable via ~org-attach-id-to-path-function-list~ - Zororg asked if there is a way to add ID to all newly created headings - visuwesh suggested that ~org-id-link-to-org-use-id~ might be good enough to get ID properties for all the headings that matter - From my experience, it is not necessarily the case, depending on org-attach configuration. Sometimes, if a heading does not have an ID, attachment may be created in unexpected place, unless I explicitly store a link to the heading at point just to create that ID - A programmatic way to create IDs for each newly created heading is ~org-insert-heading-hook~. This hook is trigerred when creating headings with Org commands like ~org-insert-heading~ and similar (all the usual =3DC-=3D, =3DM-=3D, etc will work) Example code to create ID for each new heading: #+begin_src emacs-lisp (defun yant/set-created-property () "Add CREATED property to new headings (created via C-RET and simila= r commands)." (org-entry-put nil "CREATED" (format-time-string "%X" (current-time= )))) (add-hook 'org-insert-heading-hook #'yant/set-created-property) #+end_src - Zororg shared https://github.com/toshism/org-super-links/ - This is back-linking solution for Org mode that does not require Org ro= am - My personal IMHO is that it is a nice project, but it would benefit from tighter integration with Org mode APIs - Currently, it simply replaces store/insert link commands, making any kind of non-standard usage problematic. Nothing is also achieved "for free" - only specific workflows are supported. - kickingvegas presented his new package, adding agenda support to his Casual suite (custom transient menus for various major modes in Emacs) - https://github.com/kickingvegas/casual-agenda - It was a live demo - We noticed that some built-in agenda commands are missing: (1) monthly agenda view; (2) fortnight view. - [2024-08-21 Wed] As of now, casual-agenda already has them - kickingvegas also commented that sometimes he is getting a problem when Org agenda commands complain that they are not in the right buffer - karthink : Sometimes, when nested transients are involved, a suffix command runs in the transient buffer itself instead of ~transient--original-buffer~ - Ideally, this should be reported upstream - Although, the docstring of ~transient--original-buffer~ is peculiar : The buffer that was current before the transient was invoked. : Usually it remains current while the transient is active. *usually* ?? o_O Then, why internal variable? - visuwesh asked kickingvegas about his previous work on UIs that did not yet use transient: http://yummymelon.com/devnull/customizing-the-emacs-context-menu.html - Both mouse menu and keyboard-driven transient UIs are usable, depending on the context =20 - After the demo, we deviated away into discussing modern Emacs UI concepts - Since long ago we got hydras - More recently, there are repeat keymaps (built-in) - ... and transient (built-in) - we also got which-key (built-in) - Now, transient is leveraged by Casual suite mixing transient and hydras, and also making everything curated - There might even be a potential to use it as Android UI (on sensor screens) - Ideally, it should not be just Charles (kickngvegas) who is responsible for creating each casual interface, but the major mode authors (just like how majors modes are responsible for creating menus now) - And here I reiterated my past idea with a distant goal of integrati= ng built-in M-x help-quick with Casual (I am afraid that kickingvegas might be annoyed by this topic as I mentioned it about 3 times by now, in various meetups) - On that note karthink shared his https://github.com/karthink/repeat-help package that is creating a kind of mix between repeat-mode, Casual, and which-key - pop up menu for repeat maps; displaying all the repeat bindings, like in which-key, but with more detailed description (docstring), not forcing users to guess what a command with given names actually does (go figure what something poorly named like Org mode's ~org-ctrl-c-ctrl-c~ does...) - That brought us back to Org mode topic and the topic of Org mode key bindings in particular - visuwesh asked whether Org mode could have repeat maps for outline navigation in Org mode (C-c C-n n n p n p ..., C-c C-f b f...) - Such functionality has been added to outline-mode upstream - Patches for Org mode equivalent are indeed welcome - They do not even have to be the past weekend after the meetup Any time will do ;) - For now, we at least have speed keys as an alternative https://orgmode.org/manual/Speed-Keys.html - Rudy suggested adding a shortcut to activate [or maybe toggle?] speed keys at point - No such thing is built-in, but we have ~org-speed-command-hook~, where you can program any logic to activate/deactivate speed commands - Or you can use ~org-use-speed-commands~ - it may be a function - I am not sure if such a toggle would be of interest for many Org users though. But we may check if you post a feature request on the mailing list, so that people have a chance to vote - karthink asked how to check if a given symbol can be displayed by Emacs - visuwesh : ~char-displaylable-p~ - Also, see how ~org-agenda-time-grid~ does it: #+begin_src emacs-lisp (let ((graphical (and (display-graphic-p) (char-displayable-p ?=E2=94=84)))) `((daily today require-timed) (800 1000 1200 1400 1600 1800 2000) ,(if graphical " =E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2=94=84 " = "......") ,(if graphical "=E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2= =94=84=E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2=94=84=E2=94= =84=E2=94=84" "----------------"))) #+end_src - We had a discussion about M-left/right binding in tables - Some people find it surprising - Some do not mind - Some find useful - I guess that the conclusion here is that we might make the "dwim" commands in Org mode more customizable, so that users could adjust the dwim behavior better - Here is a part of ~org-metaright~ from refactoring branch #+begin_src emacs-lisp (defun org-metaright (&optional _arg) ;; ... (cond ((run-hook-with-args-until-success 'org-metaright-hook)) ((org-at-table-p) (call-interactively #'org-table-move-column)) ((org-at-drawer-p) (call-interactively #'org-indent-drawer)) ((org-at-block-p) (call-interactively #'org-indent-block)) ;; ... (t (call-interactively #'forward-word)))) #+end_src You can see that it is simply a giant ~cond~, which we may rewrite into a hook. - There is a potential for better customization without too much effort writing relevant patches. So, contributing this kind of feature should not be too hard (yes, patches welcome ;]) - Rudy asked about the infamous problem with how Org tables look with visual-line-mode - visuwesh suggested https://github.com/misohena/phscroll - It is a nice package, but it may cause performance degradation on larger files and tables - Rudy pointed to a recent iteration of Emacs feature request to allow mixing truncated and wrapped lines: https://yhetil.org/emacs-devel/CAO=3DW_ZqYfaDPkwyBNa-87=3Drv=3DpQos8=3D= a=3DxEcSS9CT4qybTKftg@mail.gmail.com/t/#u - My own idea is to expand the idea of folding to tables - We can already limit the column width via ~org-table-shrink~ - May as well make cycle displayed columns between different view= s: 1. Everything displayed 2. Columns and rows hidden in such a way that first/last column/row a= re visible (think of IPython large table display in pandas) 3. Something in-between - kickingvegas asked about cell content reference so that long form content can be supported in a table? - I do not know a good way to do it. Maybe via table formulas, but multiline content will still not work. - Jeff Trull presented a demo on writing custom plot type (pie chart) for org-plot (~org-plot/preset-plot-types~) - Gnuplot reference: http://www.gnuplot.info/demo/sectors.html - Presentation https://gist.github.com/jefftrull/eece0fd0bf85f2846bc6a58b= f0f9de75 (I am putting it here - GitHub is not reliable in the long run) #+begin_src org ,#+TITLE: Creating a Custom Plot Type for org-mode ,#+AUTHOR: Jeff Trull ,* Introduction - Motivated by last month's discussion of PLOT - I wanted to understand the semantic meaning of PLOT for my Keynote = backend - Ihor pointed out the newly released "sectors" feature in gnuplot - makes it theoretically possible to implement things like pie char= ts that Keynote has ,* Basic PLOT usage Let's grab some data from NOAA (US weather and climate agency): ,#+PLOT: title:"Contiguous U.S. June Average Temperature" ind:1 deps:= (3) set:"ytics 0.5" ,#+PLOT: set:"xtics 5" set:"grid" with:"linespoints pointtype 19" fil= e:"temps.png" | Year | Fahrenheit | Celsius | |------+------------+---------| | 1970 | 68.72 | 20.4 | | 1971 | 69.42 | 20.8 | | 1972 | 68.18 | 20.1 | | 1973 | 68.94 | 20.5 | | 1974 | 68.47 | 20.3 | | 1975 | 67.50 | 19.7 | | 1976 | 67.78 | 19.9 | | 1977 | 70.32 | 21.3 | | 1978 | 68.92 | 20.5 | | 1979 | 67.80 | 19.9 | | 1980 | 68.72 | 20.4 | | 1981 | 69.80 | 21.0 | | 1982 | 66.31 | 19.1 | | 1983 | 67.06 | 19.5 | | 1984 | 68.59 | 20.3 | | 1985 | 68.09 | 20.1 | | 1986 | 70.39 | 21.3 | | 1987 | 70.23 | 21.2 | | 1988 | 70.84 | 21.6 | | 1989 | 68.11 | 20.1 | | 1990 | 70.21 | 21.2 | | 1991 | 69.04 | 20.6 | | 1992 | 67.41 | 19.7 | | 1993 | 67.19 | 19.6 | | 1994 | 70.93 | 21.6 | | 1995 | 67.53 | 19.7 | | 1996 | 69.84 | 21.0 | | 1997 | 68.29 | 20.2 | | 1998 | 68.11 | 20.1 | | 1999 | 68.29 | 20.2 | | 2000 | 69.01 | 20.6 | | 2001 | 69.21 | 20.7 | | 2002 | 70.84 | 21.6 | | 2003 | 68.02 | 20.0 | | 2004 | 68.05 | 20.0 | | 2005 | 69.19 | 20.7 | | 2006 | 70.74 | 21.5 | | 2007 | 69.85 | 21.0 | | 2008 | 69.58 | 20.9 | | 2009 | 68.50 | 20.3 | | 2010 | 70.47 | 21.4 | | 2011 | 69.80 | 21.0 | | 2012 | 70.52 | 21.4 | | 2013 | 70.38 | 21.3 | | 2014 | 69.57 | 20.9 | | 2015 | 71.33 | 21.9 | | 2016 | 71.74 | 22.1 | | 2017 | 70.32 | 21.3 | | 2018 | 71.53 | 22.0 | | 2019 | 68.70 | 20.4 | | 2020 | 70.27 | 21.3 | | 2021 | 72.57 | 22.5 | | 2022 | 70.79 | 21.6 | | 2023 | 68.99 | 20.6 | | 2024 | 71.82 | 22.1 | ,#+TBLFM:$3=3D(($2-32)*5/9);%.1f [[./temps.png]] ,* Sector Support in gnuplot The introduction of "sectors" in gnuplot 6 has made a rich variety of= plot types possible. See [[http://www.gnuplot.info/demo/sectors.html]] for= details. The feature is still on a relatively low level, however. Users must s= upply for a sector (analogous to a rectangle in Cartesian coordinates) the = initial and final radius, the initial angle, and the angular extent. ,* Solution: Custom Plot Type The "type" of the above plot is the default - /2d/. Special ELisp cod= e associated with the plot's type is run when the plot is generated. We wan= t to make our own type and code for pie charts, using sectors. We can take values from a column in a table, and apportion fractions = of a full circle to each. ,** The gnuplot "stats" command gnuplot can perform useful computations on a column of data. We are i= nterested in the sum, for calculating fractions of a circle: ,#+begin_src gnuplot stats "data" using 2 nooutput; # calculate statistics on column 2 = of the input ,#+end_src ,#+RESULTS: This sets various global variables, including ~STATS_sum~ ,** The gnuplot "using" clause gnuplot processes its input data through a ~using~ clause that allows= for: - arbitrary calculations - variables that can be updated on each row of data For example, we can calculate angular extents in a pie chart as a fra= ction of a column total, multiplied by 2*pi. We can sum each extent as it i= s produced into a variable, so we know where to start the next sector: ,#+begin_src gnuplot # for sectors "using" supplies the initial angle, the start radius,= the angular extent, # the final radius, and the color. # annular_extent and last_angle are variables # $0 gives the current line number and is used to produce different= colors using (last_angle):(0):(annular_extent=3D(2*pi*$2/STATS_sum),last_a= ngle=3Dlast_angle+annular_extent,annular_extent):(1):($0+1) ,#+end_src ,* Putting it all Together Custom plot types require adding a special structure to ~org-plot/pre= set-plot-types~. My pie chart implementation required creating two function= s: one, ~jet/pie-chart-pre~, for general setup, and one to make the plot it= self ,** Plot Code ,#+begin_src elisp (defun jet/pie-chart-func (table data-file num-cols params plot-str) (let ((ind (plist-get params :ind)) (deps (plist-get params :deps)) (labels (plist-get params :labels))) (list (concat (format "\"%s\" " data-file) (format "using (last_angle):(0):(annular_extent=3D(2*pi*$%d/STA= TS_sum),last_angle=3Dlast_angle+annular_extent,annular_extent):(1):($0+1) \= \\n" (car deps)) "with sectors units xx lc variable fill solid, \\\n" "last_angle=3D0 " (format "\"%s\" " data-file) (format "using (annular_extent=3D(2*pi*$%d/STATS_sum),last_angl= e+annular_extent/2):(last_angle=3Dlast_angle+annular_extent, 1.1):%d \\\n" (car deps) ind) "with labels")))) ,#+end_src ,** Plot Setup ,#+begin_src elisp (defun jet/pie-chart-pre (table data-file num-cols params plot-str) (let ((amounts-col (car (plist-get params :deps)))) (concat (format "stats \"%s\" using %s nooutput;" data-file amounts-col) "set yrange [-1.2 : 1.2];set polar;" "unset raxis;set size ratio -1 1,1;unset rtics;unset border;unse= t xtics;unset ytics;unset key;" "set theta clockwise top;" "last_angle=3D0"))) ,#+end_src ,** Creating the Plot Type ,#+begin_src elisp :results none (setq jet/pie-chart-plot-type '(pie :plot-cmd "plot" :plot-func (lambda (table data-file num-cols params plot-str) (jet/pie-chart-func table data-file num-cols para= ms plot-str)) :plot-pre (lambda (table data-file num-cols params plot-str) (jet/pie-chart-pre table data-file num-cols param= s plot-str)))) (add-to-list 'org-plot/preset-plot-types jet/pie-chart-plot-type) ,#+end_src ,* Usage ,#+PLOT: title:"Someone who is good at the economy help me budget thi= s" ,#+PLOT: type:pie ind:1 deps:(2) file:"dril.png" | Category | Cost | |----------+------| | Food | 200 | | Data | 150 | | Rent | 800 | | Candles | 3600 | | Utility | 150 | [[./dril.png]] #+end_src - Rudy asked if it is possible to support Org development with IBAN bank transfers (like for Magit) that have minimal fees - Unlike transient that is developed by a single maintainer, donations to Org mode are shared across major contributors - Here is the initial discussion: https://list.orgmode.org/87iloyyd1y.f= sf@localhost/ (it is also referenced from https://liberapay.com/org-mode/) - Liberapay distribute donations across the developers automatically without a need to have a dedicated "money keeper" - Also, not all the banks even have IBAN (mine does not) - We previously discussed various options in https://list.orgmode.org/87iloyyd1y.fsf@localhost/, including things like checks, but nothing is really reliable. For example, checks may have larger fees than even PayPal; and some countries (Australia) simply abolished checks - TL;DR: We find Liberapay most convenient for the project - One may donate directly to individual Org contributors, but the available options may depend - For me, for example, the bank is not in Europe and does not have IBAN. Even though wire transfers are possible, not a single donation has been done via wire transfer as of now. :chat: [17:40] Ihor Radchenko : The most recent Sacha's News: https://sachachua.co= m/blog/2024/08/2024-08-12-emacs-news/ [17:51] Welcome to [[bbb:OrgMeetup]]!

For help on using B= igBlueButton see these (short) tutorial videos.

To join the au= dio bridge click the phone button. Use a headset to avoid causing backgrou= nd noise for others.

This server is running BigBlueButton. [18:01] visuwesh : something random is fine [18:01] Ilya Chernyshov : yes, we can here you [18:01] Ilya Chernyshov : hear [18:01] Rudy : I can hear well. [18:01] karthink : Can you talk about dragging images into Org mode [18:01] karthink : Does Org now provide a way to do this out of the box [18:02] Rudy : I would like to hear about the status of the new LaTeX previ= ew system. When will it be in? [18:02] karthink : https://github.com/tecosaur/org-latex-preview-todos/issu= es [18:06] Ihor Radchenko : https://list.orgmode.org/87a5llzmco.fsf@localhost/= #t [18:07] Rudy : So, about a decade. :) [18:09] Rudy : Can Ihor even speed up? [18:09] Rudy : He is the maximum Org speed by definition. [18:10] visuwesh : pdf-tools issue is taken care of [18:13] Rudy : Thank you guys for addressing my question. [18:13] karthink : Yes [18:15] karthink : Is this the default Org behavior? [18:15] visuwesh : you should be able to save the image under a specific fo= lder or attach it [18:15] visuwesh : there were some more options too iirc but i personally d= ont use them so i dont remember them [18:17] datenzauberer : great [18:17] Ihor Radchenko : 17.19 Drag and Drop & =E2=80=98yank-media=E2=80=99 [18:17] Ihor Radchenko : Everything is in the manual [18:17] karthink : Got it, thank you [18:18] datenzauberer : i like your emacs setup. is it public ? [18:18] karthink : https://github.com/yantar92/emacs-config [18:19] visuwesh : yank-media [18:22] Ihor Radchenko : https://yhetil.org/emacs-devel/875xthfyz3.fsf@loca= lhost/ [18:22] Ihor Radchenko : (On reading multiple files from Emacs UI) [18:23] Ihor Radchenko : I used flameshot to copy screenshot to clipboard [18:31] karthink : Is this the new or old version of org-scan-tags? [18:34] Zororg : Hi everyone! Question to all: Till how many days have you run emacs without it being slow. For me on wayland pgtk, usually about 3-4 days then it slows down and I res= tart [18:36] kickingvegas : @Zororg - I [18:36] Rudy : Zororg: Mine does now slow down, and so I restart mostly to = upgrade Emacs itself or its packages. [18:37] kickingvegas : I've never really seen this issue [18:37] Rudy : (macOS, the official NS port, from Git) [18:38] kickingvegas : @Zororg, that said, if you don't archive or remove h= eadlines periodically, Org Agenda gets slow [18:38] Zororg : With more days I see `Overall Object Memory Usage` >200MB I dont know how to clear it. Even malloc-trim does not fix slow up. [18:39] Ihor Radchenko : https://git.sr.ht/~yantar92/org-mode/log/feature/r= efactor-deps-v2 [18:39] Ihor Radchenko : this is dev branch I push from time to time [18:39] Ihor Radchenko : for refactoring [18:40] Rudy : My Emacs uses 1.4 GB of memory currently. LOL! [18:42] Zororg : are you pdf-tools? I gave up on it due to high memory usage.=20 Switched back to doc-view [18:42] Rudy : Ihor is commendable! [18:43] Rudy : Just opened a thick biology textbook in PDF Tools, RAM jumpe= d from 1.4 to 1.7 GB. [18:44] Jeff Trull : (reading back) karthink do y'all need some helps on or= g-latex-preview? It sounds like a fun project. Are there appropriate issues= for beginners? [18:46] Ihor Radchenko : Re: slowness. Try M-x profiler-start (do slow staf= f) M-x profiler-report [18:46] relict007 : Workflow question: how does everone use org attachments= ? By default it uses org-id and attachment files get saved far away from th= e original org file. Also deleting org file does not delete the attachments. [18:48] kickingvegas : btw, been working on a Transient menu for Org Agenda= and getting close to releasing it. can give a preview [18:48] Zororg : Ah, the casual suite! Yay! [18:48] visuwesh : it is the nesting of the directories i guess? [18:49] Rudy : What is "org-macs"? I k [18:49] Rudy : I keep seeing that... [18:49] Zororg : Is there a way to add ID to all heading I create? [18:50] karthink : Jeff: Help is always welcome! The first step would be to= read through org-latex-preview.el and org-async (in org-macs.el) and make = a mental map of the feature. I can share an unfinished write-up (privately= ) that can help. Step 2 would be to look at the issues in the github page linked above. [18:50] Zororg : Also, I'd like to plug org-super-links (https://github.com= /toshism/org-super-links/) Many would know this already, it helps to link heading in bidirectional way! [18:51] karthink : Rudy: org-macs is macros used by Org [18:51] Rudy : I see. What a weird name. [18:51] Dave M : Zororg: I get 404 for that link [18:51] Ihor Radchenko : On attachment locations: (1) org-id-method to get = YYYYMMDD-HHMM style dir names; (2) set DIR property of a heading (or parent= heading) to set directory explicitly; see 10.2.1 Attachment defaults and d= ispatcher (manual) [18:51] karthink : org-macs does not depend on Org, so they're mostly gener= al-purpose. The name is similar to cl-macs, macros defined by the cl-lib p= ackage [18:51] relict007 : Thanks Ihor. Useful info. [18:52] Dave M : Zerorg: nvm, the browser was including the closing parenth= esis :( [18:52] Ihor Radchenko : Do something after inserting a heading - org-inser= t-heading-hook (but have to use C- or similar) [18:53] Zororg : Dave, yeah! [18:53] Zororg : Oh thats great. Thank you Ihor! [18:54] Zororg : I'm almost set with my single big org file for all my jour= nal and notes, by leveraging the tags system [18:54] Ihor Radchenko : Example of custom action after creating a heading: (defun yant/set-created-property () "Add CREATED property to new headings (created via C-RET and similar comm= ands)." (org-entry-put nil "CREATED" (format-time-string "%X" (current-time)))) (add-hook 'org-insert-heading-hook #'yant/set-created-property) [18:54] visuwesh : btw, you might find setting org-id-link-to-org-use-id su= fficient [18:55] Jeff Trull : If there's time I have a presentation on custom plot t= ypes [18:56] Zororg : wayland? [18:57] visuwesh : nothing here [18:59] Dave M : no month view? [19:02] karthink : Ihor, how do you check if a symbol can be displayed? [19:02] visuwesh : char-displaylable-p? [19:02] karthink : Thanks [19:09] Ihor Radchenko : transient--original-buffer ? [19:09] karthink : Sometimes, when nested transients are involved, a suffix= command runs in the transient buffer itself instead of transient-original-= buffer [19:09] karthink : You can set the buffer explicitly [19:10] karthink : Monthly view [19:11] Ihor Radchenko : v m [19:12] Jeff Trull : Yeah where's the fortnight support ;) [19:13] Jeff Trull : As always casual lowers the barrier to complex package= s, nice work kickingvegas [19:13] visuwesh : IIRC, you were originally writing a bunch of custom menu= s right? is there a reason why you switched over to transient? [19:14] visuwesh : you [19:14] visuwesh : yes [19:15] visuwesh : ah, fair enough [19:15] Rudy : On a different topic: Can one support Org development with I= BAN bank transfers? Magit has that option, and they also prefer it. It ma= kes sense, as there is no unnecessary middleman, and all money is received,= as it should be. [19:15] visuwesh : yea, i understand your point [19:18] visuwesh : on that note, is there any plan to add repeat keymaps fo= r navigation keys (C-c C-n, C-c C-f, etc.) like outline-mode has already? [19:19] visuwesh : something akin to outline-editing-repeat-map isn't neede= d since org binds the relevant keybindings to M- [19:19] visuwesh : ok, i will send a patch this weekend [19:20] visuwesh : afaik speedkeys only work when you're on the asterisk? [19:20] Rudy : Not everyone has arrow keys, though. [19:20] Rudy : Perhaps there should be a comfortable keyboard shortcut to a= ctivate speed keys at point. [19:21] Rudy : I have been using the alternative bindings since the beginni= ng. I now have arrow keys, but I am used to the old way. :) [19:22] visuwesh : ah okay, i was unaware [19:22] Ihor Radchenko : org-use-speed-commands can be a function [19:24] visuwesh : the shift-select thing bites me from time to time. but = the keybindings are too convenient to let go though [19:24] Rudy : Ping for my IBAN question above. [19:24] kickingvegas : I'm content with n and p [19:24] karthink : A while ago I wrote a package to show a persistent menu = for repeat-maps: https://github.com/karthink/repeat-help [19:24] visuwesh : M- in table particular always surprises me b= ecause i intend to move across words [19:24] visuwesh : s/because/when/ [19:25] visuwesh : yea [19:25] visuwesh : i find M- is conveninet when you're inputtin= g numbers [19:26] visuwesh : like you have the right hand over the arrow keys, and th= e left can jump between the numbers and alt easily [19:26] visuwesh : ah no, the number row [19:27] visuwesh : yeah, i use the emacs bindings when im inputting text. = i get all weird when im writing a table though for some (annoying) reason [19:27] Rudy : same here, M-b and M-f all the way (I have only 34 keys) [19:27] kickingvegas : i'm quite happy with Org table bindings [19:29] Rudy : Org Table needs to improve in Visual Line mode; it looks lik= e loose tea. There was some Emacs bug opened for that. Any news there? [19:29] Rudy : Let me find it. [19:30] visuwesh : https://github.com/misohena/phscroll ? [19:30] Rudy : Search for Subject: truncate-lines as newline property [19:32] kickingvegas : btw, is there a way to have cell content reference s= o that long form content can be supported in a table? [19:33] visuwesh : ahh :)) i never actually tested it after adding it to my= org file in 2021 (jan 1 at that too!) [19:33] Jeff Trull : Unfortunately I'm going to need to leave soon - if any= one wants to see custom plot types I can do it now or we can postpone until= next month [19:38] Rudy : Org file. [19:38] karthink : Presentation [19:48] datenzauberer : sorry i have to leave. Thanks and bye [19:48] Ihor Radchenko : bye [19:48] Ihor Radchenko : :) [19:49] Orm Finnendahl : I have to go as well. Thanks a lot to everybody! B= ye [19:49] Jeff Trull : http://www.gnuplot.info/demo/sectors.html [19:49] Rudy : Same here. Family calls! [19:49] Ihor Radchenko : We haven't reached you question.. [19:49] Ihor Radchenko : I will reply in the summary [19:50] Rudy : Perfect. [19:50] Rudy : Thank you Ihor! [19:52] kickingvegas : nice work Jeff! [19:53] karthink : Re: transient interfaces, I can give a demo of a persist= ent menu for repeat-maps that doesn't use transient [19:53] Jeff Trull : https://gist.github.com/jefftrull/eece0fd0bf85f2846bc6= a58bf0f9de75 [19:53] Jeff Trull : I'm sorry but I have to leave [19:53] Jeff Trull : Thanks everyone [19:55] kickingvegas : latency is really long with BigBlueButton [19:57] karthink : https://github.com/karthink/repeat-help [20:00] kickingvegas : here's repo for Casual Agenda https://github.com/kic= kingvegas/casual-agenda [20:01] kickingvegas : nice idea karthink [20:02] karthink : kickingvegas: Maybe you can work on a auto-transient pac= kage [20:03] kickingvegas : perhaps [20:03] karthink : For complex packages like calc, spending the time to cre= ate a carefully curated interface makes sense [20:04] karthink : But many keymaps are quite straightforward [20:04] Ihor Radchenko : help-quick [20:04] Ihor Radchenko : + transient suite [20:05] Ihor Radchenko : + major modes writing menus themselves [20:06] Ihor Radchenko : https://yhetil.org/emacs-devel/87a5oayblv.fsf@gmai= l.com/ :end: --=20 Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at