~adnano/astronaut-devel

4 2

master build fails, feature ideas

Details
Message ID
<C9KPYBVQPQ7F.7I4RGB0VTK8H@ace>
DKIM signature
missing
Download raw message
Hi. With your latest master commit 43ad928, `make` fails:

```
go build  \
	-ldflags "-X main.Prefix=/usr/local \
	-X main.ShareDir=/usr/local/share/astronaut \
	-X main.Version=0.0.0" \
	-o astronaut
# astronaut
./tab.go:312:17: cannot use &w (type *ResponseWriter) as type gemini.ResponseWriter in argument to t.handleAbout:
	*ResponseWriter does not implement gemini.ResponseWriter (missing SetMediaType method)
./tab.go:316:14: cannot use &w (type *ResponseWriter) as type gemini.ResponseWriter in argument to handleFile:
	*ResponseWriter does not implement gemini.ResponseWriter (missing SetMediaType method)
make: *** [Makefile:29: astronaut] Error 2
```

Also, bookmarking is not idempotent, creates duplicates.

Otherwise, I built the previous commit with no issues (apart from
missing /usr/share/astronaut). I love it, and I'm interested in your
plans for it. I like its configurable design.

Personally, I've been trying to find a gemini browser which can closely
emulate the web browsering experience the Vimium-C plugin offers.

Possible new features:

