Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start trying out better support for composing email #290

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

matsl
Copy link
Collaborator

@matsl matsl commented Dec 17, 2022

What

Start trying out better support for composing email. Implement the mail reader functionality for gnus and add a way to override the mail composer function.

Why

The mail reader support provides slightly different functionality for gnus. So could be seen as an alternative to using the Hyperbole news support. If providing this support is valuable is another question.

Users need to be able to setup their favorite mail client and have it configured for editing with as little effort as possible. This is also a start in exploring this for ideas and feedback. The variable hmail:compose-mail-other-window is the way for the user to specify how the mail composer should be started.

Discussion

This adds a new function to the email interface. A function that opens up the mail composer. The idea being that the user selects the preferred emailer and by that gets the proper setup for using email address buttons etc.

Not sure though if that fits in there. Maybe it should be its own abstraction just for this purpose? The later would maybe make it easier for users with a strange setup to customize just the function that brings up the composer!? Decided to go forward with this implementation thinking that even if the Gnus-mail-init is not called the composer can still use the hmail:compose-mail-other-window

There can still be details with composing and reading email with embedded buttons that is missing in this PR. This can be added later.

With current email standards, to not klick on something someone sent you, maybe suggests that this part of Hyperbole is not the most important to implement, or would need some redesign? I leave that discussion to later.

Would not the email interface be a good candidate to refactor to use the object oriented support, similar to the registry code? Also leaving this idea to later as the current implementation is good enough.

@matsl matsl requested a review from rswgnu December 17, 2022 23:08
@rswgnu
Copy link
Owner

rswgnu commented Jan 7, 2023

I'm always up for adding in good abstractions and certainly welcome improved email handling when it's ready.

@matsl matsl force-pushed the support-multiple-mail-clients-with-ibtypes-mail-address branch from 899a79e to 0fc092b Compare January 22, 2023 23:00
@matsl matsl marked this pull request as ready for review January 28, 2023 09:31
@matsl matsl force-pushed the support-multiple-mail-clients-with-ibtypes-mail-address branch 5 times, most recently from c642cf6 to 34f448c Compare February 6, 2023 21:50
hgnus-mail.el Outdated Show resolved Hide resolved
hgnus-mail.el Show resolved Hide resolved
hibtypes.el Outdated
;; reader at startup instead? Code below copied from
;; "hactypes.el:576". The only other place the
;; hmail:init-function is used.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We were deferring the above in case the user never used mail/messaging. Then we didn't need to load any of this or potentially overload default messaging functions.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code initialized the mail reader functionality if a user tries to use a mail link. Is not that rather subtle since the user experience is change under the hood for the user? In the gnus case the gnus news functionality will be used before using the link and gnus email functionality after.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think of on Hyperbole activation giving a warning if the user has customized the email support but not initialized it?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it is a customization option, then you can force the initialization function to run when the value is changed. Would that solve this issue?

hmail.el Outdated Show resolved Hide resolved
@matsl matsl requested a review from rswgnu February 18, 2023 14:20
@rswgnu
Copy link
Owner

rswgnu commented Feb 18, 2023 via email

@rswgnu
Copy link
Owner

rswgnu commented Apr 8, 2023

We need to finish this if it is to go in the next release.

@matsl matsl force-pushed the support-multiple-mail-clients-with-ibtypes-mail-address branch from a51c284 to 5fed162 Compare October 31, 2023 13:43
@matsl
Copy link
Collaborator Author

matsl commented Oct 31, 2023

@rswgnu Rebased to bring this on top of current master to make further development easier. I think for setting up mail sending for Gnus users this could be OK as is, but I have not thought through if the combined consequences are acceptable. Since gnus is both a mail reader and news reader we might be over complicating things supporting both in different ways. What I mean is that if the user is used to reading news with Hyperbole and than decides to activate the mail support the reading behavior will change!? We need to think about how to resolve that I think.

Note:

This needs further testing and development. The rmail:msg-narrow (and possibly other rmail abstract functions) is not properly configured. Marked as WIP.

@matsl matsl added the WIP Work In Progress label Oct 31, 2023
@rswgnu
Copy link
Owner

rswgnu commented Jan 14, 2024

@matsl, just pointing out this is still out here if you want to finish this for this release. Maybe the next one would be better.

@matsl matsl force-pushed the support-multiple-mail-clients-with-ibtypes-mail-address branch from 50fd933 to 31dcfc0 Compare April 5, 2024 22:21
@matsl matsl closed this Apr 5, 2024
@matsl matsl reopened this Apr 5, 2024
@matsl
Copy link
Collaborator Author

matsl commented Apr 5, 2024

@rswgnu Was thinking of starting all over with this in a new PR but for now just rebased it to bring it close to master so easier to work with. Labeled with WIP to highlight it is not ready for review.

In fact I think I need to take a step back and rethink this. Not sure we should add a mail interface to GNUS. The current news interface works well so could just keep that. Or put it this way, the reading and composing interface need to be possible to use both with GNUS and with one of the mail readers for those that don't use GNUS as their mail client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WIP Work In Progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants