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

Emacs bindings and home/end don't scroll URL entry buffer, but arrow keys do #3597

Open
brosasaki opened this issue Feb 4, 2025 · 1 comment
Labels
bug prompt-buffer Related to the prompt buffer. ui/ux Nyxt User Interface: themes, appearance and usability.

Comments

@brosasaki
Copy link

Describe the bug
When entering or editing a URL that is longer than the URL entry buffer is wide (and while in emacs-mode), pressing C-a, C-e, C-b, C-f, home, or end can all move the text cursor outside of the visible area of text. However, pressing the left and right arrow keys does correctly scroll the buffer.

Precise recipe to reproduce the issue
Activate emacs-mode and navigate to a page with a long URL(here's an example). Then, type C-l and move the cursor out of view with C-a, C-e, C-b, C-f, home, or end.

For website-specific issues:
Can you reproduce this issue with Epiphany / GNOME Web (https://wiki.gnome.org/Apps/Web)? N/A

Information

  • OS name+version: Guix 070c073
  • Graphics card and driver: AMD Radeon 7900XTX, radv Mesa 24.3.2
  • Desktop environment / Window manager name+version: Hyprland 0.47.0
  • Installation method (Flatpak, Guix, package manager, build from source): Guix (channel aadcg cb6faa5, aadcg-nyxt)
  • Output of nyxt --system-information:
Nyxt version: 3.12.0
Renderer: GI-GTK
Operating system kernel: Linux 6.12.11
Lisp implementation: SBCL 2.4.10 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-GI-GTK :NYXT-GTK :NYXT-3.12 :NYXT-3 :NYXT-3.12.0
 :CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS
 :FSET-EXT-STRINGS :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :GLOBAL-VARS
 :CL-FAD :LPARALLEL :21BIT-CHARS :CUSTOM-HASH-TABLE-NATIVE :CL-PPCRE-UNICODE
 :CL-UNICODE :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED
 :CL-JSON-SINGLE-FLOAT-IS-SUBSUMED :CHUNGA :FLEXI-STREAMS :CL-PPCRE :WEBKIT2
 :WEBKIT-2.44.1 :WEBKIT-2.44 :WEBKIT-2 :WEBKIT2-CORS-ALLOWLIST
 :WEBKIT2-PASTE-PLAINTEXT :WEBKIT2-TRACKING :WEBKIT2-MUTE :WEBKIT2-EMOJI
 :WEBKIT2-MEDIA :WEBKIT2-SANDBOXING :GTK-3-22 :GTK-3-20 :GTK-3-18 :GTK-3-16
 :GTK-3-14 :GTK-3-12 :GTK-3-10 :GTK-3-8 :GTK-3-6 :GTK-3-4 :GTK :GDK-3-22
 :GDK-3-20 :GDK-3-18 :GDK-3-16 :GDK-3-14 :GDK-3-12 :GDK-3-10 :GDK-3-8 :GDK-3-6
 :GDK-3-4 :CAIRO-1-10 :CAIRO-1-12 :GDK-PIXBUF :CLOSER-MOP :GLIB-2-30 :GLIB-2-32
 :GLIB-2-34 :GLIB-2-36 :GLIB-2-38 :GLIB-2-40 :GLIB-2-42 :GLIB-2-44 :GLIB-2-46
 :GLIB-2-48 :GLIB-2-50 :GLIB-2-52 :GLIB-2-54 :GLIB-2-56 :GLIB-2-58 :GLIB
 :BORDEAUX-THREADS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS
 :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE
 CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI
 CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO
 :CL-JSON-CLOS :CL-JSON :SBCL-USES-SB-ROTATE-BYTE CHIPZ-SYSTEM:GRAY-STREAMS
 :THREAD-SUPPORT :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX
 :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :ARENA-ALLOCATOR :X86-64 :GENCGC :64-BIT
 :ANSI-CL :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN
 :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS
 :SB-THREAD :SB-UNICODE :SBCL :UNIX)

ASDF version: 3.3.7
ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY)
Critical dependencies: (/tmp/guix-build-aadcg-nyxt-3.12.0.drv-0/source/_build/cl-cffi-gtk/gtk/cl-cffi-gtk.asd
 /tmp/guix-build-aadcg-nyxt-3.12.0.drv-0/source/_build/cl-gobject-introspection/cl-gobject-introspection.asd
 /tmp/guix-build-aadcg-nyxt-3.12.0.drv-0/source/_build/cl-webkit/webkit2/cl-webkit2.asd)

Guix version: 

Output when started from a shell

