Community
    • Login

    Add commandline parameter for no multiinstance

    Scheduled Pinned Locked Moved General Discussion
    4 Posts 2 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Hans v.BuitenenH
      Hans v.Buitenen
      last edited by

      Hi, since W10 i am forced to go into multi-instance mode because the single instance mode does not create a new instance if one is not already exists on the same screen. This cause the screen to pop back to where NotePad++ is located.

      So i solved this issue with multi instance mode. It was a little getting used to but it works fine.

      What i need now is a parameter that makes it possible to open several documents, one after another, into the same session. Something like -nomultiinst or -useexisting.
      I’m using a script that uses notepad++ as viewer, that produces several log files. I would really like to have them end up in one session.

      If you get too many sessions you loose track of them.

      PeterJonesP 1 Reply Last reply Reply Quote 0
      • PeterJonesP
        PeterJones @Hans v.Buitenen
        last edited by

        @Hans-v-Buitenen ,

        If you want to a number of files all opened in the same instance while not interfering with other existing instances, just send all the filenames in the same command:

        notepad++  -nosession -multiInst "File1.txt" "File2.txt"
        

        opens both “File1.txt” and “File2.txt” in the same instance, while leaving my previous instance alone.

        notepad++ -nosession -multiInst *.*
        

        opens all the files in the current folder in one instance, while leaving any previous instances alone.

        However, you cannot add files to a specific/given instance on the command line if you are in multi-instance mode. That’s just the way multi-instance mode is defined.

        1 Reply Last reply Reply Quote 2
        • Hans v.BuitenenH
          Hans v.Buitenen
          last edited by

          I know that this works, but if you have a script that opens several files from different modules that would need some extra programming and it will delay the output.

          PeterJonesP 1 Reply Last reply Reply Quote 0
          • PeterJonesP
            PeterJones @Hans v.Buitenen
            last edited by

            @Hans-v-Buitenen ,

            This is the way Notepad++ works. If you have it in multi-instance mode, then each individual call to notepad++.exe opens a new instance with all the files given in the argument to that specific Notepad++ instance. You cannot pick and choose which already-running instance will get a new file (and I’ve never seen a multi-instance application that allows pick-and-choose of the destination window from the command line).

            In theory, you could make a feature request (per this linked FAQ) to ask for a way to pick a destination instance in multi-instance mode, but my guess is that it would be quite difficult to implement, and I don’t know whether you’d get traction with the developer(s). If you do create a feature request, make sure to paste a link to the issue in this discussion.

            Otherwise, you will need to build up a list of files that you want in the same instance, and either send them as arguments to a single run of notepad++.exe, or build a session file and ask notepad++.exe to open that session – but either way, it would need to wait until your script has gone and found all the files that it wants to group together. I’m not sure how that would take more than a second or two for any script to find; unless you’re trying to find a handful of files in thousands upon thousands of files, or from some slow remote server. For example, if your script currently says (in pseudocode)

            for file in all_files:
                if file meets criteria then
                    launch `notepad++.exe file`
                end_if
            next file
            

            then you could tweak it to say

            list_of_files = []
            for file in all_files:
                if file meets criteria then
                    append file to list_of_files
                end_if
            next file
            launch `notepad++ list_of_files`
            

            That’s not really a huge change to the coding of the script.

            Or, if you want everything in one instance anyway, don’t bother with multi-instance. Then, running new notepad++.exe commands will just add files to the one master instance.

            Or, if you really need multiple instances, open multiple instances, then from inside each instance, use one of the scripting plugins (like NppExec or PythonScript) to select and open files for that instance. By driving it from inside each instance, then files would be opened in the correct instance.

            1 Reply Last reply Reply Quote 2
            • mkupperM mkupper referenced this topic on
            • First post
              Last post
            The Community of users of the Notepad++ text editor.
            Powered by NodeBB | Contributors