Git Product home page Git Product logo

nyxt's Introduction

Nyxt browser

Nyxt [nýkst] is a keyboard-driven web browser designed for hackers. Inspired by Emacs and Vim, it has familiar keybindings (Emacs, vi, CUA), and is infinitely extensible in Lisp.

Attention: Nyxt is under active development. Please feel free to report bugs, instabilities or feature wishes.



Features

For an exhaustive description of all of the features, please refer to the manual.

Fast tab switching

Switch easily between your open tabs via fuzzy search. If you are looking for https://www.example.com, you could type in ele, exa, epl, or any other matching series of letters.

Multiple marking

Commands can accept multiple inputs, allowing you to quickly perform an operation against multiple objects. In the example below we simultaneously open several bookmarks.

Powerful bookmarks

Bookmark a page with tags. Search bookmarks with compound queries. Capture more data about your bookmarks, and group and wrangle them in any way you like.

Multi tab search

Search multiple tabs at the same time, and view all the results in a single window. Jump quickly through your open tabs to find what you need.

History as a tree

History is represented as a tree that you can traverse. Smarter than the “forwards-backwards” abstraction found in other browsers, the tree makes sure you never lose track of where you’ve been.

Installation

Supported platforms:

  • GNU/Linux
  • macOS (in development)
  • Windows (in development)
  • FreeBSD (unofficial)

GNU/Linux

The Nyxt team maintains the following distribution means:

Non-official distribution means are supported by the community as well. We’re not accountable for their quality, so we kindly ask to report issues to the maintainers of those packaging efforts.

Contributing

Please refer to the developer’s documentation at documents/README.org.

nyxt's People

Contributors

4t0m avatar aadcg avatar aartaka avatar ambrevar avatar blade6570 avatar catap avatar chrisboeg avatar createyourpersonalaccount avatar easye avatar edgar-vincent avatar guojing0 avatar heiwiper avatar hendursaga avatar hgluka avatar jellelicht avatar jgarte avatar jmercouris avatar jnjcc avatar kchanqvq avatar khinsen avatar kssytsrk avatar lansingthomas avatar lehmacdj avatar maxgyver83 avatar pdelfino avatar pranavats avatar shamazmazum avatar solbloch avatar taiju avatar vindarel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nyxt's Issues

OS X compatibility?

Hello,

I downloaded the MacOS binary hoping that it would be backwards compatible with my OS X 10.10.5 (Yosemite) but could not get the application to open/function. Are there any plans to make the nEXT browser backwards compatible with at least some of the OS X operating systems?

Thank you,
Bohdan

Not working on mac os 10.13

Just download the latest version dmg file, but when press S-h v or S-h s nothing happens, if I try to custom the key follow guide page :

