[2606] in BarnOwl Developers
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
>