Window Groups launching incorrectly in 10.10

To start with, thanks for making awesome software, you have singlehandedly decluttered 20% of my digital workspace.

Goal: Run total terminal from a window group that consists of two tabs. Each tab with its own profile/configuration (name etc.).

Result: If I create two tabs, select profiles myself, name the tabs myself, things work correctly. If I then save a window group, it saves correctly.
When I set the window group to launch on startup, and restart; the correct window group shows for a second, and then goes away (The first tab stays, the second is destroyed.)

I think this is a bug, I have the exported .terminal file for the window group and attached it below.

Specs

  • OS: Yosemite 10.10
  • TotalTerminal Version: 1.5.4 (pre-releases checked)

These could be related issues:

  • TotalTerminal closes valid terminal windows when launching/injecting

  • https://github.com/binaryage/totalterminal/issues/43

  • Joining two tabs in TotalFinder 1.6.10 in 10.10 PB3

     <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
     <!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;>
     <plist version=&quot;1.0&quot;>
     <dict>
     	<key>WindowList</key>
     	<array>
     		<dict>
     			<key>Origin</key>
     			<string>{0, 1807}</string>
     			<key>ScrollerStyle</key>
     			<integer>1</integer>
     			<key>ShowsTabBar</key>
     			<true/>
     			<key>ShowsTabBarInFullScreen</key>
     			<false/>
     			<key>Window Settings</key>
     			<array>
     				<dict>
     					<key>Tab Column Count</key>
     					<integer>364</integer>
     					<key>Tab Row Count</key>
     					<integer>24</integer>
     					<key>Tab Scrollback Restorable</key>
     					<true/>
     					<key>Tab Session Class ID</key>
     					<string>AEAEF2F4-6190-49BF-9004-806C6A1CC714</string>
     					<key>Tab Settings</key>
     					<dict>
     						<key>BackgroundBlur</key>
     						<real>0.64823774857954541</real>
     						<key>BackgroundColor</key>
     						<data>
     						YnBsaXN0MDDUAQIDBAUGFRZYJHZl
     						cnNpb25YJG9iamVjdHNZJGFyY2hp
     						dmVyVCR0b3ASAAGGoKMHCA9VJG51
     						bGzTCQoLDA0OVU5TUkdCXE5TQ29s
     						b3JTcGFjZVYkY2xhc3NPEC0wLjA5
     						MDE5NjA3ODQzIDAuMTkyMTU2ODYy
     						NyAwLjI5ODAzOTIxNTcgMC45NQAQ
     						AYAC0hAREhNaJGNsYXNzbmFtZVgk
     						Y2xhc3Nlc1dOU0NvbG9yohIUWE5T
     						T2JqZWN0XxAPTlNLZXllZEFyY2hp
     						dmVy0RcYVHJvb3SAAQgRGiMtMjc7
     						QUhOW2KSlJabpq+3usPV2N0AAAAA
     						AAABAQAAAAAAAAAZAAAAAAAAAAAA
     						AAAAAAAA3w==
     						</data>
     						<key>Bell</key>
     						<false/>
     						<key>CursorBlink</key>
     						<true/>
     						<key>CursorColor</key>
     						<data>
     						YnBsaXN0MDDUAQIDBAUGFRZYJHZl
     						cnNpb25YJG9iamVjdHNZJGFyY2hp
     						dmVyVCR0b3ASAAGGoKMHCA9VJG51
     						bGzTCQoLDA0OVU5TUkdCXE5TQ29s
     						b3JTcGFjZVYkY2xhc3NPEBswLjk4
     						OTM1Mjg3NjEgMC42MzEzNzQ3MTgg
     						MAAQAYAC0hAREhNaJGNsYXNzbmFt
     						ZVgkY2xhc3Nlc1dOU0NvbG9yohIU
     						WE5TT2JqZWN0XxAPTlNLZXllZEFy
     						Y2hpdmVy0RcYVHJvb3SAAQgRGiMt
     						Mjc7QUhOW2KAgoSJlJ2lqLHDxssA
     						AAAAAAABAQAAAAAAAAAZAAAAAAAA
     						AAAAAAAAAAAAzQ==
     						</data>
     						<key>CursorType</key>
     						<integer>1</integer>
     						<key>Font</key>
     						<data>
     						YnBsaXN0MDDUAQIDBAUGGBlYJHZl
     						cnNpb25YJG9iamVjdHNZJGFyY2hp
     						dmVyVCR0b3ASAAGGoKQHCBESVSRu
     						dWxs1AkKCwwNDg8QVk5TU2l6ZVhO
     						U2ZGbGFnc1ZOU05hbWVWJGNsYXNz
     						I0AmAAAAAAAAEBCAAoADXU1lbmxv
     						LVJlZ3VsYXLSExQVFlokY2xhc3Nu
     						YW1lWCRjbGFzc2VzVk5TRm9udKIV
     						F1hOU09iamVjdF8QD05TS2V5ZWRB
     						cmNoaXZlctEaG1Ryb290gAEIERoj
     						LTI3PEJLUltiaXJ0dniGi5afpqmy
     						xMfMAAAAAAAAAQEAAAAAAAAAHAAA
     						AAAAAAAAAAAAAAAAAM4=
     						</data>
     						<key>FontAntialias</key>
     						<true/>
     						<key>FontWidthSpacing</key>
     						<real>1.004032258064516</real>
     						<key>Linewrap</key>
     						<true/>
     						<key>ProfileCurrentVersion</key>
     						<real>2.04</real>
     						<key>ShowWindowSettingsNameInTitle</key>
     						<false/>
     						<key>TextColor</key>
     						<data>
     						YnBsaXN0MDDUAQIDBAUGFRZYJHZl
     						cnNpb25YJG9iamVjdHNZJGFyY2hp
     						dmVyVCR0b3ASAAGGoKMHCA9VJG51
     						bGzTCQoLDA0OVU5TUkdCXE5TQ29s
     						b3JTcGFjZVYkY2xhc3NPECcwLjg3
     						NTU4NzY2NTkgMC44NzU1ODc2NjU5
     						IDAuODc1NTg3NjY1OQAQAYAC0hAR
     						EhNaJGNsYXNzbmFtZVgkY2xhc3Nl
     						c1dOU0NvbG9yohIUWE5TT2JqZWN0
     						XxAPTlNLZXllZEFyY2hpdmVy0RcY
     						VHJvb3SAAQgRGiMtMjc7QUhOW2KM
     						jpCVoKmxtL3P0tcAAAAAAAABAQAA
     						AAAAAAAZAAAAAAAAAAAAAAAAAAAA
     						2Q==
     						</data>
     						<key>VisualBell</key>
     						<true/>
     						<key>VisualBellOnlyWhenMuted</key>
     						<false/>
     						<key>WindowTitle</key>
     						<string>Python</string>
     						<key>columnCount</key>
     						<integer>80</integer>
     						<key>name</key>
     						<string>Python</string>
     						<key>rowCount</key>
     						<integer>24</integer>
     						<key>type</key>
     						<string>Window Settings</string>
     					</dict>
     					<key>Tab Settings Name</key>
     					<string>Python</string>
     					<key>Tab Subtitle</key>
     					<string>Python</string>
     					<key>Tab Title</key>
     					<string>Terminal</string>
     					<key>Tab Working Directory URL</key>
     					<string><There is a path here I removed></string>
     					<key>TabSelected</key>
     					<true/>
     				</dict>
     				<dict>
     					<key>Tab Column Count</key>
     					<integer>364</integer>
     					<key>Tab Row Count</key>
     					<integer>24</integer>
     					<key>Tab Scrollback Restorable</key>
     					<true/>
     					<key>Tab Session Class ID</key>
     					<string>E1E01D85-2F48-40EE-8DC4-C3503DFAB9C3</string>
     					<key>Tab Settings</key>
     					<dict>
     						<key>BackgroundColor</key>
     						<data>
     						YnBsaXN0MDDUAQIDBAUGFRZYJHZl
     						cnNpb25YJG9iamVjdHNZJGFyY2hp
     						dmVyVCR0b3ASAAGGoKMHCA9VJG51
     						bGzTCQoLDA0OVU5TUkdCXE5TQ29s
     						b3JTcGFjZVYkY2xhc3NPECwwLjE0
     						MTE3NjQ3MDYgMC4xNDExNzY0NzA2
     						IDAuMTQxMTc2NDcwNiAwLjk1ABAB
     						gALSEBESE1okY2xhc3NuYW1lWCRj
     						bGFzc2VzV05TQ29sb3KiEhRYTlNP
     						YmplY3RfEA9OU0tleWVkQXJjaGl2
     						ZXLRFxhUcm9vdIABCBEaIy0yNztB
     						SE5bYpGTlZqlrra5wtTX3AAAAAAA
     						AAEBAAAAAAAAABkAAAAAAAAAAAAA
     						AAAAAADe
     						</data>
     						<key>ProfileCurrentVersion</key>
     						<real>2.04</real>
     						<key>ShowShellCommandInTitle</key>
     						<false/>
     						<key>ShowTTYNameInTitle</key>
     						<false/>
     						<key>ShowWindowSettingsNameInTitle</key>
     						<false/>
     						<key>TextColor</key>
     						<data>
     						YnBsaXN0MDDUAQIDBAUGFRZYJHZl
     						cnNpb25YJG9iamVjdHNZJGFyY2hp
     						dmVyVCR0b3ASAAGGoKMHCA9VJG51
     						bGzTCQoLDA0OVU5TUkdCXE5TQ29s
     						b3JTcGFjZVYkY2xhc3NGMSAxIDEA
     						EAGAAtIQERITWiRjbGFzc25hbWVY
     						JGNsYXNzZXNXTlNDb2xvcqISFFhO
     						U09iamVjdF8QD05TS2V5ZWRBcmNo
     						aXZlctEXGFRyb290gAEIERojLTI3
     						O0FITltiaWttcn2GjpGarK+0AAAA
     						AAAAAQEAAAAAAAAAGQAAAAAAAAAA
     						AAAAAAAAALY=
     						</data>
     						<key>WindowTitle</key>
     						<string>Node.js</string>
     						<key>name</key>
     						<string>Node.js</string>
     						<key>type</key>
     						<string>Window Settings</string>
     					</dict>
     					<key>Tab Settings Name</key>
     					<string>Node.js</string>
     					<key>Tab Subtitle</key>
     					<string>Node.js</string>
     					<key>Tab Title</key>
     					<string>Terminal</string>
     					<key>Tab Working Directory URL</key>
     					<string><There is a path here I removed></string>
     					<key>TabSelected</key>
     					<false/>
     				</dict>
     			</array>
     			<key>WindowNumber</key>
     			<integer>1</integer>
     		</dict>
     	</array>
     	<key>name</key>
     	<string>Default group</string>
     	<key>type</key>
     	<string>Window Group</string>
     </dict>
     </plist>

