• 2 small annoyances, maybe possible future features?

    From D@21:1/5 to All on Mon Jan 13 16:34:30 2025
    Dear piners,

    I have experienced two small annoyances. They are very small, and almost
    too small to care about, but in case anyone has any ideas of how to solve
    them, it would remove a bit of friction when using alpine.


    1. When I search for something in well filled mailbox, and don't get a
    hit, I get a message along the lines of... "search failed". The problem is
    that this "locks" or freezes the keyboard for 1 second or so, so I cannot immediately type ";" to start a new search. I must wait about 1 second for
    the message to disapper, and then I can search again.

    Does anyone know if there's a time out in the code, or some setting I can change to allow me to search again instantly in case a search turns up
    empty?

    2. Some times when I write emails I have to attach files that are in a directory with hundreds if not thousands of files.

    2.1. Does anyone know how I can get to the end of the directory list
    quickly? Today I have to scroll. It would be great if I could press G like
    in vim to go to the end instantly. Also, when navigating directories, I
    use the arrows, but is there some way that I can navigate by typing
    letters?

    If I type "A" I would go straight to the first directory or file that
    starts with the letter "A".

    Besides the above, nothing major to talk of. Thank you Eduardo for all
    your time and energy spent on my favourite email and news client! =)

    Best regards,
    Daniel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eduardo Chappa@21:1/5 to All on Mon Jan 13 21:57:22 2025
    On Mon, 13 Jan 2025, D wrote:

    1. When I search for something in well filled mailbox, and don't get a
    hit, I get a message along the lines of... "search failed". The problem
    is that this "locks" or freezes the keyboard for 1 second or so, so I
    cannot immediately type ";" to start a new search. I must wait about 1
    second for the message to disapper, and then I can search again.

    Does anyone know if there's a time out in the code, or some setting I
    can change to allow me to search again instantly in case a search turns
    up empty?

    if you are using the select command to do a search, you will get a message
    like 'select failed. no messages selected'. in this case the duration of
    the display of this message is for 3 seconds.

    i realize this is annoying. i sometimes wish something similar. the reason
    you are seeing this is because alpine is making an effort to show you
    error messages, so that you actually see them.

    internal functions of alpine send messages to the screen. alpine does not
    show you all the messages these functions send. for example, a function
    might send the message 'opening inbox', but alpine might not show you that message because another function sent it the message 'folder inbox opened
    with 20 messages'. in that case, alpine will show you the latter one, not
    the first one because it thinks you want to see that message, not the
    first one.

    the same happens with error messages. alpine makes sure that you see error messages, and it enforces those 3 seconds by locking the program and not letting you do anything else. that is what you are experiencing.

    2. Some times when I write emails I have to attach files that are in a directory with hundreds if not thousands of files.

    2.1. Does anyone know how I can get to the end of the directory list
    quickly? Today I have to scroll. It would be great if I could press G
    like in vim to go to the end instantly. Also, when navigating
    directories, I use the arrows, but is there some way that I can navigate
    by typing letters?

    in the attachment screen there is a command ctrl-w hat allows you to go
    places. for example, to go to the last file, you would type ctrl-w ctrl-v,
    or type the name of a file to get to its location. i hope this helps.

    --
    Eduardo
    https://alpineapp.email (web)
    http://repo.or.cz/alpine.git (Git)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From D@21:1/5 to Eduardo Chappa on Tue Jan 14 19:20:14 2025
    On Mon, 13 Jan 2025, Eduardo Chappa wrote:

    On Mon, 13 Jan 2025, D wrote:

    1. When I search for something in well filled mailbox, and don't get a hit, >> I get a message along the lines of... "search failed". The problem is that >> this "locks" or freezes the keyboard for 1 second or so, so I cannot
    immediately type ";" to start a new search. I must wait about 1 second for >> the message to disapper, and then I can search again.

    Does anyone know if there's a time out in the code, or some setting I can
    change to allow me to search again instantly in case a search turns up
    empty?

    if you are using the select command to do a search, you will get a message like 'select failed. no messages selected'. in this case the duration of the display of this message is for 3 seconds.

    Ah, yes exactly!

    i realize this is annoying. i sometimes wish something similar. the reason you are seeing this is because alpine is making an effort to show you error messages, so that you actually see them.

    internal functions of alpine send messages to the screen. alpine does not show you all the messages these functions send. for example, a function might send the message 'opening inbox', but alpine might not show you that message because another function sent it the message 'folder inbox opened with 20 messages'. in that case, alpine will show you the latter one, not the first one because it thinks you want to see that message, not the first one.

    the same happens with error messages. alpine makes sure that you see error messages, and it enforces those 3 seconds by locking the program and not letting you do anything else. that is what you are experiencing.

    Ok, I see the logic. But since it is a 3 second delay, it sounds as if it should
    be a simple thing for me to just change from a 3 to a 0.5 or so in the code, and
    seeing the messages 0.5 seconds instead of 3 seconds, or even 0.3 or what ever, would be much much better! =)

    I'll grep through the code a bit, and if the stars align I'd expect this to be an easy thing to change.

    Thank you very much for the explanation!

    2. Some times when I write emails I have to attach files that are in a
    directory with hundreds if not thousands of files.

    2.1. Does anyone know how I can get to the end of the directory list
    quickly? Today I have to scroll. It would be great if I could press G like >> in vim to go to the end instantly. Also, when navigating directories, I use >> the arrows, but is there some way that I can navigate by typing letters?

    in the attachment screen there is a command ctrl-w hat allows you to go places. for example, to go to the last file, you would type ctrl-w ctrl-v, or type the name of a file to get to its location. i hope this helps.

    Ahhhhh! What a relief! How could I _not_ see this? I'm ashamed that I had to ask
    when this was so easily visible in the bar at the bottom of the screen.

    Regardless, thank you Eduardo for your patience, help and work. This was a nice itch to scratch, thank you! =)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From D@21:1/5 to Eduardo Chappa on Tue Jan 14 22:57:46 2025
    On Mon, 13 Jan 2025, Eduardo Chappa wrote:

    the same happens with error messages. alpine makes sure that you see error messages, and it enforces those 3 seconds by locking the program and not letting you do anything else. that is what you are experiencing.

    Just to expand a bit on this, in case anyone else ever reads this in the future...

    After a bit of grepping around the source I found the following on line 121 in the file status.c:

    /*
    * By convention, we have min_time equal to zero in messages which we
    * think are not as important, so-called comfort messages. We have
    * min_time >= 3 for messages which we think the user should see for
    * sure. Some users don't like to wait so we've provided a way for them
    * to live on the edge.
    * status_msg_delay == -1 => min time == MIN(0, min_time)
    * status_msg_delay == -2 => min time == MIN(1, min_time)
    * status_msg_delay == -3 => min time == MIN(2, min_time)
    * ...
    */
    if(ps_global->status_msg_delay < 0)
    min_time = MIN(-1 - ps_global->status_msg_delay, min_time);

    so to me, the "operation" seems simple. I just modify the file like this:

    */
    ps_global->status_msg_delay = -2; // My addition.
    if(ps_global->status_msg_delay < 0)
    min_time = MIN(-1 - ps_global->status_msg_delay, min_time);

    After a recompile, any error messages will be seen for 1 second instead of 3. 0.5 seconds I do not think is possible, since it is probably an int, but I think
    lowering from 3 to 1 seconds will scratch my itch, and should it not, I can always set it to -1 to remove the error message altogether.

    Only one question remains. Is it possible to set this value as a setting or in a
    file somewhere so I do not have to recompile to change? Asking "the code" I think the answer is no.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eduardo Chappa@21:1/5 to All on Tue Jan 14 20:15:03 2025
    On Tue, 14 Jan 2025, D wrote:

    On Mon, 13 Jan 2025, Eduardo Chappa wrote:

    the same happens with error messages. alpine makes sure that you see error >> messages, and it enforces those 3 seconds by locking the program and not
    letting you do anything else. that is what you are experiencing.

    Just to expand a bit on this, in case anyone else ever reads this in the future...

    After a bit of grepping around the source I found the following on line 121 in
    the file status.c:

    /*
    * By convention, we have min_time equal to zero in messages which we
    * think are not as important, so-called comfort messages. We have
    * min_time >= 3 for messages which we think the user should see for
    * sure. Some users don't like to wait so we've provided a way for them
    * to live on the edge.
    * status_msg_delay == -1 => min time == MIN(0, min_time)
    * status_msg_delay == -2 => min time == MIN(1, min_time)
    * status_msg_delay == -3 => min time == MIN(2, min_time)
    * ...
    */
    if(ps_global->status_msg_delay < 0)
    min_time = MIN(-1 - ps_global->status_msg_delay, min_time);

    oh, this is an interesting finding. there is a variable in the .pinerc
    file called status-message-delay, which when set to a negative value will reduce the amount of time the message is displayed in the screen.

    if you set this value to -2, you will get a delay of 1 second, which will probably do what you want, and that way you do not have to rebuild alpine
    to get this behavior.

    i hope this helps.

    --
    Eduardo
    https://alpineapp.email (web)
    http://repo.or.cz/alpine.git (Git)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From D@21:1/5 to Eduardo Chappa on Wed Jan 15 09:54:12 2025
    On Tue, 14 Jan 2025, Eduardo Chappa wrote:

    On Tue, 14 Jan 2025, D wrote:

    On Mon, 13 Jan 2025, Eduardo Chappa wrote:

    the same happens with error messages. alpine makes sure that you see error >>> messages, and it enforces those 3 seconds by locking the program and not >>> letting you do anything else. that is what you are experiencing.

    Just to expand a bit on this, in case anyone else ever reads this in the
    future...

    After a bit of grepping around the source I found the following on line 121 >> in
    the file status.c:

    /*
    * By convention, we have min_time equal to zero in messages which we
    * think are not as important, so-called comfort messages. We have
    * min_time >= 3 for messages which we think the user should see for
    * sure. Some users don't like to wait so we've provided a way for them >> * to live on the edge.
    * status_msg_delay == -1 => min time == MIN(0, min_time)
    * status_msg_delay == -2 => min time == MIN(1, min_time)
    * status_msg_delay == -3 => min time == MIN(2, min_time)
    * ...
    */
    if(ps_global->status_msg_delay < 0)
    min_time = MIN(-1 - ps_global->status_msg_delay, min_time);

    oh, this is an interesting finding. there is a variable in the .pinerc file called status-message-delay, which when set to a negative value will reduce the amount of time the message is displayed in the screen.

    if you set this value to -2, you will get a delay of 1 second, which will probably do what you want, and that way you do not have to rebuild alpine to get this behavior.

    i hope this helps.

    I did try the compile strategy and it worked perfectly!

    Thank you Eduardo, setting the value in pinerc is an even better solution, since I would not have to make the change and recompile when I upgrade
    alpine. =)

    Thank you very much!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)