GNOME Bugzilla – Bug 780080
Ignore caret-mode when processing magic-spacebar
Last modified: 2017-03-21 15:29:38 UTC
When pressing space, the message scrolls to the bottom in the message preview but does not go to the next unread message at the end of the message. This is running Arch and Evolution 3.22.6. A thread exists in the maillinglist.
Created attachment 348148 [details] debug evo.patch Thanks for a bug report. As we spoke on the mailing list, here is a debug patch for evolution. It applies cleanly to 3.22.6 and I suppose it will also to 3.22.5. Please apply it, then rebuild evolution, then run evolution from terminal. Whenever you press the space bar it'll print the debugging information on the console. Note that you should not have selected the folder tree, because it uses the space bar for its own purposes (simply select the message list by mouse after start, just to make sure the space bar press will be recognized). Thanks in advance for helping with this.
Here is the output: action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:0 after:62 handle_method_call: ProcessMagicSpacebar: finishing with:1 e_mail_display_process_magic_spacebar: returning TRUE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:62 after:62 handle_method_call: ProcessMagicSpacebar: finishing with:0 e_mail_display_process_magic_spacebar: returning FALSE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:62 after:62 handle_method_call: ProcessMagicSpacebar: finishing with:0 e_mail_display_process_magic_spacebar: returning FALSE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:0 after:660 handle_method_call: ProcessMagicSpacebar: finishing with:1 e_mail_display_process_magic_spacebar: returning TRUE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:660 after:822 handle_method_call: ProcessMagicSpacebar: finishing with:1 e_mail_display_process_magic_spacebar: returning TRUE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:822 after:822 handle_method_call: ProcessMagicSpacebar: finishing with:0 e_mail_display_process_magic_spacebar: returning FALSE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:822 after:822 handle_method_call: ProcessMagicSpacebar: finishing with:0 e_mail_display_process_magic_spacebar: returning FALSE action_mail_smart_forward_cb: caret-mode:1 magic_spacebar:1 handle_method_call: ProcessMagicSpacebar: scroll_y before:822 after:822 handle_method_call: ProcessMagicSpacebar: finishing with:0 e_mail_display_process_magic_spacebar: returning FALSE
Ah, you've caret mode on. Unless you use it (when the preview panel is focused, there's a caret (cursor) and you can move it around with arrow keys and so on. View->Caret Mode (F7) enables/disables it. If it's not on purpose, then I suggest to disable it. Should the magic spacebar not respect the caret mode and just use the space press as the caret mode being disabled?
Aaah, that explains it.. And no, it was not on purpose, do not remember pressing F7 but might have been trying to press F6.. (A) Disabling caret mode, made my magic spacebar work again.. :) Yes, I think the magic spacebar should respect caret mode, but perhaps Evolution could give a warning when in caret mode? Or some way try to communicate that this mode is enabled, since I had no clue...?
To be honest, I do not know what caret mode has to do with magic space bar, why would caret mode need space bar? It can be a left-over from GtkHTML usage, where it did something when the spacebar had been pressed, but now, in era of WebKitGTK+, there is probably no need for it (to behave differently when caret mode is on). Furthermore, the magic spacebar lets you scroll the preview panel, but nothing else. Thus magic spacebar party influences the program behaviour regardless the caret mode. I'm still not 100% convinced, but I think it'll be correct to ignore caret-mode state in magic-spacebar processing.
That, I will leave to you... :)
Right :) Let's ignore caret-mode when processing magic-spacebar then. Created commit 64729de in evo master (3.25.1+) Created commit 21a67f4 in evo gnome-3-24 (3.24.1+)