~ 🮲🮳 nyxt
Nyxt version 3.12.0
<INFO> [20:11:54] Source location: #P"/gnu/store/hd7mgl09glflizslbvjn5qffgdjbi349-aadcg-nyxt-3.12.0/share/nyxt/"
<INFO> [20:11:54] Loading Lisp file #P"/home/wong/.config/nyxt/auto-config.3.lisp".
<INFO> [20:11:54] Loading Lisp file #P"/home/wong/.config/nyxt/config.lisp".
<INFO> [20:11:54] Listening to socket: #P"/run/user/1000/nyxt/nyxt.socket"

(process:2): Gtk-WARNING **: 01:11:54.316: Locale not supported by C library.
        Using the fallback 'C' locale.

(WebKitWebProcess:2): Gdk-WARNING **: 01:11:54.320: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface ?org.freedesktop.portal.Settings? on object at path /org/freedesktop/portal/desktop
<INFO> [20:11:54] Loading #P"/home/wong/.local/share/nyxt/history/default.lisp".

(process:2): Gtk-WARNING **: 01:11:54.839: Locale not supported by C library.
        Using the fallback 'C' locale.

(WebKitWebProcess:2): Gdk-WARNING **: 01:11:54.842: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface ?org.freedesktop.portal.Settings? on object at path /org/freedesktop/portal/desktop
<INFO> [20:11:54] Loading #P"/home/wong/.local/share/nyxt/auto-rules.lisp".
<INFO> [20:11:54] Loading #P"/home/wong/.local/share/nyxt/hostlist-stevenblack.txt".
<INFO> [20:11:54] Restoring 2 buffers from history.

(process:2): Gtk-WARNING **: 01:11:55.617: Locale not supported by C library.
        Using the fallback 'C' locale.

(WebKitWebProcess:2): Gdk-WARNING **: 01:11:55.620: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface ?org.freedesktop.portal.Settings? on object at path /org/freedesktop/portal/desktop
<INFO> [20:11:55] Loading "https://github.com/atlas-engineer/nyxt/issues/3593".

(process:2): Gtk-WARNING **: 01:11:55.749: Locale not supported by C library.
        Using the fallback 'C' locale.

(WebKitWebProcess:2): Gdk-WARNING **: 01:11:55.752: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface ?org.freedesktop.portal.Settings? on object at path /org/freedesktop/portal/desktop
<INFO> [20:11:56] Finished loading "https://github.com/atlas-engineer/nyxt/issues/3593".
<INFO> [20:11:57] Pressed keys: C-x

(process:2): Gtk-WARNING **: 01:11:57.921: Locale not supported by C library.
        Using the fallback 'C' locale.

(WebKitWebProcess:2): Gdk-WARNING **: 01:11:57.924: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface ?org.freedesktop.portal.Settings? on object at path /org/freedesktop/portal/desktop

(process:2): Gtk-WARNING **: 01:11:58.000: Locale not supported by C library.
        Using the fallback 'C' locale.

(WebKitWebProcess:2): Gdk-WARNING **: 01:11:58.003: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface ?org.freedesktop.portal.Settings? on object at path /org/freedesktop/portal/desktop
<INFO> [20:11:58] Loading "https://wiki.futo.org/wiki/Introduction_to_a_Self_Managed_Life:_a_13_hour_%26_28_minute_presentation_by_FUTO_software".
<INFO> [20:12:01] Loading #P"/home/wong/.local/share/nyxt/bookmarks.lisp".
<INFO> [20:12:02] Finished loading "https://wiki.futo.org/wiki/Introduction_to_a_Self_Managed_Life:_a_13_hour_%26_28_minute_presentation_by_FUTO_software".
<INFO> [20:12:04] Deleting socket #P"/run/user/1000/nyxt/nyxt.socket".
@aadcg aadcg added bug ui/ux Nyxt User Interface: themes, appearance and usability. labels Feb 4, 2025
@aadcg
Copy link
Member

aadcg commented Feb 4, 2025

Very good report, thanks!

There many issue here, so it's hard to choose from where to start. At some point, we will need to re-implement the prompt buffer so let's leave this issue for that time.

@aadcg aadcg added the prompt-buffer Related to the prompt buffer. label Feb 4, 2025
aadcg added a commit that referenced this issue Feb 6, 2025
Otherwise, the user isn't able to set the cursor at the start and end of the
input area.

See #3597.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug prompt-buffer Related to the prompt buffer. ui/ux Nyxt User Interface: themes, appearance and usability.
Development

No branches or pull requests

2 participants