emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* contribute: three pane mode for org
@ 2014-08-23 15:06 Florian Knupfer
  2014-08-24  9:32 ` Thierry Banel
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Florian Knupfer @ 2014-08-23 15:06 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 239 bytes --]

Hello,

I've written a function that enables a three pane view on org files.
I'm quite new to emacs but I'd like to contribute and receive 
feedbacks, improvement etc.

It can be found at:
https://github.com/knupfer/org-panes

Best regards

[-- Attachment #2: Type: text/html, Size: 338 bytes --]

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

* Re: contribute: three pane mode for org
  2014-08-23 15:06 contribute: three pane mode for org Florian Knupfer
@ 2014-08-24  9:32 ` Thierry Banel
  2014-08-24 14:17 ` Suvayu Ali
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Thierry Banel @ 2014-08-24  9:32 UTC (permalink / raw)
  To: emacs-orgmode

Good job !

You may be new to Emacs, but you already master a lot:
- hiding-showing,
- indirect buffers,
- save-excursion,
- faces,
- overlays,
- post-command-hook,
- and emacs lisp


Le 23/08/2014 17:06, Florian Knupfer a écrit :
> Hello,
>
> I've written a function that enables a three pane view on org files.
> I'm quite new to emacs but I'd like to contribute and receive
> feedbacks, improvement etc.
>
> It can be found at:
> https://github.com/knupfer/org-panes
>
> Best regards 

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

* Re: contribute: three pane mode for org
  2014-08-23 15:06 contribute: three pane mode for org Florian Knupfer
  2014-08-24  9:32 ` Thierry Banel
@ 2014-08-24 14:17 ` Suvayu Ali
  2014-08-26 17:20 ` Eric S Fraga
  2014-08-27  9:20 ` Ernesto Durante
  3 siblings, 0 replies; 9+ messages in thread
From: Suvayu Ali @ 2014-08-24 14:17 UTC (permalink / raw)
  To: emacs-orgmode

Hi Florian,

On Sat, Aug 23, 2014 at 05:06:48PM +0200, Florian Knupfer wrote:
> Hello,
> 
> I've written a function that enables a three pane view on org files.
> I'm quite new to emacs but I'd like to contribute and receive 
> feedbacks, improvement etc.
> 
> It can be found at:
> https://github.com/knupfer/org-panes

I have a small bug report ;).  I created an issue on github.  This looks
like a great library, thanks a lot :).

-- 
Suvayu

Open source is the future. It sets us free.

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

* Re: contribute: three pane mode for org
  2014-08-23 15:06 contribute: three pane mode for org Florian Knupfer
  2014-08-24  9:32 ` Thierry Banel
  2014-08-24 14:17 ` Suvayu Ali
@ 2014-08-26 17:20 ` Eric S Fraga
       [not found]   ` <6fc48620-bea8-482c-ba5a-c3d259f84051@email.android.com>
  2014-08-27  9:20 ` Ernesto Durante
  3 siblings, 1 reply; 9+ messages in thread
From: Eric S Fraga @ 2014-08-26 17:20 UTC (permalink / raw)
  To: Florian Knupfer; +Cc: emacs-orgmode

Hi,

this sounds interesting but I have just tried to use it and I get:

:  if: Symbol's value as variable is void: org-panes-list

I can send a backtrace if you wish.

Maybe I am not using this properly?  All I tried was "M-x org-panes RET"
after loading the file.

thanks,
eric

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 24.4.50.1, Org release_8.3beta-246-g77d0da

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

