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

select-frame-new-buffer selection box crash #3300

Open
lansingthomas opened this issue Dec 28, 2023 · 7 comments
Open

select-frame-new-buffer selection box crash #3300

lansingthomas opened this issue Dec 28, 2023 · 7 comments
Labels
command Core functionality: commands. low ui/ux Nyxt User Interface: themes, appearance and usability.

Comments

@lansingthomas
Copy link
Contributor

Hello Lisp Lords,

Describe the bug
First few times I tried this the selection box did not instantiate. The third time I tried (for the screen recording) the whole app crashed.

... the app crash may have been because this laptop is a box of rocks. I will be happy if the selection box appears.

Precise recipe to reproduce the issue
try using select-frame-new-buffer on a web page. I tried hackernews and wikipedia -- same result.

select-frame-new-buffer-bug.mp4

Information

Nyxt version: 3.10.0
Renderer: GI-GTK
Operating system kernel: Linux 6.2.0-37-generic
Lisp implementation: SBCL 2.3.10 (Dynamic space size: 3221225472)
Features: (:NYXT-GI-GTK :NYXT-GTK :NYXT-GI-GTK :NYXT-GTK :NYXT-3.10 :NYXT-3 :NYXT-3.10.0 :CLIPBOARD-CONTENT-METHOD :SWANK :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :NSYMBOLS :FSET-EXT-STRINGS :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :FLATPAK :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.42.3 :WEBKIT-2.42 :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-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL :UNIX)

ASDF version: 3.3.1
ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY)
Critical dependencies: (/run/build/nyxt/_build/cl-cffi-gtk/gtk/cl-cffi-gtk.asd /run/build/nyxt/_build/cl-gobject-introspection/cl-gobject-introspection.asd /run/build/nyxt/_build/cl-webkit/webkit2/cl-webkit2.asd)

Thank you.

@aadcg aadcg added the bug label Jan 3, 2024
@aadcg aadcg changed the title select-frame-new-buffer selection box crash select-frame-new-buffer selection box crash Jan 3, 2024
@aadcg aadcg removed the bug label Jan 3, 2024
@aadcg
Copy link
Member

aadcg commented Jan 3, 2024

I can't reproduce.

Make sure that you're following the instructions below:

  1. invoke select-frame-new-buffer;
  2. left-click once to set the top-left corner of the frame;
  3. left-click again to set the right-bottom corner of the frame.

Related:

  1. @jmercouris is there a good reason to have the logic underlying these facilities scattered in the codebase (mode/document and mode/expedition)?
  2. @jmercouris do we need both select-frame-expedition and select-frame-new-buffer?
  3. Invoking the command raises a warning <WARN> [14:11:13] Warning: JavaScript error: GError: Domain: "WebKitJavascriptError", Code: 601, Message: Unsupported result type. Requires fixing.
  4. We may need to improve the UI of these commands, since it may not be obvious to the user how to use them (as the creation of the issue suggests).

@aadcg aadcg added ui/ux Nyxt User Interface: themes, appearance and usability. command Core functionality: commands. labels Jan 3, 2024
@jmercouris
Copy link
Member

  1. Yes, there is a good reason. One is supposed to be a source for extracting an arbitrary set of links on the page (select-frame-*), the other one is supposed to be a mode for traversing a set of links. You can imagine that one could create an expedition of bookmarks, as well.
  2. Yes, we require both, as they are distinct activities.
  3. Indeed.
  4. I agree completely.

@lansingthomas
Copy link
Contributor Author

Thanks andre,

I was drag selecting. (click, hold, drag, release)

I feel dumb, also perhaps the box selection states can be made more intuitive.

@lansingthomas
Copy link
Contributor Author

These features are fantastic once you figure it out.

@aadcg aadcg added the low label Jan 22, 2024
@lansingthomas
Copy link
Contributor Author

lansingthomas commented Feb 16, 2024

regarding point number 4. the UI

I keep trying to do this with a click and drag. I think click drag release is typical for a selection box. Also a more pronounced background color for the selection box area would help. background+ would be nice, or maybe accent+

the color should be somewhat lighter than the surrounding area to show that it is the top layer and action point.

@lansingthomas
Copy link
Contributor Author

the other piece i think about here is the common error of selecting an area with no links. from this point it is evident that something has happened (prompt buffer shows up with no suggestions)

Could be better if a simple left click removed that buffer, OR better yet if a left click re-started the frame selection action. Yes this... because there is also an error case where you select a frame. then realize that you missed a link. The ability to redraw the frame after suggestions are presented would be nice.

@jmercouris
Copy link
Member

Reselect by reclick would be a fascinating idea!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
command Core functionality: commands. low ui/ux Nyxt User Interface: themes, appearance and usability.
Development

No branches or pull requests

3 participants