[2606] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

Re: RFC: popless-search

daemon@ATHENA.MIT.EDU (David A Benjamin)
Mon Aug 23 18:46:39 2010

Date: Mon, 23 Aug 2010 18:46:37 -0400 (EDT)
From: David A Benjamin <davidben@MIT.EDU>
To: barnowl-dev@mit.edu
In-Reply-To: <alpine.DEB.1.10.1008160313290.12496@dr-wily.mit.edu>

On Mon, 16 Aug 2010, David A Benjamin wrote:

> So... any thoughts? I think it'd be nice if we could ship with a full-fledged 
> command line on the popwin. If that's not easy to polish, a possibility would 
> be to punt most of that and not bind : and M-x in the popwin. Instead, / and 
> ? could be bound to something like popwin:start-search which would only allow 
> for searching. (Hrm, we may want to do something about the tab-completion?) 
> We may want to do that anyway to be like less and show a '/' or '?' as the 
> locktext.

I've implemented this and pushed it to the branch now. There is now a 
popless:start-search. I've also disabled the : and M-x bindings by 
default, altough popwin:start-command still exists.

David

> I made some effort to make the git history readable this time, so hopefully 
> review will not be too painful (unlike owl_window :D).
>
> The following changes since commit d40ad8b64f56d54882ecd4e4c254f1a3c9f101d6:
>
>  Punt OWL_WEBBROWSER_* and userclue (2010-08-07 18:06:17 -0700)
>
> are available in the git repository at:
>  git://github.com/davidben/barnowl.git popless-search
>
> David Benjamin (43):
>      Make owl_fmtext_search take and return an offset
>      Honor the do_search argument to _owl_fmtext_curs_waddstr
>      Update the viewwin when the global search string changes
>      Add owl_fmtext_line_number and test.
>      Add a test case for owl_fmtext_search
>      Don't cause confusion if owl_popwin_up on an active popwin
>      If owl_popwin_up fails, abort the command
>      Implement owl_fmtext_line_extents and add test case
>      Actually set the context interactive in the startup routine
>      Redefine OWL_CTX_ANY to be all 0s, not all 1s
>      To be thorough, track all signal ids in the popwin
>      Check contexts on all commands
>      Create a new owl_popwin every time instead of rewiring the old one
>      Don't leak an owl_popexec if fork or pipe fail
>      Don't export owl_viewwin_set_window.
>      Delete the popwin when closing it
>      Likewise, don't reuse a global owl_viewwin
>      Add owl_viewwin_up and owl_viewwin_down
>      Never move the screen up when during an owl_viewwin_down
>      Draw ~s in empty viewwin lines, to mimic less
>      Add half an implementation of owl_viewwin_search
>      Rearrange some viewwin functions
>      Split the viewwin's status bar into its own window
>      owl_editwin should own a reference to its window
>      Make owl_global_get_typwin return the context's typwin
>      Rename owl_global_get_typwin to owl_global_current_typwin
>      Add deactivate and delete hooks for owl_context
>      Add a separate owl_context_new and remove owl_context_init
>      Add owl_editwin_get_window
>      Ref-count the editwin
>      Use ref-counting to make editwin ownership saner
>      Configure owl_global_set_typwin_inactive to be called on context 
> deactivate
>      Add an unspeakably ugly version of reverse search
>      Use bool instead of int in owl_window
>      Make the check for _owl_window_realize more readable
>      Delay realizing a window until we need it for painting
>      Add a command-line to the viewwin
>      Add owl_function_set_search
>      Just remove owl_function_search_{start,continue} altogether
>      Add OWL_SEARCH_CONTINUE and OWL_SEARCH_MATCH_CURRENT
>      FINALLY! Add a popless:search command
>      Disable a number of commands outsite the recwin
>      Add BarnOwl::Internal::_valid_in_parent_context hack
>
> Makefile.am                         |    2 +-
> cmd.c                               |    8 +-
> commands.c                          |  123 ++++++++-----
> context.c                           |   34 +++-
> editcontext.c                       |   32 ++++
> editwin.c                           |   24 +++-
> fmtext.c                            |   52 +++++-
> functions.c                         |   74 +++++---
> global.c                            |   82 ++++++----
> keys.c                              |   12 +-
> message.c                           |    2 +-
> owl.c                               |    2 +-
> owl.h                               |   36 +++-
> perl/lib/BarnOwl/Complete/Client.pm |    4 +-
> perl/lib/BarnOwl/Completion.pm      |    3 +-
> perlglue.xs                         |   41 ++++--
> popexec.c                           |   18 ++-
> popwin.c                            |   53 ++++--
> tester.c                            |   46 +++++-
> viewwin.c                           |  325 
> ++++++++++++++++++++++++++++-------
> window.c                            |   32 +++-
> window.h                            |   20 ++-
> 22 files changed, 772 insertions(+), 253 deletions(-)
> create mode 100644 editcontext.c
>

home help back first fref pref prev next nref lref last post