atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.87k stars 413 forks source link

Contexts as workspaces? #2812

Open aartaka opened 1 year ago

aartaka commented 1 year ago

Is your feature request related to a problem? Please describe. So lots of browsers have their way to tame the inherently multi-tasking work world of today. Firefox Containers, Opera Workspaces, Vivaldi tab groups. But we don't seem to have one that's sewn through all of user interface.

Describe the solution you'd like A good thing that we already have is contexts. They are GTK-side thing right now, because we use them to delineate where the data is stored, but they could be useful in other contexts (pun not intended), like grouping buffers, websites and mode groups together...

I may be stretching it too far, though.

Describe alternatives you've considered Profiles? They are reduced to NFiles profiles now, so not sure it'll make sense expanding them back. But who knows?

lansingthomas commented 1 year ago

I am very interested in this. I think the best way to organize buffer groups is by task.

Can you help me understand contexts? in this context. Pun unavoidable.

aartaka commented 1 year ago

Can you help me understand contexts? in this context. Pun unavoidable.

So contexts are the renderer-side thing that keeps browsing data separate. New contexts and existing ones can be chosen with make-buffer-with-context command. I, for example, have:

So that means that in my Nyxt dirs I have two directories:


But then, those contexts sound like a task-level thing, because you usually want to separate data between different tasks too. So why not make those data-related concepts into task-related ones too?

Ambrevar commented 1 year ago

@aartaka Possibly low-medium priority, what do you think?

I also remember another issue about this, can you find it again?

aartaka commented 1 year ago

@aartaka Possibly low-medium priority, what do you think?

I'd even say low, because we can live without it for some eternity.

I also remember another issue about this, can you find it again?

It's either #1695 or #1573.

EDIT: with -> without

lansingthomas commented 1 year ago

@aartaka thank you for the fine explanation of contexts

Here are some thoughts -- no solutions from me yet

We might consider a few elements

  1. high level contexts (work-tabs, personal-tabs, read-later-tabs, toolbox)
  2. task level contexts (buy a plane ticket for Trevor's wedding, respond to three related emails, edit a shared document then mark it as done on a spreadsheet)

we need to prevent interleaving

(mixing of buffers/tabs from different task level contexts)

I like the idea of using these data/renderer-side-contexts to assist with splitting up our buffers into both task-level-contexts and high-level-contexts. Unfortunately we cannot just split them cleanly. As in: all default-web-context goes to work, and all internal goes to personal).

We can however send all of our google-web-context to surveillance capitalism :D

lansingthomas commented 1 year ago

Just a quick thought -- IF I could rename buffers would it help? I honestly do not know if this feature already exists or not. It is not a perfect system but I can see renaming contexts as useful for organizing high level contexts, AND renaming buffers as useful for task level contexts

Can i rename my buffers with Nyxt?

aartaka commented 1 year ago

Yes, we had an idea of naming buffers for some time, but it's not implemented yet. #1695 is a somewhat lengthy but interesting discussion of the ideas connected with this.

aartaka commented 11 months ago

@lansingthomas, is there a plan for this one? Should we have a call and discuss it?

aadcg commented 11 months ago

This issue is correctly marked as being low priority.