* Re: contribute: three pane mode for org
       [not found]   ` <6fc48620-bea8-482c-ba5a-c3d259f84051@email.android.com>
@ 2014-08-26 19:01     ` Eric S Fraga
       [not found]       ` <8850026e-6574-449f-85c9-1e78d3bc3104@email.android.com>
  0 siblings, 1 reply; 9+ messages in thread
From: Eric S Fraga @ 2014-08-26 19:01 UTC (permalink / raw)
  To: Florian Knupfer; +Cc: emacs-orgmode

On Tuesday, 26 Aug 2014 at 19:37, Florian Knupfer wrote:
> Hi eric,
>
> sry I was profiling and optimizing a bit the code and haven't noticed,
> that this variable was only in my emacs session defined.
>
> It is now fixed and much less cpu-consuming.

Thanks!  It does work now.

And it seems to work quite well.  I need to play with some of the
variables but I can see myself getting used to having this.  Sort of an
org specific multi-level speedbar.  It's particularly useful on my very
wide monitor where much of the space is wasted often...

Thanks again,
eric

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 24.4.50.1, Org release_8.3beta-246-g77d0da

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

* Re: contribute: three pane mode for org
       [not found]       ` <8850026e-6574-449f-85c9-1e78d3bc3104@email.android.com>
@ 2014-08-27  7:31         ` Eric S Fraga
  0 siblings, 0 replies; 9+ messages in thread
From: Eric S Fraga @ 2014-08-27  7:31 UTC (permalink / raw)
  To: Florian Knupfer; +Cc: emacs-orgmode

On Tuesday, 26 Aug 2014 at 21:36, Florian Knupfer wrote:
> your very welcome,
> i'll refactor the code a bit and clean up in the next days and think that its than mostly complete.
> If you've got suggestions concerning features or the code, I would be
> pleased to hear from, enabling me to learn.

A couple of quick points:

- the highlight of headline seems to work in the OVERVIEW window but
  doesn't track lower down in the CONTENTS window.
- I use org indent mode and visual-line-mode so lines wrap in the
  screen.  This makes the OVERVIEW and CONTENTS windows messy.  It would
  be nicer to have those windows truncate lines if possible.

thanks,
eric

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 24.4.50.1, Org release_8.3beta-284-g2593b4

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

* Re: contribute: three pane mode for org
  2014-08-23 15:06 contribute: three pane mode for org Florian Knupfer
                   ` (2 preceding siblings ...)
  2014-08-26 17:20 ` Eric S Fraga
@ 2014-08-27  9:20 ` Ernesto Durante
  2014-08-27 10:13   ` Thorsten Jolitz
  3 siblings, 1 reply; 9+ messages in thread
From: Ernesto Durante @ 2014-08-27  9:20 UTC (permalink / raw)
  To: emacs-orgmode

Florian Knupfer <f.knupfer@gmail.com> writes:

> Hello,
>
> I've written a function that enables a three pane view on org files.
> I'm quite new to emacs but I'd like to contribute and receive 
> feedbacks, improvement etc.
>
> It can be found at:
> https://github.com/knupfer/org-panes
>
> Best regards

very good and integrates nicely with the current workflow.
Why not 2 panes only (content and showall) ? 

Best
Ernesto

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

* Re: contribute: three pane mode for org
  2014-08-27  9:20 ` Ernesto Durante
@ 2014-08-27 10:13   ` Thorsten Jolitz
  2014-08-28 13:46     ` Ernesto Durante
  0 siblings, 1 reply; 9+ messages in thread
From: Thorsten Jolitz @ 2014-08-27 10:13 UTC (permalink / raw)
  To: emacs-orgmode

Ernesto Durante <stobossey@gmail.com> writes:

> Florian Knupfer <f.knupfer@gmail.com> writes:
>
>> Hello,
>>
>> I've written a function that enables a three pane view on org files.
>> I'm quite new to emacs but I'd like to contribute and receive 
>> feedbacks, improvement etc.
>>
>> It can be found at:
>> https://github.com/knupfer/org-panes
>>
>> Best regards
>
> very good and integrates nicely with the current workflow.
> Why not 2 panes only (content and showall) ? 

Are you aware of navi-mode.el? 

It does exactly this - put the overview (-> content) in a second
window next to the details (-> showall). Only that the overview is a
*Navi* buffer that is

- plain read-only text (not a folded outline), what has many advantages
  (though, like in occur and dired, 'M-x navi-edit-mode' makes the
  buffer temporarily editable and propagates changes to the associated
  Org/Outshine buffer)

- a pretty smart remote-control of the associated Org (or Outshine)
  buffer, offering many different views on the Org buffer, and lots of
  navigation & structure editing commands with vim-like
  one-key-bindings.

