emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Shift-Arrow Pass Through for windmove?


From: Daniel E. Doherty
Subject: Re: [Orgmode] Shift-Arrow Pass Through for windmove?
Date: Sat, 24 Apr 2010 17:03:51 -0500
User-agent: Thunderbird 2.0.0.24 (X11/20100411)

Carsten,

I'll second Sebastian on this one.  I don't want to let windmove, or
whatever, override anything if it would be useful in org-mode, so a hook
at the end sounds like the right thing.

Don't org-mode users strike you as really greedy?  I'm afraid you've
spoiled us.

Regards,

Dan

Carsten Dominik wrote:

On Apr 24, 2010, at 1:19 AM, Sebastian Rose wrote:

Carsten Dominik <address@hidden> writes:
On Apr 23, 2010, at 6:12 PM, Sebastian Rose wrote:

Daniel E. Doherty <address@hidden> writes:
All,

I make *very* frequent use of the shift-arrow keys to move from window to window inside emacs via windmove. It is probably the most frequent
key combination I access.

Anyway, is there a way to make org-mode friendlier to it by passing the
key along whenever org-mode would otherwise throw an error.  For
example, when not on a heading, when in the agenda, and wherever else?

I really like Carsten's use of the arrow keys for structure editing and
don't want to lose that, just whenever org-mode can't make use of the
keys.

Regards,



And here all the arrow keys.

It's somewhat inelegant, since you always need to keep track of new
useful org-bindings.

I would find an org-internal solution helpfull too. I use windmove.

I have now added

(defvar org-shiftup-hook nil
 "Hook for functions attaching themselves to `S-up'.
See `org-ctrl-c-ctrl-c-hook' for more information.")
(defvar org-shiftdown-hook nil
 "Hook for functions attaching themselves to `S-down'.
See `org-ctrl-c-ctrl-c-hook' for more information.")
(defvar org-shiftleft-hook nil
 "Hook for functions attaching themselves to `S-left'.
See `org-ctrl-c-ctrl-c-hook' for more information.")
(defvar org-shiftright-hook nil
 "Hook for functions attaching themselves to `S-right'.
See `org-ctrl-c-ctrl-c-hook' for more information.")

But I do not intend to attach specific functionality like windmove to them,
and I'd like to reserve the possibility to make S-cursor do something
in Org in more contexts.

Hope this still helps.

This could be perfect!!!

But wouldn't the hook need to be called at the end of (e.g.)
`org-shiftright'?

I want to use windmove as the last resort, as does the OP:


-   (t (org-shiftselect-error))))
+   (t (if org-shiftright-hook
+       ((run-hook-with-args-until-success 'org-shiftright-hook))
+       (org-shiftselect-error))))

;; end of org-shiftright ($otpional arg)



Otherwise we would loose the org-mode specific functions.

We want to

 1. try to do somehing org-specific (if org-headline-p ....)
 2. else run the hook (i.e. windmove in this case)
 3. error    only if 1. and 2. failed


We do use windmove but at the same time we do _not_ want to loose all
those shift-right... features to come ;)

Well, the idea is hat these hooks *can* overrule what org-mode wants to do,
so whatever you put into the hook needs to decide if it wants to apply.

We could add *another* hook at the end...

- Carsten





Sebastian

- Carsten









reply via email to

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