HowTo: Skript doppelt öffnen mit Scite in zwei Instanzen

  • Scite in mehreren Instanzen um Skript doppelt öffnen zu können:

    1. Scite-Konfiguration öffen "SciTEGlobal.properties" im Scite-Verzeichnis

    2. Folgende Einträge ändern:

    Code
    # Window sizes and visibility
    if PLAT_WIN
    	position.left=0   <-- am besten auf Null stellen um Fenster wirklich bündig und füllend anzuzeigen
    	position.top=0   <-- dito
    if PLAT_GTK
    	position.left=5
    	position.top=22
    position.width=720       <-- Hier die hälfte der Bildschirmbreite einstellen in Pixeln
    position.height=875     <-- Hier die Höhe des Bildschirms einstellen in Pixeln (ca. 25 abziehen für Taskleiste)
    position.tile=1       <-- Die Raute rausnehmen und den Wert auf 1 setzen

    Dann noch:

    Code
    check.if.already.open=0      <-- Den Wert auf 0 setzen - somit kann man eine Datei mehrfach öffnen.

    Dann empfiehlt es sich noch Scite nicht im maximierten Fenster zu starten. Sollte man das aber beibehalten wollen kann man durch Resize des Fensters die geteilte Anordnung wiederherstellen.

    3. Hotkey für das zweite Öffnen eines schon offnen Skripts von Bugfix (Danke noch von mir ;) )

    Einfach den Code in die "SciTEUser.properties" kopieren

    Code
    # 43 SciTE-2ndWindow 
    command.43.*.au3="$(SciteDefaultHome)\SciTE.exe" "$(FilePath)" 
    command.name.43.*.au3=Zweites SciTE Fenster 
    command.save.before.43.*.au3=1 
    command.is.filter.43.*.au3=1 
    command.shortcut.43.*.au3=Ctrl+Alt+T


    Habt ihr noch keine eigenen Einträge, verwendet 36 statt 43, ansonsten fortlaufend nummerieren.
    Einfügen vor folgendem Eintrag:

    Code
    #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
    # START: DO NOT CHANGE ANYTHING AFTER THIS LINE     #-#-#-#-#
    # Created by SciTEConfig
    #------------------------------------------------------------

    Hoffe jemand findet gefallen daran - mir/uns hilft es schon bis was besseres kommt :)

    Viel Erfolg.


    Edit BugFix:
    Da wir hierdran ein bisel zusammengewerkelt haben, bin ich mal so frech und kommentiere direkt hierdrin :D
    Ein Tipp noch: Wenn ihr auf diese Weise ein und dasselbe Skript in beiden Fenstern habt, könnt ihr in beiden Fenstern beliebig editieren. Beim Wechseln in das andere Fenster vorher nur Abspeichern (am schnellsten Strg+S), dann sind alle Änderungen sofort im anderen Fenster aktiv.

    3 Mal editiert, zuletzt von BugFix (19. Juli 2008 um 23:08)

  • Hi, tolle Sache, könnte man das nicht in den Hilfebereich pinnen?


    Edit BugFix: Hiermit getan ;)

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

    Einmal editiert, zuletzt von BugFix (19. Juli 2008 um 23:09)

    • Offizieller Beitrag

    Kleiner Nachtrag:
    Ich habe noch ein wenig in der SciTE-Beschreibung nachgelesen. Die Eigenschaftsfestlegung für SciTE ist mehrstufig.
    D.h., mit den SciTEGlobal.properties wird das Grundverhalten festgelegt. Und ich vermute stark, dass bei einem Update diese Datei überschrieben wird.
    Benutzereinstellungen sind alle in der SciTEUser.properties vorzunehmen. Dieses Datei hat eine höhere Rangstufe als die Globale und überschreibt deren Werte, sofern angegeben.
    Also einfach alle Änderungen enblock hierdrin vor dem gesperrten Bereich eintragen und keine Änderungen in der SciTEGlobal.properties.

    Spoiler anzeigen
    • Offizieller Beitrag

    Hi,
    ich hab mal noch 'ne andere Variante erstellt. Hierbei wird automatisch gesplittet und beim Schließen eines Fensters, das verbliebene wieder zurück auf Vollbild geschaltet.
    Dazu muß halt nur das Skript ständig im Hintergrund laufen, aber bei der minimalen Prozessorlast kein Problem.
    Ihr könnt ja noch nen Hotkey zum Beenden einsetzen.
    Hier das Skript:

    Spoiler anzeigen
    [autoit]

    Global $List
    While True
    Do
    Sleep(500)
    $List = WinList('[CLASS:SciTEWindow]')
    Until $List[0][0] = 2
    WinMove($List[1][1], '', 0, 0, @DesktopWidth/2, @DesktopHeight)
    WinMove($List[2][1], '', @DesktopWidth/2, 0, @DesktopWidth/2, @DesktopHeight)
    Do
    Sleep(500)
    $List = WinList('[CLASS:SciTEWindow]')
    Until $List[0][0] = 1
    WinMove($List[1][1], '', 0, 0, @DesktopWidth, @DesktopHeight)
    WEnd

    [/autoit]


    Wie vorab beschrieben den Eintrag in "SciTEUser.properties" für den Aufruf der zweiten Instanz per Shortcut und die Optionszeile:
    check.if.already.open=0

  • Finde das How-To auch echt super. Kann ich gut gebrauchen, weil bis jetzt mach ich immer eine Kopie von meinem Skript und öffne dann das Original und die Kopie