emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] rebind TAB in a minor mode; why does org-cycle workd differently wnh


From: Matt Price
Subject: [O] rebind TAB in a minor mode; why does org-cycle workd differently wnhen called iwth M-x?: [WAS:customize behaviour of org-cycle?]
Date: Sun, 16 Mar 2014 15:28:28 -0400

On Sat, Mar 15, 2014 at 2:46 PM, Matt Price <address@hidden> wrote:
> Hi again everyone,
>
> I would like to be able to customize the behaviour of org-cycle/TAB in
> two scenarios, and am wondering if it's possible to do this using
> existing tools, or if I have to write my own versions of org-cycle,
> etc., in order to get what I want.
>
> (1) In my normal day-to-day use I often want an extra level of
> cycling:  instead
> FOLDED --> CHILDREN --> SUBTREE-->FOLDED
> I'd rather have
> FOLDED--> CHILDREN --> ALL DESCENDANTS--> SUBTREE-->FOLDED
>
>
> (2) For my rather pathetic "org-writers-room" mode
> (https://github.com/titaniumbones/org-writers-room), I have a minor
> mode for the left-hand "guide" buffer (see attached screenshot).
> Essentially, it's a table of contents that you can look at while
> you're working on a particular section of your document, which is
> displayed in the 'main' window in the center of the frame, while
> metadata from the properties drawer is displayed in third window on
> the right (see attached screenshot if it's not stripped away).  In the
> guide buffer, I would like to make all non-headline content
> permanently invisible.  So org-cycle should cycle:
> FOLDED-->CHILDREN-->FOLDED
> (or FOLDED-->CHILDREN-->ALL DESCENDANTS-->FOLDED if possible)
>
> and org-cycle-global should cycle:
> OVERVIEW-->CONTENTS-->OVERVIEW
>
>
> If there is a way to do this with relatively high-level existing
> functions that would be great.  Otherwise, it seems I will have to
> provide modified versions of org-cycle, org-cycle-internal-local,
> org-cycle-global, and org-cyclel-interna-globall, and bind TAB and
> S-TAB to them in the minor mode.  I hope I don't have to do that since
> I find those functions, in org.el, somewhat difficult to follow.
>

I couldn't figure out a way to do this using hooks or existing
variables, so I wrote modified versions of org-cycle-internal-local
and org-cycle-internal-global, nad changed org-cycle and
org-cycle-global to call my modified versions instead of the
originals.

Now, though, I would like to bind my new functions to the "tab" key.
However, I know TAB is quite complicated, and seems to be bound to
multiple functions when, for instance, yasnippet is also active.  In
my minor mode, I would like my new org-cycle-mod to use the exact same
keybindings as the original org-cycle does.  what is the best way to
achieve this?  Thank you for your help!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]