[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SUMMARY] #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3
From: |
Ihor Radchenko |
Subject: |
[SUMMARY] #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3 |
Date: |
Sun, 01 Sep 2024 11:46:21 +0000 |
- 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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SUMMARY] #10 [[bbb:OrgMeetup]] on Wed, Aug 14, 19:00 UTC+3,
Ihor Radchenko <=