I think min is a great tool for running focused web apps and dev tools. To that end, I'd like to have multiple instances open, so I can test apps with different concurrent browser sessions side-by-side, without having to tab through to see updates in each.
Is this possible, planned or not possible by design?
I also would like multiple instances to work, although maybe I should open a separate bug/issue for this?
With one Min instance, everything works fine. If I open another min instance on another desktop, autocomplete is broken, my settings to minimize the menu are reverted, and the tabs from my other instance are brought up instead of the blank start page. So technically I guess multiple instances do work aside from those bugs above.
@CalObbur Multiple instances are probably never going to work, because two instances can't open the same IndexedDB database at the same time, which is why settings and autocomplete don't work. Multiple windows per instance is definitely doable however, and would solve most of the reasons that having multiple instances is necessary.
@PalmerAL was there a reason that multiple windows wasn't added? If not I could help out here, too. I'd live to see an awesome split view though (like #349).
Yeah, I agree multiple windows would be a good idea. It's going to be fairly difficult to implement this, because a bunch of stuff (particularly the task system and session restore) was designed with the idea that there's only one open window, but I think it's definitely doable if you're interested in working on it.
Out of all the features I've habitually tried to use so far, CTRL+N/File > New Window is the only one that hasn't worked. If it were possible to view multiple pages at the same time, then I'd frankly have a hard time thinking of any real functionality where Min is lacking when compared to the big browsers (Chrome, Firefox, etc).
Multiple windows is the one thing min is missing for me. With other browsers, I'm often reading documentation or wiki pages in one window while I have a video playing in a window on my other monitor. For now, I have to keep a second browser installed to manage this.
Are multiple windows considered/worked on?
No ETA for now.
In Linux, does the min browser always run on single instance mode?
I mean when I spawn multiple min browser it will share the same instance (similar on how firefox -new-window or kitty --single-instance works)
from what I know electron app in macOS always run in single instance mode
@DrSensor Yes, that's done here.
Electron doesn't enforce single instance by default on macOS, but the OS tries to (by switching back to the existing instance when you open a file or click a link, rather than creating a new instance). So every app effectively ends up being single-instance, but you can still create multiple instances from the command line if you want to.
Multiple instances don't behave nicely on macOS though.
It is very normal for any browser to have many Windows. Not one ONLY.
Because we open different windows to put them side by side to compare.
Such a simple thing you cannot do for your browser? We should get like
crazy in switching between your tabs?
And while clicking on your Tabs… if we click on the one active… it
instantly load the s…t list of bookmarks
If you are really developing something good. Develop well your
platform's surface very well first of all.
Put a more opposite difference in the colors of the active and behind
tabs. The color is so close that it is so hard to differentiate.
Don't make as if you do not know. Im sure you all do know it very well.
Or give an option to choose the colors of tabs we want it to be. if you
cannot choose the well the colors.
Kenny wrote:
>
Multiple instances don't behave nicely on macOS though.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/minbrowser/min/issues/169#issuecomment-635614394,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAEPZWKEEGNF3SDMLFBYPTRT3ITBANCNFSM4CEHXMXA.
Well that comment is quite aggressive and possibly a bit insulting.
That aside, in case I wasn't clear enough, I'll detail.
macOS expects all windows of an app to be handled by a single instance of that app.
When you open multiple instances, _something technically allowed but not encouraged_, multiple side effects happen, including:
Cmd+Tab iconCmd+` doesn't switch between windowsCmd+Q only quits one instance, so it doesn't close all windowsAnd @dj-sash, remember. Open source and a GitHub repo doesn't mean you've suddenly got free labour to fulfil your wishes. Each project maintainer does what they want. It is their project, not yours.
What you can do is make improvement suggestions and hope the maintainer will like them and try to implement them.
If they won't, tough luck, _c'est la vie_. And with a "Don't make as if you do not know. Im sure you all do know it very well." attitude, I'm not sure you'll get much luck into getting your suggestions accepted.
@dj-sash
If you're interested in getting "something good" , then I suggest submitting a pull request, instead of whinging, cussing, dictating, and lecturing about your perceived superficial shortcomings for a tool that someone has made, maintained, and given you access to for free.
...Personally, I do think that most of the changes you suggest seem quite "s...t" and unnecessarily heavy for how frivolous they are. Your attitude and sense of aggressive entitlement, even more so, and I seriously hope that I will never have the misfortune of ever having to work with you or use anything that you've made.
And to further answer that "Don't make as if you do not know. Im sure you all do know it very well." comment, I could probably do it as well even though I have no experience with Electron if you give me 3 years and a constant supply of coffee.
Thing is, I have better things to do. And so do the maintainers most likely.
Managing multiple windows is a hard task, ensuring no conflicts appear, preparing emotionally for the "I can't move tabs between windows using drag & drop!!!!!!111!!!" issues when the first release of the feature is shipped. It's not impossible, of course. It's probably just hard, time consuming.
PalmerAL did mention at the beginning of this issue that they "agree multiple windows would be a good idea', so it's not like someone said no to the idea and you need to be persuasive. It's just that, at the moment, there is "No ETA for now.", likely due to the reasons I mentioned above.
So calm down with your "s..t" attitude, to use the same words you use.
It is already version 1.14.1
shift your gear
Kenny wrote:
>
And to further answer that "Don't make as if you do not know. Im sure
you all do know it very well." comment, I could probably do it as well
even though I have no experience with Electron if you give me 3 years
and a constant supply of coffee.Thing is, I have better things to do. And so do the maintainers most
likely.Managing multiple windows is a hard task, ensuring no conflicts
appear, preparing emotionally for the "I can't move tabs between
windows using drag & drop!!!!!!111!!!" issues when the first release
of the feature is shipped. It's not impossible, of course. It's
probably just hard, time consuming.PalmerAL did mention at the beginning of this issue that they "agree
multiple windows would be a good idea', so it's not like someone said
no to the idea and you need to be persuasive. It's just that, at the
moment, there is "No ETA for now." due to the reasons I mentioned above.So calm down with your "s..t" attitude, to use the same words you use.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/minbrowser/min/issues/169#issuecomment-635667597,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAEPZRSHKV7YVNIJGVVG3LRT3WZRANCNFSM4CEHXMXA.
Version is just a number that, by convention, goes up.
ReactOS is at version 0.4.13 and it's been in development since 1998 (22 years ago).
How about you "shift your gear" and write this feature yourself if you want it so much?
You are the very best programmer/developer. You write it perfectly. Do
not talk or type a lot for nothing.
Kenny wrote:
>
Version is just a number that, by convention, goes up.
ReactOS https://reactos.org/ is at version 0.4.13 and it's been in
development since 1998 (22 years ago).How about you "shift your gear" and write this feature yourself if you
want it so much?—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/minbrowser/min/issues/169#issuecomment-635670002,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAEPZR6AUT4ZK5UEVUOICLRT3XVDANCNFSM4CEHXMXA.
@PalmerAL
@DrSensor Yes, that's done here.
I mean sharing the same instance even though it spawned multiple times.
From that source code, it means min doesn't allow me to spawn another min. So something like this is not possible:
$ min &
$ min
````
The second time I run `min` it will immediately force exit.
What I mean sharing the same instance is when I inspect it using process manager (like `top` or `ps`), it will tell me it only has one process running even though it's spawned multiple times. Take examples of [kitty terminal](https://sw.kovidgoyal.net/kitty/invocation.html#cmdoption-kitty-single-instance), if I do:
```console
$ kitty &
$ kitty &
$ ps | grep kitty
It will tell me that there are 2 kitty process running. However, if I use --single-instance flag:
$ kitty -1 &
$ kitty -1 &
$ ps | grep kitty
It will tell me there is only 1 kitty process running even though there is 2 kitty window shown up. The memory consumption is slightly bigger than without using single-instance mode but it's better than having 2 identical processes running. (2 identical processes cause twice memory consumption)
@DrSensor Right, if you try to create a second instance it will stop; if you passed a URL to it, it will transfer over to the first instance and be opened there. I think that's what kitty is doing as well ("New invocations will instead create a new top-level window in the existing kitty instance").
Anyway, I figured I'd write down some of what would be required to support multiple windows in an instance:
None of this is impossible, and if someone wants to work on it you're welcome to! But I'm probably not going to in the immediate future given the time that would be involved.
(It may also be worth thinking about how this could be simplified. For example, if you had a separate task list per-window, and didn't allow transferring tabs between windows, you could eliminate 2, 3, and probably 5. It wouldn't be great from a UX standpoint though).
I think that if a task is open in a window, selecting it from another window should instead bring the window currently containing the task in focus. I'm not sure how nice that would be.
Other browsers handle multiple windows quite a lot more simply - the last closed window is the one who's data is stored. I did some tests (on Brave and Firefox) and when I reopen the browser after closing many windows, the tabs that appear are from the last window I closed.
I don't believe that having one instance contain multiple windows is a good idea, because the point of having another window is so you have a new empty canvas to work on. I think the best system is to store the window data in the window itself and save it in permanent storage only when you close the window. Does that require a lot of code modification?
Note: Wexond is another electron-based browser, that does implement multiple windows (although some stuff don't work exactly like in other browsers, for example tabs are saved only from the first window instance, but history includes all windows). It could provide some ideas/clues on how to implement the feature (although it also uses React and we don't).
Most helpful comment
@DrSensor Right, if you try to create a second instance it will stop; if you passed a URL to it, it will transfer over to the first instance and be opened there. I think that's what kitty is doing as well ("New invocations will instead create a new top-level window in the existing kitty instance").
Anyway, I figured I'd write down some of what would be required to support multiple windows in an instance:
None of this is impossible, and if someone wants to work on it you're welcome to! But I'm probably not going to in the immediate future given the time that would be involved.
(It may also be worth thinking about how this could be simplified. For example, if you had a separate task list per-window, and didn't allow transferring tabs between windows, you could eliminate 2, 3, and probably 5. It wouldn't be great from a UX standpoint though).