From: John Kitchin <jkitchin@andrew.cmu.edu>
To: stardiviner <numbchild@gmail.com>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: How to defint functions for other org link parameters like :face :display etc?
Date: Thu, 21 May 2020 09:44:57 -0400 [thread overview]
Message-ID: <CAJ51ETr4s4uWJNqHt4P6n4+SORCVdayMHXFV21_qKzxmk+pyoQ@mail.gmail.com> (raw)
In-Reply-To: <87imgrcz9r.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6285 bytes --]
Here is a real minimal example:
#+BEGIN_SRC emacs-lisp
(defun a-func (start end path bracketp)
(let ((d (concat "@" path)))
(set-text-properties start end `(display ,d))))
(org-link-set-parameters "alink"
:activate-func 'a-func)
#+END_SRC
it has some problems, and you might need to add additional cursor-sensor
type functions to remove the properties for editing, for example. That will
be tricky to get just right.
John
-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
On Tue, May 19, 2020 at 6:53 PM stardiviner <numbchild@gmail.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
>
> John Kitchin <jkitchin@andrew.cmu.edu> writes:
>
> > I don't know if :display is for that, I think it is mostly related to
> > should a link with description only show the description, or should it be
> > full and show link and description.
> >
> > You probably want the :activate option, where you could use something
> like
> > an overlay on the link. I don't have time to make an example for that
> right
> > now. the gist is you make an activate function, and you can add a
> > text-property or overlay display on the link. You probably need to check
> > that the property isn't there already to avoid adding overlays on
> > every fontification.
> >
> >
> >
> https://kitchingroup.cheme.cmu.edu/blog/2016/11/04/New-link-features-in-org-9/#org069cbfa
> > John
>
> I see, let me take a try on ~:active-func~ parameter. Thanks a lot, John.
>
> Regards
>
> >
> > -----------------------------------
> > Professor John Kitchin
> > Doherty Hall A207F
> > Department of Chemical Engineering
> > Carnegie Mellon University
> > Pittsburgh, PA 15213
> > 412-268-7803
> > @johnkitchin
> > http://kitchingroup.cheme.cmu.edu
> >
> >
> >
> > On Tue, May 19, 2020 at 9:21 AM stardiviner <numbchild@gmail.com> wrote:
> >
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA256
> >>
> >>
> >> John Kitchin <jkitchin@andrew.cmu.edu> writes:
> >>
> >> > My go to reference is
> >> >
> >>
> https://kitchingroup.cheme.cmu.edu/blog/2016/11/04/New-link-features-in-org-9/
> >>
> >> Really thanks, John. I have read your blog article. Found most of link
> >> parameters examples. But still confused me, I'm wandering how to define
> a
> >> function for link parameter ":display" to append an all-the-icons
> unicode
> >> icon
> >> on link. I only found one ~:display 'full~ example in your article.
> >>
> >> an you show an example using a function for ~:display~? Thanks in
> advanced.
> >>
> >> >
> >> > On Tue, May 19, 2020 at 6:56 AM stardiviner <numbchild@gmail.com>
> wrote:
> >> >
> >> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> >> Hash: SHA256
> >> >>
> >> >>
> >> >> I'm write an extension to beautify org link with colors and unicode
> >> icons
> >> >> for
> >> >> better intuitive looks. But I don't know how to write those
> functions.
> >> >>
> >> >> I checked out this info page ([[info:org#Adding Hyperlink
> >> >> Types][info:org#Adding Hyperlink Types]]) of org mode.
> >> >>
> >> >> But have not found ~org-link-set-parameters~ other parameters code
> >> >> examples. I
> >> >> hope some examples can be added for the all other parameters.
> >> >>
> >> >> - --
> >> >> [ stardiviner ]
> >> >> I try to make every word tell the meaning that I want to
> express.
> >> >>
> >> >> Blog: https://stardiviner.github.io/
> >> >> IRC(freenode): stardiviner, Matrix: stardiviner
> >> >> GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
> >> >>
> >> >> -----BEGIN PGP SIGNATURE-----
> >> >>
> >> >> iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7DuYkUHG51bWJjaGls
> >> >> ZEBnbWFpbC5jb20ACgkQG13xyVromsMMRAf/dkXg9kxbgTeCdjfcl2koeJkBmfNj
> >> >> xFGkuM0MlAc1oCIvGAeZ23GZ/B9cgtbfarGdZy1FJl9r7ehFx10Qg9w5keSIptA6
> >> >> mplEeCeKNgTwzyHIMQhI4xS+a80YliJNc8MgFi2o9tImKqavVV2eqwHPZDNE8HXt
> >> >> NEN+tfi8k2Sg7J7XhkdQD1YiNPTnKD8OXfzaR6162l5qSo3YuwoAegGmuULie2Ti
> >> >> fci2pFO56g46xLp1tWvI6z+Zxabyff/IjKkSWSNTHuQ5lhvYsmuFKF1JDfS/DHJV
> >> >> zy3Rr6sXK+MY1YWMMh2uLvmigL/BYl5HvjzC/Sq6wXcqVi0FuryeEfDWzg==
> >> >> =HMJr
> >> >> -----END PGP SIGNATURE-----
> >> >>
> >> >> --
> >> > John
> >> >
> >> > -----------------------------------
> >> > Professor John Kitchin
> >> > Doherty Hall A207F
> >> > Department of Chemical Engineering
> >> > Carnegie Mellon University
> >> > Pittsburgh, PA 15213
> >> > 412-268-7803
> >> > @johnkitchin
> >> > http://kitchingroup.cheme.cmu.edu
> >>
> >>
> >> - --
> >> [ stardiviner ]
> >> I try to make every word tell the meaning that I want to express.
> >>
> >> Blog: https://stardiviner.github.io/
> >> IRC(freenode): stardiviner, Matrix: stardiviner
> >> GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
> >>
> >> -----BEGIN PGP SIGNATURE-----
> >>
> >> iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7D3TMUHG51bWJjaGls
> >> ZEBnbWFpbC5jb20ACgkQG13xyVromsPoCQf/TrUtyBtPUYGtNiJeXWk0oQNbwggf
> >> 6FHX3wsvBS3O9A2VpKuzWTdnKSFR7dVUF8NkBwHbvU+599LqT5XxGtF2iDX+jgiz
> >> t0G2207sczHtiwsE/KLGAxXmEI4tGESLv+4Jui3kjp8JJJCusDcjzTIXQ6O9sb91
> >> PmSbQhj4dbUz/3zk+utLb3YBMUPDnsr4H+eon+ko+EQOxTL48O4x7xvjj07XrnX3
> >> DawQG0qs9SnenkMsK2HzQBRDqCf0DfrVPmajWYUQJ62j2ocah8oXij6WH5/rgCpA
> >> xtt2sXJrQd2TFpCxcGWn5PsyEUMWjxAx1dia8pcMkBLvnb2SQkM6204jWQ==
> >> =SVJD
> >> -----END PGP SIGNATURE-----
> >>
> >>
>
>
> - --
> [ stardiviner ]
> I try to make every word tell the meaning that I want to express.
>
> Blog: https://stardiviner.github.io/
> IRC(freenode): stardiviner, Matrix: stardiviner
> GPG: F09F650D7D674819892591401B5DF1C95AE89AC3
>
> -----BEGIN PGP SIGNATURE-----
>
> iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7EY3EUHG51bWJjaGls
> ZEBnbWFpbC5jb20ACgkQG13xyVromsMlVQgAge5MxPWefabFQfvcM1fHNgSVf4B3
> vsPJmXqaVHRGmhUq2ug8wakYDoDIpdXX0M6VzVxm29ImmYsKM/JgpgEgZGR81DLI
> RMyra/MvKC414klP4UZNHEqjcbpKxh2OxpnmfuDXvkve6epnSBGoX70wlRQIC1NN
> BY3c1Gt44usVY1VwHnAaK+htlPU8CWc0Nn/0peOuB5qSJkjc60Pu9HKTx5EsJ0uD
> OF1IdfP7k+d8Eew58LNgOgoL1S9xqpsGhzurI05qCAgtqWFlYZP0VP9tGDkh7aIF
> YziNcGNPg6Nq5Dac1gIeTEyC40iCNNPCLxzNjrXYyUcmSPLIrysdTyeQ1g==
> =4JMm
> -----END PGP SIGNATURE-----
>
>
[-- Attachment #2: Type: text/html, Size: 9329 bytes --]
next prev parent reply other threads:[~2020-05-21 13:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-19 10:48 How to defint functions for other org link parameters like :face :display etc? stardiviner
2020-05-19 11:44 ` John Kitchin
2020-05-19 13:20 ` stardiviner
2020-05-19 13:36 ` John Kitchin
2020-05-19 22:53 ` stardiviner
2020-05-21 13:44 ` John Kitchin [this message]
2020-05-21 14:28 ` [SOLVED] " stardiviner
2020-05-19 13:27 ` stardiviner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAJ51ETr4s4uWJNqHt4P6n4+SORCVdayMHXFV21_qKzxmk+pyoQ@mail.gmail.com \
--to=jkitchin@andrew.cmu.edu \
--cc=emacs-orgmode@gnu.org \
--cc=numbchild@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.