Multiple Nyxt windows

Hi everyone.

I am sliding back into using Nyxt (2.2.4) as a daily driver. A few questions:

  1. How do you open up multiple Nyxt windows from the shell?

I use Stumpwm and I would like to automate opening up Nyxt windows on multiple desktop and have them login and do stuff automatically. Nyxt -h doesn’t show arguments capable of doing this.

  1. When Nyxt starts up form me, it expands the buffer and shows me a kind of history of available buffers I can choose from. Is there a way to quiet this behaviour?

  2. How do we tell Nyxt to not save any open buffers and re-open them on browser startup?

  3. Is it possible to completely hide the buffer at the bottom and have it only render on a shortcut?

  4. Are there any projects / extension that allow for tabbed view? My typical workflow requires a substantial number of tabs spread across multiple browser windows and multiple workspace as I am always logged into many online services at all times. I use the term “tabbed view” as representational of having a tab with a label on it rendered at all times so that it is easy to see at a glance at resources already loaded up in a buffer and available for access.

Note: I am not sure having buffer names present in the buffer gray area would be the ideal solution, perhaps a kind of rendered tabs either at the top or at the bottom might be interesting just for the visual que as a reference point. Just curious if any conversation / work had been done on this.

I understand the buffer oriented philosophy and why the gravity of that metaphor would draw away from rendering tabs.

  1. Is Keepasx the preferred passwd manager in the community? Is it possible to automate spawning Nyxt windows via the shell and having the browser log in to certain sites using credentials from a passwd manager?

Please note: None of the above are complaints or even wishes. I am looking to really give Nyxt a go and see if I can integrated it into a workflow currently dominated by traditional browsers.

Btw: Congratulations to the team on the upcoming 3.x release and to the community for moving the project forward. The forums are great for learning the ins and outs.

Thanks.

  1. You can open several Nyxt windows if you invoke nyxt with --no-socket option.
  2. It’s togglable via browser configuration. Add this to your config file and enjoy:
(define-configuration browser
  ;; This is for Nyxt to never prompt me about restoring the previous session.
  (#+nyxt-2 (session-restore-prompt :never-restore)
   #+nyxt-3 (restore-session-on-startup-p nil)))
  1. This is covered by 2. While you’re on 2.*, you can use one of
  • :never-restore to not restore session/buffers.
  • :always-restore to always restore those.
  • :always-prompt to prompt you about which history to restore (default).

On 3., it’s a mere boolean for whether to restore or not. To prompt as in 2., you can use restore-history-by-name.

  1. Yes, it’s possible. On 2.*:
;; Disable status-buffer (modeline).
#+nyxt-2
(define-configuration status-buffer
  ((height 0)))
#+nyxt-3
(hooks:add-hook *after-startup-hook* #'toggle-status-buffer)

(On 3.*, you also have toggle-message-buffer for the echo area below the status buffer, and toggle-toolbars that disables/enables both status buffer and message buffer. Those are also commands, so you can toggle those whenever necessary.)

  1. No, no tabbed view yet. 3.* has buffers-panel, which resembles the trendy tab sidebar, but status buffer extensions are yet to come.

  2. KeePassX(C) is not the prefferred, it just happened to be the most updated. pass should work just fine too, and OS X security is possibly still alive too. Automating logins is possible, but no one have done that yet, so you may need to experiment with things a lot. See the upcoming headless mode discussion here on Discourse for starters.

1 Like

Just to clarify, by starting Nyxt with --no-socket, you’re launching different and isolated processes. From a running Nyxt’s instance, it’s possible to open new windows. Generally, I believe you’re looking for the second option.

1 Like

Well, all of that is beyond awesome.

As a side point to AADCGs comment, while you are correct I am REALLY interested in having separate windows as separate browser processes as part of my workflow these days because the browser is starting to become a kind of pseudo window manager for web applications which is starting to get annoying with traditional browsers.

AARTAKA, thank you very kindly for all of the detailed answers, very much appreciate that.

The entire Nyxt team should be very proud of the work you are doing. The browser is turning out to be amazing. My standard test for keyboard driven browsers is they have to be able to interact with the Request Tracker ticket tracker because it is the most forms heavy application that I can find and Nyxt performs flawlessly.

I hope to be able to help out over the next year or so as well.

1 Like

Keep us updated with your hopes, expectations and disappointments!

Thank you :slight_smile:

Just wanted to double back on this and for 3.x i had to rename the ~/.config/nyxt/init.lisp to config.lisp in order for the settings to be read by the 3.x version.

The init.lisp file seemed to work in 2.x. Just a quick note in case any noobs run across this thread.

@holycow thanks for the observation.

@aartaka I couldn’t find any mention to the config file name change in the transition 2->3. Did we forget to mention it in the changelog and migration guide or am I missing something?

I don’t think it is an issue on the Nyxt side. I think what may have happened was I looked up online where the Nyxt init file was and everyone seemed to be using init.lis (GitHub - vindarel/nyxt-init.lisp: My Next browser init file) so I may have created it in the ~/.config/nyxt folder.

Either that or on Debian 10 and 11 their Nyxt packge created that file.

The reason I wrote the previous point is for the following reasons:

  1. Nyxt 2.x apparently could find and use init.lisp

  2. Nyxt 3.x could not find and use init.lisp. I checked the documentation and it mentions the file is supposed to be named config.lisp. When I placed config.lisp in ~/.config/nyxt, 3.x was able to see the config.

I did not check any of the change logs, I only checked the manual.

Does that provide adequate context?

All clear @holycow, thanks!