- A link select mode 'f', with visual prompts marking links within the
  viewport with a letter (typically from the home row).  Pressing a
  letter (or letter sequence if there's more than 26) opens the link.
  'F' opens the link in a new tab.

  It's troublesome scrolling and reading, then having to <tab> your way
  from the top back down to where you were.  Other browsers use the
  number keys which doesn't feel as smooth.

- Variable page scrolling, from vim.  Prefixing {page-up/down} with a
  typed number to scroll N lines for that scroll and subsequent scrolls.
  I frequently tap 9<C-d> before subsequent <C-d>'s in vim, less, etc.

  Perhaps there's another creative solution. At least half-page-down and
  half-page-up (or quarter-page-*).

- An "open-link-in-new-tab" command.

- A "duplicate-tab" command.

What do you think? Bloat or float?
If I have time, I'd love to write some patches.
Details
Message ID
<C9KVQRNRXA5K.2E21PM8Q7HZXJ@nitro>
In-Reply-To
<C9KPYBVQPQ7F.7I4RGB0VTK8H@ace> (view parent)
DKIM signature
pass
Download raw message
On Sat Feb 27, 2021 at 6:58 PM EST, Byron Torres wrote:
> Hi. With your latest master commit 43ad928, `make` fails:

I've pushed a commit which resolves the issue. Thanks for letting me
know!

> Also, bookmarking is not idempotent, creates duplicates.

Yes, this is a known issue. Currently the bookmarks file is treated as
an append-only log.

> Otherwise, I built the previous commit with no issues (apart from
> missing /usr/share/astronaut). I love it, and I'm interested in your
> plans for it. I like its configurable design.

I'm still deciding myself what astronaut should be. I'm open to
suggestions.

> Personally, I've been trying to find a gemini browser which can closely
> emulate the web browsering experience the Vimium-C plugin offers.

> Possible new features:
>
> - A link select mode 'f', with visual prompts marking links within the
> viewport with a letter (typically from the home row). Pressing a
> letter (or letter sequence if there's more than 26) opens the link.
> 'F' opens the link in a new tab.
>
> It's troublesome scrolling and reading, then having to <tab> your way
> from the top back down to where you were. Other browsers use the
> number keys which doesn't feel as smooth.
>
> - Variable page scrolling, from vim. Prefixing {page-up/down} with a
> typed number to scroll N lines for that scroll and subsequent scrolls.
> I frequently tap 9<C-d> before subsequent <C-d>'s in vim, less, etc.
>
> Perhaps there's another creative solution. At least half-page-down and
> half-page-up (or quarter-page-*).
>
> - An "open-link-in-new-tab" command.
>
> - A "duplicate-tab" command.
>
> What do you think? Bloat or float?
> If I have time, I'd love to write some patches.

Some of these ideas seem pretty good. The link select mode might need
some more thought (where should the prompts be displayed?). I agree that
tabbing between links is not ideal.

Currently, unlike vim, each key press corresponds to a single command,
meaning that there is no way to bind a sequence of key presses to a
command. This is merely a limitation of our current design, though.

Another thing to note is that there is no command mode. I haven't
decided yet whether there should be a command mode.
Details
Message ID
<C9MW7BMIF09Z.276U3UHJMRRNJ@ace>
In-Reply-To
<C9KVQRNRXA5K.2E21PM8Q7HZXJ@nitro> (view parent)
DKIM signature
missing
Download raw message
On Sun Feb 28, 2021 at 4:30 AM GMT, Adnan Maolood wrote:
> The link select mode might need some more thought (where should the
> prompts be displayed?).

I'm not familiar with tcell, but I guess the easiest way would be to
append/prefix the labels "[a]", "[s]", "[d]", etc. to the end of the
link titles.  Cancelling link-select-mode would remove the labels.

> Currently, unlike vim, each key press corresponds to a single command,
> meaning that there is no way to bind a sequence of key presses to a
> command.

In regards to vim-like variable scrolling, I'm personally OK with
preconfiguring a constant scroll number. I almost never want a full page
scroll, it's disorientating. Something like the following scfg. Thoughts?

	[binds.conf]
	# number of lines (my suggestion)
	page-up   u 10
	page-down d 10
	# or percentage of viewport height (another thought)
	page-up   u 20%
	page-down d 20%
	# probably best to implement only the first one

> > - An "open-link-in-new-tab" command.
> > - A "duplicate-tab" command.
> I haven't decided yet whether there should be a command mode.

I think I meant what you refer to in you man page as "directives" or
"actions", not commands.

Correct me if I'm wrong, but I get the sense that you want astronaut to
be minimalistic.  If so, I like that direction and I'll keep it in mind.
I'm aware that features like key sequences and command-line modes are
useful but add complexity, which might lead to turning config files into
scripting languages.
Details
Message ID
<C9MY0JFSRVWE.1DPX972Y3YRT8@nitro>
In-Reply-To
<C9KPYBVQPQ7F.7I4RGB0VTK8H@ace> (view parent)
DKIM signature
pass
Download raw message
On Sat Feb 27, 2021 at 6:58 PM EST, Byron Torres wrote:
> - A "duplicate-tab" command.

Oh, I forgot to mention that there already is a "duplicate-tab" command,
except it's called "clone tab". The default key binding is capital C.
Looks like the sample configuration file is missing it.
Details
Message ID
<C9MY5QIF33I8.PTDWNE29KYVE@nitro>
In-Reply-To
<C9MW7BMIF09Z.276U3UHJMRRNJ@ace> (view parent)
DKIM signature
pass
Download raw message
On Tue Mar 2, 2021 at 8:17 AM EST, Byron Torres wrote:
> On Sun Feb 28, 2021 at 4:30 AM GMT, Adnan Maolood wrote:
> > The link select mode might need some more thought (where should the
> > prompts be displayed?).
>
> I'm not familiar with tcell, but I guess the easiest way would be to
> append/prefix the labels "[a]", "[s]", "[d]", etc. to the end of the
> link titles. Cancelling link-select-mode would remove the labels.

Sure, that seems doable.

> > Currently, unlike vim, each key press corresponds to a single command,
> > meaning that there is no way to bind a sequence of key presses to a
> > command.
>
> In regards to vim-like variable scrolling, I'm personally OK with
> preconfiguring a constant scroll number. I almost never want a full page
> scroll, it's disorientating. Something like the following scfg.
> Thoughts?

I'm fine with allowing the user to configure this. Either a percentage
or a number is fine with me. We might even allow the user to specify
either.

> - An "open-link-in-new-tab" command.
> - A "duplicate-tab" command.

Astronaut already has a command to duplicate tabs, but a command to open
a link a new tab is currently not implemented. It is definitely
something we should implement.

> I think I meant what you refer to in you man page as "directives" or
> "actions", not commands.
>
> Correct me if I'm wrong, but I get the sense that you want astronaut to
> be minimalistic. If so, I like that direction and I'll keep it in mind.
> I'm aware that features like key sequences and command-line modes are
> useful but add complexity, which might lead to turning config files into
> scripting languages.

Correct. However, some features might be worth the added complexity if
they improve the user experience.
Reply to thread Export thread (mbox)