all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3
@ 2024-07-27 12:05 Ihor Radchenko
  2024-09-01 11:46 ` [SUMMARY] " Ihor Radchenko
  0 siblings, 1 reply; 2+ messages in thread
From: Ihor Radchenko @ 2024-07-27 12:05 UTC (permalink / raw)
  To: emacs-orgmode

Dear all,

Another OrgMeetup will be scheduled on the second Wednesday of August,
in two weeks.

Previous meetup notes:
https://list.orgmode.org/87ed7tcphi.fsf@localhost/

URL: https://bbb.emacsverse.org/b/iho-h7r-qg8-led
Time & Date: <2024-08-14 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 development
- 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.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

* [SUMMARY] #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3
  2024-07-27 12:05 #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3 Ihor Radchenko
@ 2024-09-01 11:46 ` Ihor Radchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2024-09-01 11:46 UTC (permalink / raw)
  To: emacs-orgmode


- 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/87a5llzmco.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-list.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 
      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=72254

- 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 upstream
  - ... 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#default-attachment-directory--multi-selection-for-attach
    - Here, I
      1. Provide a default directory to search for attachments (=~/Downloads=)
      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. <do whatever triggers slowness>
      3. M-x profiler-report
      4. Navigate the report buffer and use TAB to expand items
      5. Can use =B= to display report as "reverse call tree"; =C= 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 =data=
      dir (~org-attach-id-dir~) 
    - org-id is not the whole story
      The whole story is in https://orgmode.org/manual/Attachments.html
      - By default, Org mode uses =DIR= heading property, if it is set
        (and you can set it from M-x org-attach)
      - You can also configure =DIR= 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 =DIR= property, =ID= property is
        used to construct the attachment dir names
      - Also, if you do not like the default UUID style of =ID=
        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-efgh-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 =C-<RET>=, =M-<RET>=, 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 similar 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 roam
  - 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
 
  - 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 integrating 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 ?┄))))
        `((daily today require-timed)
          (800 1000 1200 1400 1600 1800 2000)
          ,(if graphical " ┄┄┄┄┄ " "......")
          ,(if graphical "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄" "----------------")))
    #+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=W_ZqYfaDPkwyBNa-87=rv=pQos8=a=xEcSS9CT4qybTKftg@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 <tab> cycle displayed columns between different views:
      1. Everything displayed
      2. Columns and rows hidden in such a way that first/last column/row are 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/eece0fd0bf85f2846bc6a58bf0f9de75
    (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 charts 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" file:"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=(($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 supply 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 code associated with the plot's type is run when the plot is generated. We want 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 interested 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 fraction of a column total, multiplied by 2*pi. We can sum each extent as it is 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=(2*pi*$2/STATS_sum),last_angle=last_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/preset-plot-types~. My pie chart implementation required creating two functions: one, ~jet/pie-chart-pre~, for general setup, and one to make the plot itself

      ,** 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=(2*pi*$%d/STATS_sum),last_angle=last_angle+annular_extent,annular_extent):(1):($0+1) \\\n"
                    (car deps))
            "with sectors units xx lc variable fill solid, \\\n"
            "last_angle=0 "
            (format "\"%s\" " data-file)
            (format "using (annular_extent=(2*pi*$%d/STATS_sum),last_angle+annular_extent/2):(last_angle=last_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;unset xtics;unset ytics;unset key;"
           "set theta clockwise top;"
           "last_angle=0")))
      ,#+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 params plot-str))
             :plot-pre  (lambda (table data-file num-cols params plot-str)
                          (jet/pie-chart-pre table data-file num-cols params 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 this"
      ,#+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.fsf@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.com/blog/2024/08/2024-08-12-emacs-news/
[17:51] Welcome to <b>[[bbb:OrgMeetup]]</b>!<br /><br />For help on using BigBlueButton see these (short) <a href="https://www.bigbluebutton.org/html5" target="_blank"><u>tutorial videos</u></a>.<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 <a href="https://docs.bigbluebutton.org/" target="_blank"><u>BigBlueButton</u></a>.
[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 preview system.  When will it be in?
[18:02] karthink : https://github.com/tecosaur/org-latex-preview-todos/issues
[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 folder or attach it
[18:15] visuwesh : there were some more options too iirc but i personally dont use them so i dont remember them
[18:17] datenzauberer : great
[18:17] Ihor Radchenko : 17.19 Drag and Drop & ‘yank-media’
[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@localhost/
[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 restart
[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 headlines 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/refactor-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. 
Switched back to doc-view
[18:42] Rudy : Ihor is commendable!
[18:43] Rudy : Just opened a thick biology textbook in PDF Tools, RAM jumped from 1.4 to 1.7 GB.
[18:44] Jeff Trull : (reading back) karthink do y'all need some helps on org-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 staff) 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 the 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 dispatcher (manual)
[18:51] karthink : org-macs does not depend on Org, so they're mostly general-purpose.  The name is similar to cl-macs, macros defined by the cl-lib package
[18:51] relict007 : Thanks Ihor. Useful info.
[18:52] Dave M : Zerorg: nvm, the browser was including the closing parenthesis :(
[18:52] Ihor Radchenko : Do something after inserting a heading - org-insert-heading-hook (but have to use C-<RET> 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 journal 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 commands)."
  (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 sufficient
[18:55] Jeff Trull : If there's time I have a presentation on custom plot types
[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 packages, nice work kickingvegas
[19:13] visuwesh : IIRC, you were originally writing a bunch of custom menus 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 IBAN bank transfers?  Magit has that option, and they also prefer it.  It makes 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 for 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 needed since org binds the relevant keybindings to M-<arrow>
[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 activate speed keys at point.
[19:21] Rudy : I have been using the alternative bindings since the beginning.  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-<left/right> in table particular always surprises me because i intend to move across words
[19:24] visuwesh : s/because/when/
[19:25] visuwesh : yea
[19:25] visuwesh : i find M-<right/left> is conveninet when you're inputting numbers
[19:26] visuwesh : like you have the right hand over the arrow keys, and the 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 like 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 so 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 anyone 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! Bye
[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 persistent menu for repeat-maps that doesn't use transient
[19:53] Jeff Trull : https://gist.github.com/jefftrull/eece0fd0bf85f2846bc6a58bf0f9de75
[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/kickingvegas/casual-agenda
[20:01] kickingvegas : nice idea karthink
[20:02] karthink : kickingvegas: Maybe you can work on a auto-transient package
[20:03] kickingvegas : perhaps
[20:03] karthink : For complex packages like calc, spending the time to create 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@gmail.com/
:end:

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>



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

end of thread, other threads:[~2024-09-01 11:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-27 12:05 #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3 Ihor Radchenko
2024-09-01 11:46 ` [SUMMARY] " Ihor Radchenko

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.