Ctrl+0-9 to activate file tab 1 - 10 (solved)

Ctrl+0-9 to activate file tab 1 - 10 (solved)

326
Basic UserBasic User
326

    Jul 12, 2009#1

    Hi,

    if you use Firefox you might be familiar with the CTRL+1, CTRL+2 etc to activate the first, second etc tab.

    In UE 14 I had made a AHK (Autohotkey) script to do exactly the same, but in UE15 the script broke and it is not longer possible (to my knowledge) to do in AHK due the changes in UE15.

    I wonder if there is a script that does the same as with Firefox. If you have more than two files open it is a great timesaver to be able to jump to the first 1 (first file) or 5th one. It saves you the hassles of mutiple ctrl-(shift)-tabbing.

    Or I'm missing some "hidden" feature that already makes this possible?

    Thanks in advance! (I have no knowledge of UE scripting)

    6,681583
    Grand MasterGrand Master
    6,681583

      Jul 12, 2009#2

      If you want to activate a document directly with a hotkey, you can do this by writing scripts and assign the hotkeys to the scripts. The script code is quite simple. Here is the example for activating document 3.

      if( UltraEdit.document.length >= 3 ) UltraEdit.document[2].setActive();

      You need 10 scripts each having just 1 line.
      Best regards from an UC/UE/UES for Windows user from Austria

      326
      Basic UserBasic User
      326

        Jul 13, 2009#3

        Thanks, it works but not too well. You must release the CTRL key before you can switch to another document. So CTRL-1-3-5 to switch between 1 3 and 5 is not possible (without releasing CTRL). Should be standard feature IMHO (configurable).

        36
        Basic UserBasic User
        36

          Jul 13, 2009#4

          You know, UE is way older than FF. So, "standard feature" is ... As Mofi pointed out, you can configure it through the script interface. I am however also not a fan of having to press a key-modifier again after executing a script to type f.ex a " (you get a 2 (swe keyboard layout) if not pressing shift again as opposed to keeping shift pressed). Guess that depends on how the keyboard buffer is handled. That's another discussion tho.

          Personally I have absolutely no use for the feature. I always have way more than ten files open so I don't use the tabs (I prefer the file view, tho I wouldn't mind being able to tweak it and remove the other tabs in there which I never use (i.e. Project, Explorer and Lists)). I unfortunately have to have the tabs hidden away as otherwise the script property UltraEdit.document.length is borked. That'll be fixed tho so I can finally get rid of them completely =)

          326
          Basic UserBasic User
          326

            Jul 13, 2009#5

            @danny: other application have this feature too but I mentioned FF just to illustrate it. Besides Google Chrome and IE7 and IE8 (probably opera?) use the same ctrl-0-9

            I don't like the file listing window at all but find the tabs useful, especially with CTRL-0-9 (or any shortcut you like for that matter)

            Edit: I've been using UE since version 4 or something, a number of my requests are now default functions of UE so just wait and see about this one :-)

            30
            Basic UserBasic User
            30

              Jul 14, 2009#6

              The reason you have to release the Ctrl key between script executions is because the Cancel dialog steals the focus of the keyboard and 'cancels' the Ctrl key press.

              I have requested that IDM add an option similar to what is available for macros to suppress the cancel dialog and allow multiple ctrl presses. Please send in a report for yourself, too.

              36
              Basic UserBasic User
              36

                Jul 15, 2009#7

                Good idea roland. I never really thought about that as the script is so fast the dialog doesn't even show for me (used for snippets).

                6,681583
                Grand MasterGrand Master
                6,681583

                  Jul 30, 2011#8

                  Good news for all users of scripts with assigned hotkeys.

                  With UltraEdit v17.10.0.1015 it is possible to execute a script several times by hotkey by just pressing the keys and hold them for repeated execution respectively hold Ctrl / Shift / Alt permanently and pressing just the additional key to execute the script once on every key press of the additional key.

                  326
                  Basic UserBasic User
                  326

                    Aug 05, 2011#9

                    Good news indeed, just tried it and it works. What a joy.

                      Nov 03, 2014#10

                      In UE 21.30.0.1005 up to 22.10.0.12 (included) using the .setActive() script command makes UE lose track of the caret in the document that is activated (text insertion point) but keeps the focus on the previously active document. Adding a .messageBox to the script helps but of course it stall the script execution and you have to dismiss the message box. IDM confirmed the bug and are working on it - a working script looks like this

                      Code: Select all

                      if( UltraEdit.document.length >= 1 ) UltraEdit.document[0].setActive();
                      UltraEdit.messageBox("Swapped tabs","UltraEdit");

                      1

                        Nov 28, 2014#11

                        This is my version!

                        Create as many file as shortcuts:

                        File ue_WindowSelectDoc_1.js:

                        Code: Select all

                        // include ue_WindowSelectDoc.js
                        WindowSelectDoc(0); // ctrl+1
                        File ue_WindowSelectDoc_2.js:

                        Code: Select all

                        // include ue_WindowSelectDoc.js
                        WindowSelectDoc(1); // ctrl+2
                        ...

                        File ue_WindowSelectDoc_9.js:

                        Code: Select all

                        // include ue_WindowSelectDoc.js
                        WindowSelectDoc(9); // ctrl+0
                        Here is ue_WindowSelectDoc.js:

                        Code: Select all

                        function WindowSelectDoc(iIdx)
                        {
                        
                            if(iIdx == UltraEdit.activeDocumentIdx) // you already are on the document
                                return 1;
                        
                            if(iIdx < UltraEdit.document.length)
                                UltraEdit.document[iIdx].setActive(); // activate the document
                            else
                            {   // if you select a document greater than opened, iIdx means start counting from right to left
                                // so 9 select the most right document, 8 select the penultimate, so on.
                                iIdx -= 9; 
                                UltraEdit.document[UltraEdit.document.length - 1 + iIdx].setActive();
                            }
                        
                            UltraEdit.messageBox("",""); // remove when IDM fix the bug of focus with setActive()
                        }
                        

                        326
                        Basic UserBasic User
                        326

                          Nov 18, 2015#12

                          I'm not sure when exactly but with UE version 22.20.0.36 the UltraEdit.messageBox... no longer seems to be required as the caret is now focused on/in the correct document after switching to it with a script.

                          6,681583
                          Grand MasterGrand Master
                          6,681583

                            Nov 18, 2015#13

                            Indeed, this issue is fixed with UE v22.20. I could reproduce the input focus issue (active file after script finished) with UE v22.10.0.12, but not anymore with UE v22.20.0.30 (first public version for Windows XP), v22.20.0.34, v22.20.0.36 and v22.20.0.37. Thanks hugov for letting us know about this fix.
                            Best regards from an UC/UE/UES for Windows user from Austria