Built-in optional multi-window mode (two browsers, two add windows)

I have a feature suggestion: Basically it’s about integrating Arthur’s opening the same window multiple time. I don’t mean that this should be the default behavior but instead ideally there would be an option in the preferences to allow multiple add and browser windows.

When this idea was brought up in February 2021 Rumo and Damien were very sceptical because of issues with this add-on and so far it’s not popular.

I propose to reconsider this now.

I guess that today many of these problems should no longer occur because of the commit Simplify note adding and the deck/notetype choosers that was released in 2.1.45. Since then you can rely on only Arthur’s short multiple window add-on. Before that you had the problem that changing the note type in one add window affected other add windows so Arthur made another add-on named Keep model of add cards. This add-on overwrites some methods in aqt/addcards.py and aqt/model.py. This add-on was rarely updated whereas Anki changed these parts of the code a lot. This is a good source of errors. Another problem is that a few other add-ons (e.g. by me) relied on specific versions of these add-ons. This should be the main source of problems. When checking the reviews of “opening the same window multiple time” there was one from 12/10/2020 that was related to the add-on Symbols As You Type. So I doubt that having multiple browsers or add windows is inherently buggy.

 

I think the more relevant question is whether it’s sufficiently important to build this into Anki or if it’s just feature creep that’s best left in an add-on. I admit that the limited popularity of this add-on doesn’t help my case (though the one-sentence description on ankiweb is not very enticing). On the other hand having two add or browser dialogs should be very useful for a substantial minority of users. Multi window modes are well known on desktop so it wouldn’t make Anki more complicated (and if it did it would be much less complicated than the note-card distinction or more arcane features like e.g. the “leech threshold” or the “leech action” in the deck options or the “browser appearance” option in the card templates). On reddit people regulary post questions where a solution would be to have multiple browsers.

I think a multi window mode is different from e.g. an add-on that automatically fetches images and translations for two reasons: The multi-window mode is more basic and more general so that it’s a better candidate to be built-in and Arthur’s add-on is only ~100 lines at the moment. The option to have two windows at the same time might allow different workflows we don’t know yet.

For me having two browsers is very useful e.g. if I want to compare two notes which is something I do daily. At the moment this only works when I review a certain card that I can put with the shortcut “e” into an EditCurrent window and then I can use the browser. But when reading a professional journal sometimes I want to check if my notes need updating and since many of my notes are short a lot of topics are distributed among different notes and it’s much easier if I can see multiple related notes at the same time. (Actually one of the things I dislike most about supermemo is that you have just one window for your cards).

Having two Add windows is also useful in many cases: E.g. when processing a textbook I often copy a sentence or paragraph into an add window and then start to reduce it to something reviewable. While doing this I sometimes notice that e.g. some foreign words/technical terms need an additional card so I use another add window and only after this I get back to the first note. I could formulate my notes in a different program and only copy over the final versions or when I think that I need an additional note I could try to do it after finishing the first note but this always an additional time or mental burden. Workarounds like using another program to prepare the new notes or a clipboard manager are inferior alternatives imo.

 

Unfortunately my technical skills are too limited so I can’t make a mergeable solution. The only thing I can offer at the moment is helping with the German translation of the manual …

2 Likes

The changes in 2.1.45 related to undoing and change notification make this somewhat simpler/more robust to implement, but there are probably still things that will break because they assume only a single instance of those screens will exist. I don’t have the bandwidth to implement this, but if someone is willing to look into it, give it an appropriate amount of testing, and deal with any breakages that result from it, then I’d be happy to accept a PR.

Rather than an unbounded number of windows, 2 is probably the sensible choice, so that we can preserve the existing behaviour of those actions opening the existing window if one exists. Maybe the action could open the standard window normally, and a shift+click would open the second instance.

thank for the info. I will figure it out more.