Keys 1 to 8 in the *Navi* buffer show the headlines up to that
level. Additionally, these keyword searches have been defined for
Org-mode:

,----
| [KEY] : [SEARCH]
| ================
|                 	b : srcblock
|                 	x : time
|                 	I : inline-srcblock
|                 	W : srcname-w-name
|                 	M : multilineheader
|                 	Y : priority
|                 	T : target
|                 	R : radiotarget
|                 	D : drawer
|                 	S : timestamp
|                 	N : srcname
|                 	U : result
|                 	Z : result-w-name
|                 	O : options
|                 	P : propertydrawer
|                 	A : deadline
|                 	H : scheduled-time-hour
`----

(note that these searches are customizable, so they can be modified  or
extended by the user via the customize interface)

With a prefix-arg, you can combine headline and keyword searches. 
E.g. given this Org buffer

,----
| * A
| ** B 
| 
| #+BEGIN_SRC emacs-lisp
|  (+ 2 2)
| #+END_SRC
| 
| #+results:
| : 4
| 
| ** C :mytag:
|    DEADLINE: <2014-08-27 Mi 22:00>
| *** [#A] D
| very important
`----

trigger *Navi* buffer with 

,----[ C-h f navi-search-and-switch RET ]
| navi-search-and-switch is an interactive Lisp function in
| `navi-mode.el'.
| 
| It is bound to M-s n.
| 
| (navi-search-and-switch)
| 
| Call `occur' and immediatley switch to `*Navi:original-buffer-name*' buffer
`----

then typing '2' shows

,----
|   1:* A
|   2:** B 
|  11:** C :mytag:
`----

typing 'A' shows

,----
|  12:   DEADLINE: <2014-08-27 Mi 22:00>
`----

and combining headline with keyword-searches with 'C-2 A' or 'C-u 2 A'
shows

,----
|   1:* A
|   2:** B 
|  11:** C :mytag:
|  12:   DEADLINE: <2014-08-27 Mi 22:00>
`----

The *Navi* buffer is like a remote-control for the associated Org or
Outshine buffer, here is a list of things (besides the headline and
keyword searches) you can do without leaving the *Navi* buffer (using
vim-like one-key bindings):

