Alex Schroeder [Mon, 27 Jul 2020 10:46:12 +0000 (12:46 +0200)]
Add c binding to the Elpher menu
I'm starting to think that maybe the Elpher menu should be using
Elpher mode? I wonder. For now, I sometimes use C-u M-x elpher-menu to
get a history of all my browsing and then I want to quickly copy the
URLs for pasting elsewhere, so the c binding is pretty essential.
Alex Schroeder [Thu, 23 Jul 2020 14:10:29 +0000 (16:10 +0200)]
Use xterm-color instead of ansi-color, if possible
xterm-color isn't part of Emacs, so require it but if it can't be
found, require ansi-color instead. Then use two aliases that point
either the xterm-color code or to ansi-color code.
Alex Schroeder [Thu, 23 Jul 2020 07:10:12 +0000 (09:10 +0200)]
Switch URL and Name position in the menu
In my experience, the URL is often very long, and thus 30 characters
is never enough to show the most important part of it: the end. At the
same time, buffer names are rarely long.
Alex Schroeder [Mon, 20 Jul 2020 09:27:51 +0000 (11:27 +0200)]
Implement three commands for history items
In the Elpher menu, history are shown when invoking it using a prefix.
The history items aren't being shown in a buffer, so switching to
those buffers is not possible. Three buffer menu commands have been
implemented (RET, o, C-o) such that they work with history items.
Alex Schroeder [Mon, 20 Jul 2020 08:03:12 +0000 (10:03 +0200)]
Fixes for elpher-menu
Make URL wider in the display.
Refactor elpher-menu-refresh-current to be easier to read.
Fix elpher-menu-refresh-current such that Gemini Mode entries aren't
shown as type "W" (EWW).
Alex Schroeder [Sat, 4 Jul 2020 13:06:28 +0000 (15:06 +0200)]
Add Gemini Mode to the menu
When I'm using Elpher, and I'm editing Gemini files, chances are that
I want both of them in the same list.
Alex Schroeder [Fri, 3 Jul 2020 19:55:53 +0000 (21:55 +0200)]
Fixes to the Elpher menu code
Added "P" for the interactive declaration of elpher-menu. Fixed the
way current entries are added to the list of entries.
Use (current-buffer) instead of buf because the file is compiled with
lexical binding.
Alex Schroeder [Fri, 3 Jul 2020 16:20:32 +0000 (18:20 +0200)]
Experimental: C-u M-x elpher-menu with history
When called with a prefix argument, the elpher-menu now displays
history items as well. That is, instead of showing each buffer in
Elpher or Eww mode, it shows those buffers, and their history (based
on elpher-history and eww-history).
Sadly, there are no buffers for these, therefore operating on them
does nothing meaningful: visiting them gets you the current
buffer (the last one of every history branch).
Ideally, we'd rework all the buffer commands so that the know what to
do with history entries: visiting the current buffer and hitting
"back" a few times, for example. Or cloning the current buffer and
doing that.
Then again, perhaps we should limit ourself to a much smaller set of
commands for elpher-menu-mode-map (and the doc string of
elpher-menu-mode).
Alex Schroeder [Fri, 3 Jul 2020 16:18:46 +0000 (18:18 +0200)]
tabulated-list-revert-hook must have a local add
If we add elpher-menu-refresh to the global
tabulated-list-revert-hook, then other code that uses
tabulated-list-mode will confusingly sometimes end up creating the
elpher-menu. That's not good.
Alex Schroeder [Thu, 2 Jul 2020 21:42:32 +0000 (23:42 +0200)]
Add elpher menu
Alex Schroeder [Thu, 2 Jul 2020 09:19:55 +0000 (11:19 +0200)]
Support for C-u elpher to have multiple buffers
Alex Schroeder [Thu, 2 Jul 2020 09:19:55 +0000 (11:19 +0200)]
Support for C-u elpher to have multiple buffers
Tim Vaughan [Sat, 19 Sep 2020 10:25:54 +0000 (12:25 +0200)]
Fixed reported version number. (Sigh.)
Tim Vaughan [Sat, 19 Sep 2020 10:09:45 +0000 (12:09 +0200)]
Version bump.
Tim Vaughan [Sat, 19 Sep 2020 10:08:06 +0000 (12:08 +0200)]
Merged Alex Schroeder's header-filling patch. Thanks!!
Tim Vaughan [Sat, 19 Sep 2020 09:54:25 +0000 (11:54 +0200)]
Version bump.
Tim Vaughan [Sat, 19 Sep 2020 09:50:33 +0000 (11:50 +0200)]
Merged Michel Salim's patch. Thanks!
Michel Alexandre Salim [Sat, 15 Aug 2020 23:25:23 +0000 (16:25 -0700)]
Ensure certificate directory exists
Before choosing a permanent client certificate, Elpher tries to list
existing certificates. This fails if `elpher-certificate-directory` does
not exist, e.g.
```
---- ERROR -----
When attempting to retrieve gemini://alexschroeder.ch/do/comment/2020-08-14_How_to_comment_using_Elpher:
Opening directory: No such file or directory, /home/michel/.emacs.d/elpher-certificates
----------------
Press 'u' to return to the previous page.
```
Fix by creating the directory unless it exists in
`elpher-list-existing-certificates`.
Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
Alex Schroeder [Tue, 21 Jul 2020 07:22:56 +0000 (09:22 +0200)]
Fill headers
Filling headers is tricky because fill-column is measured in
characters but the font-size for headers is much larger than for
regular text. This change tries to accomodate this by taking the face
for the heading, getting it's font – a string like
"-BE5N-Iosevka-normal-normal-normal-*-29-*-*-*-d-0-iso10646-1" – turns
it into a spec and gets the size from there: 29. We can't use
something like (face-attribute face :height) directly because it might
return a font size in 1/10 point (if an interger) or as a scaling
factor (if a float). Thus, in order to avoid tracking down the face
inheritance tree, we're looking at the font name (a string), in either
XLFD, Fontconfig, or GTK+ format.
Tim Vaughan [Wed, 1 Jul 2020 19:21:15 +0000 (21:21 +0200)]
Improved default gemini face.
Tim Vaughan [Sun, 28 Jun 2020 22:55:03 +0000 (00:55 +0200)]
Use "persistent", fixed spelling, updated docs.
Tim Vaughan [Fri, 26 Jun 2020 13:34:48 +0000 (15:34 +0200)]
Can now install externally-generated certs from within elpher.
Tim Vaughan [Fri, 26 Jun 2020 11:52:12 +0000 (13:52 +0200)]
Added instructions on how to abort connections.
Tim Vaughan [Fri, 26 Jun 2020 11:51:45 +0000 (13:51 +0200)]
Removed default ports from urls.
Tim Vaughan [Mon, 22 Jun 2020 09:56:57 +0000 (11:56 +0200)]
Fixed spelling error. *facepalm*
Tim Vaughan [Mon, 22 Jun 2020 08:35:01 +0000 (10:35 +0200)]
Added enhancement requests.
Tim Vaughan [Mon, 22 Jun 2020 08:17:21 +0000 (10:17 +0200)]
Added entry for "F"orget command to start page.
Tim Vaughan [Sat, 20 Jun 2020 22:35:07 +0000 (00:35 +0200)]
Tidying up for next release.
Tim Vaughan [Sat, 20 Jun 2020 21:47:44 +0000 (23:47 +0200)]
Added client cert documentation to manual.
Tim Vaughan [Sat, 20 Jun 2020 20:33:39 +0000 (22:33 +0200)]
Closed gemini support issue. :-)
Tim Vaughan [Sat, 20 Jun 2020 20:31:34 +0000 (22:31 +0200)]
Improved client cert UX.
Tim Vaughan [Fri, 19 Jun 2020 22:27:40 +0000 (00:27 +0200)]
Added basic client cert functionality.
Tim Vaughan [Thu, 18 Jun 2020 23:24:51 +0000 (01:24 +0200)]
Version bump.
Tim Vaughan [Thu, 18 Jun 2020 23:24:03 +0000 (01:24 +0200)]
Linting following refactor.
Tim Vaughan [Thu, 18 Jun 2020 22:46:19 +0000 (00:46 +0200)]
Refactored data transfer code.
This is a significant change.
The network code which was previously spread out among
elpher-get-selector, elpher-get-gemini-response and
elpher-get-finger-page has been replaced by a single
elpher-get-host-reponse function.
In addition, we now use make-network-process instead of
open-network-stream, as this affords us greater flexibility
in speicyfing connections. This allows us to properly
specify ipv4, when necessary.
Connection error reporting has been improved, and connection
state is now explicitly reported.
Tim Vaughan [Tue, 9 Jun 2020 09:27:07 +0000 (11:27 +0200)]
Encode URLs before display in mouse-over.
Wasn't doing this previously as it's faster not to (and
it's only the help text and can't be otherwise used),
but rendering special characters in the mouse-over text
apparently causes Emacs to crash on MacOS! >:(
Tim Vaughan [Tue, 9 Jun 2020 09:21:40 +0000 (11:21 +0200)]
Version bump.
Tim Vaughan [Tue, 9 Jun 2020 09:17:05 +0000 (11:17 +0200)]
Revert port-stripping from elpher-address-to-url.
This seemed to be randomly adding the :0 port specifier
to URLs, breaking links. The stripping should be
implemented, but this requires more thought.
Tim Vaughan [Fri, 5 Jun 2020 13:54:10 +0000 (15:54 +0200)]
Version bump.
Tim Vaughan [Thu, 4 Jun 2020 19:05:25 +0000 (21:05 +0200)]
elpher-go now trims surrounding whitespace from input string.
Tim Vaughan [Thu, 4 Jun 2020 07:52:44 +0000 (09:52 +0200)]
Strip default port numbers from URL strings.
Tim Vaughan [Wed, 3 Jun 2020 08:36:30 +0000 (10:36 +0200)]
Tiny refactor.
Koushk Roy [Wed, 3 Jun 2020 05:13:44 +0000 (22:13 -0700)]
Grab port as well as host from elpher-current-page
Tim Vaughan [Tue, 2 Jun 2020 21:12:59 +0000 (23:12 +0200)]
Added confirmation for bookmark deletion.
Tim Vaughan [Tue, 2 Jun 2020 20:41:56 +0000 (22:41 +0200)]
Slight refactor following merge, linting.
Tim Vaughan [Tue, 2 Jun 2020 20:21:50 +0000 (22:21 +0200)]
Merge remote-tracking branch 'origin/patch_force_ipv4'
Tim Vaughan [Tue, 2 Jun 2020 20:04:13 +0000 (22:04 +0200)]
Added a command to return to the start page.
Tim Vaughan [Mon, 1 Jun 2020 20:46:47 +0000 (22:46 +0200)]
Version bump.
Tim Vaughan [Mon, 1 Jun 2020 20:24:06 +0000 (22:24 +0200)]
Improved inline help for finger getter.
Tim Vaughan [Mon, 1 Jun 2020 20:23:44 +0000 (22:23 +0200)]
Added hints to avoid some byte compilation warnings.
Tim Vaughan [Mon, 1 Jun 2020 20:22:27 +0000 (22:22 +0200)]
Mouse-over text now generated when needed.
This _dramatically_ improves rendering speed for link-heavy pages.
Who knew this could be such a bottleneck!?
Tim Vaughan [Mon, 1 Jun 2020 20:21:47 +0000 (22:21 +0200)]
Made gemini link and bullet strings customizable.
Tim Vaughan [Mon, 1 Jun 2020 15:08:46 +0000 (17:08 +0200)]
Brings gemini bullet-deteciton into line with spec update.
Tim Vaughan [Mon, 1 Jun 2020 09:10:36 +0000 (11:10 +0200)]
Bumped priority of bookmark grouping.
Koushk Roy [Mon, 1 Jun 2020 04:28:54 +0000 (21:28 -0700)]
Allow option to force ipv4
Tim Vaughan [Wed, 27 May 2020 07:35:30 +0000 (09:35 +0200)]
Fixed history bug.
Tim Vaughan [Wed, 27 May 2020 07:14:14 +0000 (09:14 +0200)]
Unescape gopher selectors when extracting from URLs.
Tim Vaughan [Tue, 26 May 2020 20:48:27 +0000 (22:48 +0200)]
Added history bug to issues document.
Tim Vaughan [Mon, 25 May 2020 07:48:46 +0000 (09:48 +0200)]
Version bump.
Tim Vaughan [Fri, 22 May 2020 16:08:07 +0000 (18:08 +0200)]
Fixed reflow behaviour around bullets.
Previously, consecutive lines containing bullets could result in
bullets being added, because of emacs' default auto-fill behaviour.
(Which makes sense when editing text, but not when formatting gemini
documents.)
Tim Vaughan [Fri, 22 May 2020 15:44:09 +0000 (17:44 +0200)]
Gave preformatted text its own configurable face.
Tim Vaughan [Fri, 22 May 2020 11:12:30 +0000 (13:12 +0200)]
Version bump.
Tim Vaughan [Fri, 22 May 2020 11:11:21 +0000 (13:11 +0200)]
Work around Doom emacs tls problems.
Tim Vaughan [Fri, 22 May 2020 08:56:37 +0000 (10:56 +0200)]
Version bump.
Tim Vaughan [Wed, 20 May 2020 07:46:37 +0000 (09:46 +0200)]
Make explicit mention of Gemini across all documentation.
Tim Vaughan [Wed, 20 May 2020 07:26:46 +0000 (09:26 +0200)]
Merge remote-tracking branch 'origin/patch_gus'
Tim Vaughan [Tue, 19 May 2020 07:39:52 +0000 (09:39 +0200)]
Added contributors list to README.
Simon South [Mon, 18 May 2020 15:33:57 +0000 (11:33 -0400)]
Recognize Shift-Tab from a Linux virtual console.
Tim Vaughan [Sun, 17 May 2020 21:39:31 +0000 (23:39 +0200)]
Unknown gemini content now rendered as download.
Tim Vaughan [Sun, 17 May 2020 21:25:49 +0000 (23:25 +0200)]
Made gophermap info type parser more robust.
Tim Vaughan [Sun, 17 May 2020 21:25:02 +0000 (23:25 +0200)]
Added transfer progress feedback.
Vee [Sun, 17 May 2020 10:53:29 +0000 (06:53 -0400)]
Reorder search engines
Tim Vaughan [Sun, 17 May 2020 10:36:06 +0000 (12:36 +0200)]
Bugfix: file name suggestion for gemini downloads.
Tim Vaughan [Sun, 17 May 2020 06:44:48 +0000 (08:44 +0200)]
Bugfix: bookmarks saving works again.
Tim Vaughan [Sat, 16 May 2020 21:20:01 +0000 (23:20 +0200)]
Version bump.
Tim Vaughan [Sat, 16 May 2020 21:20:01 +0000 (23:20 +0200)]
Fixed help text for heading faces.
Tim Vaughan [Sat, 16 May 2020 18:53:27 +0000 (20:53 +0200)]
Made bookmarks file location customizable.
Vee [Sat, 16 May 2020 14:30:24 +0000 (10:30 -0400)]
Update documentation to include all supported protocols
This updates some in-code and Elpher homepage command documentation to
be more consistent with the client's support for more than just the
gopher protocol.
Vee [Sat, 16 May 2020 13:56:54 +0000 (09:56 -0400)]
Add Gemini search link to elpher homepage
This commit adds a "homepage" link to GUS in a similar fashion to
Veronica. It's not actually tested, because I'm not very well-versed
in hacking Emacs packages, and doing something like over-writing an
installed version from Melpa.
Thank you for the great client, and please LMK if you have any
feedback or guidance on how to improve this implementation!
Tim Vaughan [Sat, 16 May 2020 12:30:50 +0000 (14:30 +0200)]
Bug fix: redirects now rewrite current address.
See "Redirects do not rewrite current address" in ISSUES.org for
details.
Tim Vaughan [Fri, 15 May 2020 23:38:44 +0000 (01:38 +0200)]
Package linting.
Tim Vaughan [Fri, 15 May 2020 23:27:25 +0000 (01:27 +0200)]
Updated info documentation.
Tim Vaughan [Fri, 15 May 2020 22:09:14 +0000 (00:09 +0200)]
Added heading styles, adjusted fill, messed with tls.
Tim Vaughan [Fri, 15 May 2020 19:30:40 +0000 (21:30 +0200)]
Disabled TLS certificate validation by default.
Tim Vaughan [Fri, 15 May 2020 17:12:32 +0000 (19:12 +0200)]
Performance optimization for gopher and finger xfers.
Tim Vaughan [Fri, 15 May 2020 17:00:03 +0000 (19:00 +0200)]
First round of text/gemini formatting improvements.
Tim Vaughan [Fri, 15 May 2020 16:58:33 +0000 (18:58 +0200)]
Gemini download performance optimization.
Tim Vaughan [Fri, 15 May 2020 07:34:52 +0000 (09:34 +0200)]
Updated version string.
Tim Vaughan [Thu, 14 May 2020 12:03:57 +0000 (14:03 +0200)]
Updated issue list.
Tim Vaughan [Thu, 14 May 2020 09:27:46 +0000 (11:27 +0200)]
Version bump.
Tim Vaughan [Thu, 14 May 2020 07:11:41 +0000 (09:11 +0200)]
Stop "O" from opening gemini://host without trailing slash.
Tim Vaughan [Wed, 13 May 2020 20:33:44 +0000 (22:33 +0200)]
Version bump.
Tim Vaughan [Wed, 13 May 2020 20:29:08 +0000 (22:29 +0200)]
Added finger to manual and readme.
Tim Vaughan [Wed, 13 May 2020 20:28:32 +0000 (22:28 +0200)]
Completed draft finger support.
Tim Vaughan [Wed, 13 May 2020 08:17:03 +0000 (10:17 +0200)]
Adding finger support.
Tim Vaughan [Thu, 7 May 2020 08:27:16 +0000 (10:27 +0200)]
Updated link to gemini gopher page in README.
Tim Vaughan [Thu, 12 Dec 2019 18:58:08 +0000 (19:58 +0100)]
Filter ansi codes from gopher menu items.
Tim Vaughan [Thu, 12 Dec 2019 17:24:21 +0000 (18:24 +0100)]
Version bump.
Tim Vaughan [Thu, 12 Dec 2019 17:22:16 +0000 (18:22 +0100)]
Use ansi-color to interpret ansi escape codes.
Tim Vaughan [Mon, 9 Dec 2019 10:17:19 +0000 (11:17 +0100)]
Updated email address.