Good report. I think you just want to prevent TotalTerminal closing existing Terminal windows after injection.

Please read this discussion and set TotalTerminalCloseWindowsOnStart tweak:

Thanks for the quick response!

It is still not working for me:
I ran this in the terminal:

defaults write com.apple.Terminal TotalTerminalDoNotOpenVisorDuringStartup -bool yes

and

defaults write com.apple.Terminal TotalTerminalCloseWindowsOnStart -bool no

Did I run these commands in the wrong place? I do not see any impact on my tT launch.

Here are all the steps I went through (or see below) https://imgur.com/a/7JRUY

Pre totalTerminal launch: About to launch totalTerminal
http://imgur.com/2xDvYIw
totalTerminal has launched, and has opened my window configuration.
http://imgur.com/itjyd3bt
totalTerminal initializes visor
http://imgur.com/RdeEx0t
I have pressed the hotkey to open total terminals visor, totalTerminal has initialized the visor, and removed the second tab.
http://imgur.com/dkEydB7

After second image. Who closed that restored Terminal window with two tabs?

TotalTerminalCloseWindowsOnStart should have prevented it.

Ah, just went through the code, and you should set:

defaults write com.apple.Terminal TotalTerminalDoNotTouchWindowsOnStart -bool yes

I’m sorry for so many confusing tweaks, but it has historical reasons. People were requesting different behaviours for different workflows and it got pretty complex.

Here is the relevant code if it helps:

Hi,
Could TotalTerminal open a window group itself ?
Thx