(define-key *global-map* (kbd "S-M-h v")
  (:input-complete *minibuffer* variable-inspect variable-complete :setup #'load-package-globals))

the nEXT not start, some error message say, cannot find global-map
did I miss some thing ?

Fails to compile on ccl Version 1.11-r16635 (DarwinX8632)

I am trying to compile nEXT from source on OSX 10.11.6 by following the directions in https://github.com/nEXT-Browser/nEXT/tree/master/next#macos-instructions. It seems that due to user error or a problem in the build config the "QL" package can't be found.

$ ccl --version
Version 1.11-r16635  (DarwinX8632)
$ ccl --no-init --load make.lisp
> Error: There is no package named "QL" .
> While executing: CCL::%PARSE-TOKEN, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Retry finding package with name "QL".
> Type :? for other options.

I have (I believe) exactly followed the quicklisp installation instructions presented in https://github.com/nEXT-Browser/nEXT/tree/master/next#macos-instructions

I am not an experienced quicklisp user so it's possible and even likely that I am doing something insane.

I am happy to paste the content of files from my ~/quicklisp/ if that would be helpful.

Distinguishing capital and lower case letters in key bindings

I took a stab at implementing some vi keybindings, however encountered a problem while doing so. Unfortunately capital and lower case letters are recognized as the same keystroke. Consider the following simple init.lisp as an example:

(in-package :next)
(define-key *global-map* (kbd "j") #'scroll-down)
(define-key *global-map* (kbd "J") #'scroll-to-top)

Regardless of whether "J" or "j" is pressed the window always scrolls to the top instead of differentiating its behavior as necessary. I think this is because the way key strokes are reported, "J" and "j" produce the same key code just with the shift modifier either set or unset. It would be ideal if we could allow using the different letters for defining keybindings, and differentiate them however necessary.

I can try to implement the ability to differentiate these in the next day or two.

Bookmark Links

Hi again,

When I access a link (call it B) that is listed on another web page (A), and use the command for bookmarking link B, the page that is bookmarked is actually page A, not B. I would have to find out the URL of link B, and directly go to that link (type in the URL blank) in order to correctly bookmark it.

Is there any way I can bookmark a page after I access it by clicking on a link listed on a previous page without doing the above? Thanks.

Command Line Integration

Are there any plans/ is it possible to integrate the command line into nEXT? I’ve been using cli tools to supplement my use of nEXT, such as pass as my password manager, buku as my bookmark manager, and other various tools.

I kind of am just opening this issue as a feature request to be able to run commands from nEXT and to see if that would even be possible.

Appreciate all the work that has gone into nEXT — it is definitely my daily driver. 👍

Feature Request: Remember scroll position in history

Thanks for a great application, I love using it to surf the web.

It would be nice if scrolling positions were saved in history so when you go back in history you will get back to where you were on the page.

Unable to run from source on MacOS High Sierra

Hello, I'm pretty sure I followed the instructions in next/readme.org correctly to install ccl and quicklisp. However, when I try to start the next browser I get the following error:

bash-3.2$ ccl
Clozure Common Lisp Version 1.11.5/v1.11.5  (DarwinX8664)

For more information about CCL, please see http://ccl.clozure.com.

CCL is free software.  It is distributed under the terms of the Apache
Licence, Version 2.0.
? (lo)
> Error: Undefined function LO called with arguments () .
> While executing: CCL::TOPLEVEL-EVAL, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Retry applying LO to NIL.
> Type :? for other options.
1 > (require :asdf)
:ASDF
NIL
1 > (asdf:load-asd "next.asd")
#P"/Users/craig/.quicklisp/local-projects/next/next.asd"
1 > (ql:quickload :next)
To load "next":
  Load 1 ASDF system:
    next
; Loading "next"
..................................................
..................................................
..................................................
..................................................
4 > (next:start)
> Error: Unbound variable: GLOBAL-MAP
> While executing: CCL::CHEAP-EVAL-IN-ENVIRONMENT, in process listener(1).
> Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
> If continued: Retry getting the value of GLOBAL-MAP.
> Type :? for other options.
5 > 

The same error appears when I follow the instructions for building the binary and start it from the command line. Can someone tell me what I'm doing wrong?

EDIT: I truncated the output after running (ql:quickload :next)

Non-existent file ~/.next.d/bookmark.db

When I attempt to run nEXT for the first time, I get an error:

…
[package sqlite]..
; Loading "next"
[package cl-strings]..............................
[package puri]....................................
[package next].
Condition of type: FILE-ERROR
Filesystem error with pathname "~/.next.d/bookmark.db".
Either
 1) the file does not exist, or
 2) we are not allowed to access the file, or
 3) the pathname points to a broken symbolic link.

Available restarts:

1. (TRY-RECOMPILING) Recompile bookmark and try loading it again
2. (RETRY) Retry loading FASL for #<cl-source-file "next" "bookmark">.
3. (ACCEPT) Continue, treating loading FASL for #<cl-source-file "next" "bookmark"> as having been successful.
4. (ABORT) Give up on "next"

Top level in: #<process TOP-LEVEL>.
>

It's fixable by running mkdir ~/.next.d

Build hangs on eql5 make

eql5 -qgui works!

~/Downloads/nEXT/next$ eql5 make
EQL5 17.7.1 (ECL 16.1.3, Qt 5.7.1)
;;; Loading #P"/home/dead/.eclrc"
;;; Loading "/home/dead/quicklisp/setup.lisp"
;;; Loading #P"/usr/local/lib/ecl-16.1.3/asdf.fas"
To load "cl-strings":
  Load 1 ASDF system:
    cl-strings
; Loading "cl-strings"

And it's been like this for a day :-)

OS - Ubuntu 17
ECL - 16.1.3 built from tarballs

There are several error

cl-webkit/dom/init.lisp load libwebkit2gtk-3.0.so failed, it should is libwebkit2gtk-4.0.so

(define-foreign-library libwebkit2
    (:unix (:or "libwebkit2gtk-3.0.so")))
----------------------------------------------
(define-foreign-library libwebkit2
    (:unix (:or  "libwebkit2gtk-4.0.so"
                 "libwebkit2gtk-3.0.so")))

arch:

  1. C-x c quit cause crash,and some other unknown is action also cause crash.terminal have not
    any info backfeed.
  2. link-hint invalid ,when input link-hint tip character and return jump page it no any action
    mouse clicked also no any action but there are little some link is can jump .
  3. terminal info :
    gtk-critical **: gtk-tree-path-to-string: assertion 'result !=NULL' failed.

debian:
when execute (next:start) appear gui directly crash. ui death
terminal info :

glib-gobject-warning **: cannot register existing type 'webkitwebcontext'
glib-gobject-critical **: g_once_init_leave: assertion 'result !=0 ' failed.
glib-gobject-critical **: g_object_new: assertion 'g_type_is_object (object_tyhpe)' failed.

invalid directory :home, when execute (asdf:load-asd "full-path-name") don't use "~/../../.." , need to use full path name.

OSX Compilation

  • Modify make.lisp script to create a binary that grabs all of the
    dependencies and creates a executable that can be deployed on OSX
  • Use macdeployqt to copy the core qt libraries to
    next.app/Contents/Frameworks
  • Use otool -L next.app/Contents/MacOS/next to find the linked
    frameworks that are not located in next.app/Contents/Frameworks,
    manually copy them to next.app/Contents/Frameworks
  • Use install_name_tool to update the now copied frameworks in
    next.app/Contents/Frameworks
  • For more info please see: http://doc.qt.io/qt-5/osx-deployment.html

Bookmark keybindings

S-s k: Delete Bookmark
S-s o: Open Bookmark
S-s s: Bookmark Current Page

Hi,

According to your user manual, the special key is the command key on macs, but when I try using the command key for the above commands, I cannot use the bookmark function at all. I have tried the other keys as well. Can you please let me know how to use this function as I really need it.

gtk version error

when I'm try run gtk version of nEXT it appear a error:

null-pointer in parse-g-param-spec

the error occur at cl-cffi-gtk/gobject/gobject.param-spec.lisp : line 229

wm: stumpwm
system: archlinux
library : libwebkit2gtk-4.0.so , libgobject-2.0.so

slime feedback info :
null-pointer in parse-g-param-spec
[Condition of type SIMPLE-ERROR]

Restarts:
0: [RETURN-FROM-CALLBACK] #<RESTART GTK::RETURN-FROM-CALLBACK #x7FD483BE356D>
1: [ABORT-BREAK] Reset this thread
2: [ABORT] Kill this thread

Backtrace:
0: (GOBJECT:PARSE-G-PARAM-SPEC #)
1: (GOBJECT::CLASS-PROPERTY-INFO #<GTYPE :name "WebKitWebView" :id 140551128687680> "view-mode")
2: (GOBJECT::CLASS-PROPERTY-TYPE #<GTYPE :name "WebKitWebView" :id 140551128687680> "view-mode" :ASSERT-READABLE T :ASSERT-WRITABLE NIL)
3: (#<STANDARD-METHOD SLOT-BOUNDP-USING-CLASS (GOBJECT:GOBJECT-CLASS T GOBJECT::GOBJECT-PROPERTY-EFFECTIVE-SLOT-DEFINITION)> #<GOBJECT:GOBJECT-CLASS CL-WEBKIT2:WEBKIT-WEB-VIEW> #<CL-WEBKIT2:WEBKIT-WEB-VI..
4: (CCL::%SHARED-INITIALIZE #<CL-WEBKIT2:WEBKIT-WEB-VIEW #x30200337F28D> T (:POINTER #<A Foreign Pointer #x7FD4A4204FC0> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTEXT #x302003341B0D>))
5: (#<CCL::STANDARD-KERNEL-METHOD SHARED-INITIALIZE (STANDARD-OBJECT T)> #<CL-WEBKIT2:WEBKIT-WEB-VIEW #x3020031FC4FD> T :POINTER #<A Foreign Pointer #x7FD4A4204FC0> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTE..
6: (#<CCL::STANDARD-KERNEL-METHOD INITIALIZE-INSTANCE (STANDARD-OBJECT)> #<CL-WEBKIT2:WEBKIT-WEB-VIEW #x3020031FC4FD> :POINTER #<A Foreign Pointer #x7FD4A4204FC0> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTEXT..
7: (CCL::%%CNM-WITH-ARGS-COMBINED-METHOD-DCODE #(#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> (#<STANDARD-METHOD INITIALIZE-INSTANCE #> #<#> #<#> #<#>) ..)) (#<CL-WEBKIT2:WEBKIT-WEB-VI..
8: (CCL::%CALL-NEXT-METHOD-WITH-ARGS (#(#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> (#<#> #<#> #<#> #<#>) (#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> #) ..)))) #<..
9: (CCL::%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE (#(#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> (#<#> #<#> #<#> #<#>) ..)))))
10: (CCL::%CALL-NEXT-METHOD (#(#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> (#<#> #<#> #<#> #<#>) (#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> #) ..)))))
11: (#<STANDARD-METHOD INITIALIZE-INSTANCE :AROUND (GOBJECT:G-OBJECT)> #<CL-WEBKIT2:WEBKIT-WEB-VIEW #x3020031FC4FD>)
12: (CCL::%%CNM-WITH-ARGS-COMBINED-METHOD-DCODE #(#<STANDARD-GENERIC-FUNCTION INITIALIZE-INSTANCE #x30200002CA2F> (#<STANDARD-METHOD INITIALIZE-INSTANCE #> #<#> #<#> #<#>) ..)) 17568840285491 NIL)
13: (NIL #)
14: (CCL::%MAKE-STD-INSTANCE #<GOBJECT:GOBJECT-CLASS CL-WEBKIT2:WEBKIT-WEB-VIEW> (:POINTER #<A Foreign Pointer #x7FD4A4204FC0> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTEXT #x3020031F4B5D>))
15: (#<CCL::STANDARD-KERNEL-METHOD MAKE-INSTANCE (STANDARD-CLASS)> #<GOBJECT:GOBJECT-CLASS CL-WEBKIT2:WEBKIT-WEB-VIEW> :POINTER #<A Foreign Pointer #x7FD4A4204FC0> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTEXT..
16: (CCL::%%CNM-WITH-ARGS-COMBINED-METHOD-DCODE #(#<STANDARD-GENERIC-FUNCTION MAKE-INSTANCE #x30200002C2AF> (#<STANDARD-METHOD MAKE-INSTANCE #> #<#> #<#>) NIL NIL ..) (#<GOBJECT:GOBJECT-CLASS CL-WEBKIT2:W..
17: (CCL::%CALL-NEXT-METHOD-WITH-ARGS (#(#<STANDARD-GENERIC-FUNCTION MAKE-INSTANCE #x30200002C2AF> (#<#> #<#> #<#>) NIL NIL (#<#> #<#>)) (#<CCL::STANDARD-KERNEL-METHOD MAKE-INSTANCE (STANDARD-CLASS)>) ..)..
18: (#<STANDARD-METHOD MAKE-INSTANCE (GOBJECT:GOBJECT-CLASS)> #<GOBJECT:GOBJECT-CLASS CL-WEBKIT2:WEBKIT-WEB-VIEW> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTEXT #x3020031F4B5D>)
19: (CCL::%%CNM-WITH-ARGS-COMBINED-METHOD-DCODE #(#<STANDARD-GENERIC-FUNCTION MAKE-INSTANCE #x30200002C2AF> (#<STANDARD-METHOD MAKE-INSTANCE #> #<#> #<#>) NIL NIL ..) 17568840285555 NIL)
20: (NIL #)
21: (CCL::%MAKE-INSTANCE #<CLASS-CELL for CL-WEBKIT2:WEBKIT-WEB-VIEW #x302002F8D63D> :CONTEXT #<CL-WEBKIT2:WEBKIT-WEB-CONTEXT #x3020031F4B5D>)
22: ((:INTERNAL INTERFACE:MAKE-WEB-VIEW))
23: (LPARALLEL.PROMISE::FULFILL-PROMISE #S(LPARALLEL.PROMISE::%PROMISE :RESULT LPARALLEL.PROMISE::NO-RESULT :LOCK #<RECURSIVE-LOCK "Anonymous lock" [ptr @ #x7FD49C197E00] #x3020031E848D> :CVAR ...) #<COMP..
24: (CFFI-CALLBACKS::|GTK::CALL-FROM-MAIN-LOOP-CALLBACK| 17568946061638)
25: (CCL::%PASCAL-FUNCTIONS% 75 17568946061638)
26: (NIL #)
27: (GTK::%GTK-MAIN)
28: ((:INTERNAL GTK:ENSURE-GTK-MAIN))
29: ((:INTERNAL BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
30: (CCL::RUN-PROCESS-INITIAL-FORM #<PROCESS cl-cffi-gtk main thread(13) [Active] #x3020031E966D> (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::%PROCESS-RUN-FUNCTION) #x3020031E93FF>))
31: ((:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS))) #<PROCESS cl-cffi-gtk main thread(13) [Active] #x3020031E966D> (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL ..)))
32: ((:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION))

Unbound variable: *GLOBAL-MAP*, Class named APPLICATION-MODE not found

I'm just playing around, am i missing something?

My ~/.next.d/init.lisp

(in-package :next)
(define-key *global-map* (kbd "Escape") 'evil-mode)

(defvar *evil-mode-map* (make-hash-table :test 'equalp))

(defun evil-mode ()
  (make-instance 'application-mode
                 :name "evil-mode"
                 :keymap *evil-mode-map*))

document-mode-map doesnt work either

Donations?

This project is awesome. Is there any way to contribute to this financially? Not like I can offer much but I would so love to support this and make sure it sticks around.

Sierra release?

The project is currently building for High Sierra (10.13). Any chance we can get a release built for 10.12?

Pop ups

Hi John,

I was wondering if there's any way I can see the pop-up windows when using nEXT. Sometimes I need to view the pop-up windows and click on them in order to continue what I'm doing on certain sites. If this is not possible right now, will it available anytime soon?

Thanks,

Anh

Mac version failing to start

When executing the nEXT browser via Finder on macOS 10.13.3, it simply fails to open.

When I execute the macOS binary from terminal, I get this error:

> Error: Permission denied : "/Users/jmercouris/"
> While executing: CREATE-DIRECTORY, in process Initial(0).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.

It seems like jmercouris user is somehow pre-compiled into the binary which is very wrong.

Shortcuts don't work after switching to an existing tab

First of all this is an awesome project and I love it!

I have the latest version 0.05 and whenever I switch back to gmail/gerrit I can't use the shortcuts which gmail/gerrit supports natively. I have to click somewhere on the page first and then everything works as expected.

Shell mode extension : Permission denied on compiled version

Hi.
I've been encountering crashes using the init.lisp file provided as an example in the documentation.

To reproduce :
I use nEXT downloaded from the release section of this github repo.

This is my init.lisp file :

(in-package :next)
(defvar *shell-mode-map* (make-hash-table :test 'equalp))

(defclass shell-mode (mode) ())

(defun shell-mode ()
  (make-instance 'application-mode
		 :name "shell-mode"
		 :keymap *shell-mode-map*))

(defparenstatic clear-shell-output
    (setf (ps:chain document body inner-h-t-m-l) ""))

(defparen append-output (output)
  (setf (ps:chain document body inner-h-t-m-l)
        (ps:chain document body inner-h-t-m-l
                  (concat (ps:lisp
                           (concatenate 'string output "<br />"))))))

(defun run-shell-command (input)
  (interface:web-view-execute
   (view *active-buffer*)
   (append-output
    (uiop:run-program input :force-shell t :output :string))))

(defun open-new-shell ()
  (set-visible-active-buffer
   (generate-new-buffer "*shell*" (shell-mode))))

(define-key *shell-mode-map* (kbd "c")
  (:input *minibuffer* run-shell-command))

(define-key *shell-mode-map* (kbd "k")
  #'clear-shell-output)

(define-key *global-map* (kbd "C-x s")
  #'open-new-shell)

(pure copy paste from the docs)

I launch nEXT.
I then use C-x s
Press c
enter "anything" press enter.
Crash

Log from slime-connect (screenshot, my bad)

screenshot from 2018-02-01 15-24-37

nEXT inside a emacs-buffer?

I would love having nEXT inside a emacs-buffer, is it possible? If not, would it be possible in the future?

Buffer splitting/tiling

Is anyone else interested in splitting windows emacs style. I've implemented a super simple prototype in the cocoa version (splitting window in half horizonally and manually updating the window url from the repl) and it seems to work nicely.
Does anyone else like this idea. I've included a screenshot of the hack in action, just want to gather opinions on whether it's worth implementing this fully (horizonal and vertical splitting, resizing window switching etc.)

screenshot

GTK Port for nEXT

Attempting to load via Quicklisp on a GNU/Linux machine failed as follows:

[package sqlite]......................
> Error: Module cocoa was not provided by any function on *MODULE-PROVIDER-FUNCTIONS*.
> While executing: REQUIRE, in process listener(1).

Is nEXT an OSX only browser?

Clicking on link doesn’t add node to history tree

Platform: macOS 10.13.2

Steps to reproduce:

  1. Go to a webpage (e.g. github.com/next-browser/next)
  2. Click on a link using the mouse.
  3. Press C-b, one should return to github.com/next-browser/next, but instead one returns to the page before that.

Support you

look forward to gtk version.
it if match with stumpwm ,very perfect!!!

Question : is there a way to fetch current url in a script ?

Hi, thanks for the browser, seems tons of fun.

I wanted to start hacking it but I can't seem to find the documentation on how to do what I want.

Basically I want to create a shortcut that when executed takes the url of the page I am currently looking at and paste it to the youtube-dl command line program. So following the example I created a init.lisp script in ~/.config/next/

and put in it :

(in-package :next)

(defun dl-video ()
  (uiop:run-program '("youtube-dl" "http:url")))

(define-key *global-map* (kbd "C-d y")#'dl-video)

And i'd like to know if there is a global variable (or any other way for that matter) from which I could fetch the current url ( basically the youtube one) and put it at the place of "http:url".

I've never done any Lisp but since it looked quite straight forward I wanted to have a try at it.

For now this is all I want to do, maybe later add a callback to display the stdout of my program or even test if youtube-dl is installed in the first place and if the link pasted is a youtube url.

If you could help me or point me to the correct documentation it would be very appreciated.

[SUGGESTION] Additional repository or document for user customisations/extensions

This is such a cool project! 🕶

Of course, it's immediately clear to anyone familiar with Lisp extensible platforms (like Emacs) that this is the real strength of nEXT.

I know it's early days, but I think it'd be great to put together a place that people can share, discuss, suggest their customisations and extensions.

I don't know if it would really warrant a new repository, or maybe it'd just be easier to have a markdown doc.

Thanks so much for sharing your work - I'm really looking forward to seeing where nEXT goes 🙂

C-f and C-b when entering text in html forms

Would it be possible for C-f and C-b to be bound to the usual forward character and back character behavior on MacOS when entering text in html forms? I use those keybindings all the time when I'm entering text and it is jarring when those commands navigate me away from the page I'm on.

Cannot run nEXT from source

I'm trying to load the system of nEXT and do some coding on Emacs.
I put the source code in the local project folder of quicklisp and did as below.

(ql:quickload :next)
(next:start)

After loading the system and calling the start function,
the browser comes up, but I cannot load URL in tab with C-l.
https://gyazo.com/b86cc7d9fb6d645808695ad6b9f79fdf

My environment is:
 OS: macOS 10.13.1 High Sierra
 CCL: Version 1.11-r16635 (DarwinX8664)

Feature request: proxy support

nEXT doesn't seem to know about proxies at all (I can't find the word in the source code). When you are in a network that doesn't allow Web access without a proxy, that's a show-stopper.

Loading bar

There should be some sort of visual indicator when a page is loading

Windows builds?

I can't say how popular this sort of browser would be with Windows users, but it's starting to see more Linux-type developers with the advent of the Linux subsystem for it. I think, however, I can speak for most of us trapped in a Windows ecosystem in that we would appreciate another choice for web browsers for a platform that has so few. This is essentially the modern take on something like Conkeror but not dependent on (now) unsupported technology, which is awesome.

Blank screen on startup - appears broken to new users?

At least on Mac OS X (High Sierra), there's no default home page/start screen. This leaves a new user thinking startup failed, when in fact, hitting C-l URL RET works perfectly well.

Would you consider a default home page, either a local file or something online ? This could lead to a superior starting experience.

Thanks !

Build issue: No external symbol named "MATCH-RE" in package #<Package "CL-STRING-MATCH">

Hi,

I have cl-strings installed via quicklisp. Doing ccl64 --no-init --load make.lisp results in a build error:

Read error between positions 250 and 940 in /Users/me/.ghq/github.com/analyticd/nEXT/next/source/completion.lisp.

Error: Reader error: No external symbol named "MATCH-RE" in package #<Package "CL-STRING-MATCH"> .
While executing: CCL::%PARSE-TOKEN, in process listener(1).
Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
If continued: Create and use the internal symbol CL-STRING-MATCH::MATCH-RE
Type :? for other options.

Is there a certain version from source of next or of cl-strings that needs to be used to build on OS X Sierra?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.