,----[ C-h f navi-mode RET ]
| navi-mode is an interactive Lisp function in `navi-mode.el'.
| 
| (navi-mode)
| 
| Parent mode: `occur-mode'.
| 
| Major mode for easy buffer-navigation.
| In this mode (derived from `occur-mode') you can easily navigate
| in an associated original-buffer via one-key commands in the
| navi-buffer. You can alter the displayed document structure in
| the navi-buffer by sending one-key commands that execute
| predefined occur searches in the original buffer. `navi-mode' is
| especially useful in buffers with outline structure, e.g. buffers
| with `outline-minor-mode' activated and `outshine' extensions
| loaded.
| key             binding
| ---             -------
| 
| C-c		Prefix Command
| TAB		navi-cycle-subtree
| RET		occur-mode-goto-occurrence
| C-o		occur-mode-display-occurrence
| ESC		Prefix Command
| SPC		scroll-up-command
| ! .. *		navi-generic-command
| +		navi-demote-subtree
| ,		navi-act-on-thing-at-point
| -		navi-promote-subtree
| .		scroll-other-window
| / .. 9		navi-generic-command
| :		scroll-other-window-down
| ;		navi-generic-command
| <		navi-move-down-subtree
| = .. D		navi-generic-command
| E		navi-edit-mode
| F .. ]		navi-generic-command
| ^		navi-move-up-subtree
| _ .. b		navi-generic-command
| c		navi-copy-thing-at-point-to-register-s
| d		occur-mode-display-occurrence
| e		navi-edit-as-org
| f		navi-generic-command
| g		navi-revert-function
| h		navi-show-help
| i		navi-isearch
| j		navi-generic-command
| k		navi-kill-thing-at-point
| l		navi-query-replace
| m		navi-mark-thing-at-point-and-switch
| n		occur-next
| o		navi-goto-occurrence-other-window
| p		occur-prev
| q		navi-quit-and-switch
| r		navi-narrow-to-thing-at-point
| s		navi-switch-to-twin-buffer
| t		navi-generic-command
| u		navi-undo
| v		navi-generic-command
| w		navi-widen
| x		navi-generic-command
| y		navi-yank-thing-from-register-s
| z		navi-mail-subtree
| { .. ~		navi-generic-command
| DEL		scroll-down-command
| <mouse-2>	occur-mode-mouse-goto
| <remap>		Prefix Command
| 
| C-M-i		navi-cycle-buffer
| 
| M-n		occur-next
| M-p		occur-prev
| 
| C-c C-c		occur-mode-goto-occurrence
| C-c C-f		next-error-follow-minor-mode
| 
| 
| 
| In addition to any hooks its parent mode might have run,
| this mode runs the hook `navi-mode-hook', as the final step
| during initialization.
`----
 
-- 
cheers,
Thorsten

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

* Re: contribute: three pane mode for org
  2014-08-27 10:13   ` Thorsten Jolitz
@ 2014-08-28 13:46     ` Ernesto Durante
  0 siblings, 0 replies; 9+ messages in thread
From: Ernesto Durante @ 2014-08-28 13:46 UTC (permalink / raw)
  To: emacs-orgmode

Thorsten Jolitz <tjolitz@gmail.com> writes:

Hi Thorsten,

Great package. Thanks for all your explanation.

Ernesto

> Are you aware of navi-mode.el? 
>
> It does exactly this - put the overview (-> content) in a second
> window next to the details (-> showall). Only that the overview is a
> *Navi* buffer that is
>
> - plain read-only text (not a folded outline), what has many advantages
>   (though, like in occur and dired, 'M-x navi-edit-mode' makes the
>   buffer temporarily editable and propagates changes to the associated
>   Org/Outshine buffer)
>
> - a pretty smart remote-control of the associated Org (or Outshine)
>   buffer, offering many different views on the Org buffer, and lots of
>   navigation & structure editing commands with vim-like
>   one-key-bindings.
>
> Keys 1 to 8 in the *Navi* buffer show the headlines up to that
> level. Additionally, these keyword searches have been defined for
> Org-mode:
>
> ,----
> | [KEY] : [SEARCH]
> | ================
> |                 	b : srcblock
> |                 	x : time
> |                 	I : inline-srcblock
> |                 	W : srcname-w-name
> |                 	M : multilineheader
> |                 	Y : priority
> |                 	T : target
> |                 	R : radiotarget
> |                 	D : drawer
> |                 	S : timestamp
> |                 	N : srcname
> |                 	U : result
> |                 	Z : result-w-name
> |                 	O : options
> |                 	P : propertydrawer
> |                 	A : deadline
> |                 	H : scheduled-time-hour
> `----
>
> (note that these searches are customizable, so they can be modified  or
> extended by the user via the customize interface)
>
> With a prefix-arg, you can combine headline and keyword searches. 
> E.g. given this Org buffer
>
> ,----
> | * A
> | ** B 
> | 
> | #+BEGIN_SRC emacs-lisp
> |  (+ 2 2)
> | #+END_SRC
> | 
> | #+results:
> | : 4
> | 
> | ** C :mytag:
> |    DEADLINE: <2014-08-27 Mi 22:00>
> | *** [#A] D
> | very important
> `----
>
> trigger *Navi* buffer with 
>
> ,----[ C-h f navi-search-and-switch RET ]
> | navi-search-and-switch is an interactive Lisp function in
> | `navi-mode.el'.
> | 
> | It is bound to M-s n.
> | 
> | (navi-search-and-switch)
> | 
> | Call `occur' and immediatley switch to `*Navi:original-buffer-name*' buffer
> `----
>
> then typing '2' shows
>
> ,----
> |   1:* A
> |   2:** B 
> |  11:** C :mytag:
> `----
>
> typing 'A' shows
>
> ,----
> |  12:   DEADLINE: <2014-08-27 Mi 22:00>
> `----
>
> and combining headline with keyword-searches with 'C-2 A' or 'C-u 2 A'
> shows
>
> ,----
> |   1:* A
> |   2:** B 
> |  11:** C :mytag:
> |  12:   DEADLINE: <2014-08-27 Mi 22:00>
> `----
>
> The *Navi* buffer is like a remote-control for the associated Org or
> Outshine buffer, here is a list of things (besides the headline and
> keyword searches) you can do without leaving the *Navi* buffer (using
> vim-like one-key bindings):
>
> ,----[ C-h f navi-mode RET ]
> | navi-mode is an interactive Lisp function in `navi-mode.el'.
> | 
> | (navi-mode)
> | 
> | Parent mode: `occur-mode'.
> | 
> | Major mode for easy buffer-navigation.
> | In this mode (derived from `occur-mode') you can easily navigate
> | in an associated original-buffer via one-key commands in the
> | navi-buffer. You can alter the displayed document structure in
> | the navi-buffer by sending one-key commands that execute
> | predefined occur searches in the original buffer. `navi-mode' is
> | especially useful in buffers with outline structure, e.g. buffers
> | with `outline-minor-mode' activated and `outshine' extensions
> | loaded.
> | key             binding
> | ---             -------
> | 
> | C-c		Prefix Command
> | TAB		navi-cycle-subtree
> | RET		occur-mode-goto-occurrence
> | C-o		occur-mode-display-occurrence
> | ESC		Prefix Command
> | SPC		scroll-up-command
> | ! .. *		navi-generic-command
> | +		navi-demote-subtree
> | ,		navi-act-on-thing-at-point
> | -		navi-promote-subtree
> | .		scroll-other-window
> | / .. 9		navi-generic-command
> | :		scroll-other-window-down
> | ;		navi-generic-command
> | <		navi-move-down-subtree
> | = .. D		navi-generic-command
> | E		navi-edit-mode
> | F .. ]		navi-generic-command
> | ^		navi-move-up-subtree
> | _ .. b		navi-generic-command
> | c		navi-copy-thing-at-point-to-register-s
> | d		occur-mode-display-occurrence
> | e		navi-edit-as-org
> | f		navi-generic-command
> | g		navi-revert-function
> | h		navi-show-help
> | i		navi-isearch
> | j		navi-generic-command
> | k		navi-kill-thing-at-point
> | l		navi-query-replace
> | m		navi-mark-thing-at-point-and-switch
> | n		occur-next
> | o		navi-goto-occurrence-other-window
> | p		occur-prev
> | q		navi-quit-and-switch
> | r		navi-narrow-to-thing-at-point
> | s		navi-switch-to-twin-buffer
> | t		navi-generic-command
> | u		navi-undo
> | v		navi-generic-command
> | w		navi-widen
> | x		navi-generic-command
> | y		navi-yank-thing-from-register-s
> | z		navi-mail-subtree
> | { .. ~		navi-generic-command
> | DEL		scroll-down-command
> | <mouse-2>	occur-mode-mouse-goto
> | <remap>		Prefix Command
> | 
> | C-M-i		navi-cycle-buffer
> | 
> | M-n		occur-next
> | M-p		occur-prev
> | 
> | C-c C-c		occur-mode-goto-occurrence
> | C-c C-f		next-error-follow-minor-mode
> | 
> | 
> | 
> | In addition to any hooks its parent mode might have run,
> | this mode runs the hook `navi-mode-hook', as the final step
> | during initialization.
> `----

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

end of thread, other threads:[~2014-08-28 13:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-23 15:06 contribute: three pane mode for org Florian Knupfer
2014-08-24  9:32 ` Thierry Banel
2014-08-24 14:17 ` Suvayu Ali
2014-08-26 17:20 ` Eric S Fraga
     [not found]   ` <6fc48620-bea8-482c-ba5a-c3d259f84051@email.android.com>
2014-08-26 19:01     ` Eric S Fraga
     [not found]       ` <8850026e-6574-449f-85c9-1e78d3bc3104@email.android.com>
2014-08-27  7:31         ` Eric S Fraga
2014-08-27  9:20 ` Ernesto Durante
2014-08-27 10:13   ` Thorsten Jolitz
2014-08-28 13:46     ` Ernesto Durante

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).