- stack tips: external display

This commit is contained in:
TrueZhuanjia
2025-07-24 10:30:38 +08:00
parent 0e8980da95
commit a707b21446
8 changed files with 105 additions and 42 deletions
+25 -25
View File
@@ -60,7 +60,7 @@
<viewControllerLayoutGuide type="bottom" id="XvO-F3-j4u"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="WRy-3f-gEP" customClass="UIScrollView">
<rect key="frame" x="0.0" y="0.0" width="834" height="1210"/>
<rect key="frame" x="0.0" y="0.0" width="2000" height="5000"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView verifyAmbiguity="off" opaque="NO" contentMode="scaleToFill" ambiguous="YES" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="zpX-lo-MLA" userLabel="Resolutionstak">
@@ -581,7 +581,7 @@
<rect key="frame" x="0.0" y="25.5" width="380" height="32"/>
<segments>
<segment title="Stage Manager"/>
<segment title="AirPlay"/>
<segment title="AirPlay (mirroring)"/>
</segments>
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="selectedSegmentTintColor" systemColor="linkColor"/>
@@ -847,27 +847,6 @@
<constraint firstAttribute="width" constant="380" id="pkz-ek-bOk"/>
</constraints>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="20" id="12a-Wi-LlL" userLabel="pipStack">
<rect key="frame" x="382" y="1899" width="280" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enable PiP" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3rP-dh-TJi" userLabel="pipLabel">
<rect key="frame" x="0.0" y="0.0" width="130" height="31"/>
<constraints>
<constraint firstAttribute="width" constant="130" id="ir2-ut-mD3"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VTC-Z9-IYM" userLabel="pipSwitch">
<rect key="frame" x="150" y="0.0" width="132" height="31"/>
<constraints>
<constraint firstAttribute="width" constant="130" id="ADb-7C-hgx"/>
</constraints>
</switch>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" id="z5W-q6-Y1z" userLabel="backgroundSessionTimerStack">
<rect key="frame" x="440" y="2421" width="380" height="55.5"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
@@ -930,10 +909,31 @@
</switch>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="20" id="12a-Wi-LlL" userLabel="pipStack">
<rect key="frame" x="432" y="1860" width="280" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enable PiP" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3rP-dh-TJi" userLabel="pipLabel">
<rect key="frame" x="0.0" y="0.0" width="130" height="31"/>
<constraints>
<constraint firstAttribute="width" constant="130" id="ir2-ut-mD3"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VTC-Z9-IYM" userLabel="pipSwitch">
<rect key="frame" x="150" y="0.0" width="132" height="31"/>
<constraints>
<constraint firstAttribute="width" constant="130" id="ADb-7C-hgx"/>
</constraints>
</switch>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
<size key="freeformSize" width="2000" height="2500"/>
<size key="freeformSize" width="2000" height="5000"/>
<connections>
<outlet property="audioConfigSelector" destination="iZL-dA-jk9" id="Yja-os-o6g"/>
<outlet property="audioConfigStack" destination="qnG-5F-2YY" id="kFX-VK-vuK"/>
@@ -1033,7 +1033,7 @@
</items>
</navigationBar>
</objects>
<point key="canvasLocation" x="-383.45323741007195" y="1500"/>
<point key="canvasLocation" x="-503" y="1978"/>
</scene>
<!--Reveal View Controller-->
<scene sceneID="rR7-ZT-bc7">
+1 -1
View File
@@ -22,7 +22,7 @@
- (void)userInteractionEnded;
- (void)streamExitRequested;
- (void)toggleStatsOverlay;
- (void)localMousePointerMode;
- (void)toggleMouseCapture;
- (void)toggleMouseVisible;
@end
+1 -1
View File
@@ -828,7 +828,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
[interactionDelegate toggleStatsOverlay];
break;
case UIKeyboardHIDUsageKeyboardM:
[interactionDelegate localMousePointerMode];
[interactionDelegate toggleMouseCapture];
break;
case UIKeyboardHIDUsageKeyboardC:
[interactionDelegate toggleMouseVisible];
+60 -2
View File
@@ -1641,6 +1641,64 @@
}
}
},
"externalDisplayModeStackDoc" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "https://voidlink.yuque.com/org-wiki-voidlink-znirha/fa3tgr/bu3hki4pezy93g6r?singleDoc# "
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "https://voidlink.yuque.com/org-wiki-voidlink-znirha/fa3tgr/cqbse6t4o6f9hil1?singleDoc#"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "https://voidlink.yuque.com/org-wiki-voidlink-znirha/fa3tgr/cqbse6t4o6f9hil1?singleDoc#"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "https://voidlink.yuque.com/org-wiki-voidlink-znirha/fa3tgr/cqbse6t4o6f9hil1?singleDoc#"
}
}
}
},
"externalDisplayModeStackTip" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Select “Stage Manager” to enable full screen external display.\n\nKeyboard Shortcuts for VoidLink (Desktop Mode):\n\nCtrl + Alt + Shift + Q — Disconnect the current session\n\nCtrl + Alt + Shift + S — Toggle the statistics overlay style\n\nCtrl + Alt + Shift + M — Toggle mouse capture mode\n\nCtrl + Alt + Shift + C — Toggle mouse pointer visibility\n"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "VoidLink 桌面模式快捷键:\n\n- Ctrl + Alt + Shift + Q — 断开当前会话\n\n- Ctrl + Alt + Shift + S — 切换性能信息叠加样式\n\n- Ctrl + Alt + Shift + M — 切换鼠标指针捕获模式\n\n- Ctrl + Alt + Shift + C — 切换鼠标指针可见性"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "VoidLink 桌面模式快捷鍵:\n\nCtrl + Alt + Shift + Q — 中斷目前連線\n\nCtrl + Alt + Shift + S — 切換統計資訊覆蓋樣式\n\nCtrl + Alt + Shift + M — 切換滑鼠指標捕捉模式\n\nCtrl + Alt + Shift + C — 切換滑鼠指標可見性"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "VoidLink 桌面模式快捷鍵:\n\nCtrl + Alt + Shift + Q — 中斷目前連線\n\nCtrl + Alt + Shift + S — 切換統計資訊覆蓋樣式\n\nCtrl + Alt + Shift + M — 切換滑鼠指標捕捉模式\n\nCtrl + Alt + Shift + C — 切換滑鼠指標可見性"
}
}
}
},
"Failed to import profiles" : {
"extractionState" : "manual",
"localizations" : {
@@ -4608,13 +4666,13 @@
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "- 觸控板:拖曳方式與 Windows 筆記型電腦觸控板完全相同。快速輕點兩下,從第二次輕點開始進入拖曳模式。\n\n- 原生觸控:即多點觸控傳遞,macOS 不支援。\n\n- 絕對觸控:在 macOS 上提供類似觸控螢幕的體驗。"
"value" : "- 觸控板:拖曳方式與 Windows 筆記型電腦觸控板完全相同。快速輕點兩下,從第二次輕點開始進入拖曳模式。\n\n- 多点觸控:macOS 不支援。\n\n- 單點滑鼠:在 macOS 上提供類似觸控螢幕的體驗。"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "- 觸控板:拖曳方式與 Windows 筆記型電腦觸控板完全相同。快速輕點兩下,從第二次輕點開始進入拖曳模式。\n\n- 原生觸控:即多點觸控傳遞,macOS 不支援。\n\n- 絕對觸控:在 macOS 上提供類似觸控螢幕的體驗。"
"value" : "- 觸控板:拖曳方式與 Windows 筆記型電腦觸控板完全相同。快速輕點兩下,從第二次輕點開始進入拖曳模式。\n\n- 多点觸控:macOS 不支援。\n\n- 單點滑鼠:在 macOS 上提供類似觸控螢幕的體驗。"
}
}
}
@@ -1135,7 +1135,7 @@ static NSMutableSet* hostList;
else [revealController buttonsNotInStreaming];
DataManager* dataMan = [[DataManager alloc] init];
TemporarySettings* currentSettings = [dataMan getSettings];
// TemporarySettings* currentSettings = [dataMan getSettings];
[streamFrameViewController setUserInteractionEnabledForStreamView:!_settingsExpandedInStreamView || position == FrontViewPositionLeft];
[settingsViewController setHidden:_settingsExpandedInStreamView forStack:settingsViewController.resolutionStack];
@@ -1009,6 +1009,11 @@ BOOL isCustomResolution(CGSize res) {
showOnlineDocAction = true;
onlineDocLink = [LocalizationHelper localizedStringForKey:@"onScreenWidgetStackDoc"];
}
if([sender.superview.accessibilityIdentifier isEqualToString: @"externalDisplayModeStack"]){
tipText = [LocalizationHelper localizedStringForKey:@"externalDisplayModeStackTip"];
showOnlineDocAction = true;
onlineDocLink = [LocalizationHelper localizedStringForKey:@"externalDisplayModeStackDoc"];
}
UIAlertController *tipsAlertController = [UIAlertController alertControllerWithTitle: [LocalizationHelper localizedStringForKey:@"Tips"] message: [LocalizationHelper localizedStringForKey:@"%@", tipText] preferredStyle:UIAlertControllerStyleAlert];
+8 -8
View File
@@ -3068,37 +3068,37 @@
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "台前调度"
"value" : "台前调度(可全屏)"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "幕前調度"
"value" : "幕前調度(可全螢幕)"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "幕前調度"
"value" : "幕前調度(可全螢幕)"
}
}
}
},
"VWB-YB-Ptj.segmentTitles[1]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[1] = \"AirPlay\"; ObjectID = \"VWB-YB-Ptj\";",
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[1] = \"AirPlay (mirroring)\"; ObjectID = \"VWB-YB-Ptj\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
"value" : "AirPlay"
"value" : "AirPlay (mirroring)"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "隔空播放"
"state" : "needs_review",
"value" : "隔空播放(镜像)"
}
},
"zh-Hant" : {
@@ -3109,7 +3109,7 @@
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"state" : "needs_review",
"value" : "螢幕鏡像輸出"
}
}
+4 -4
View File
@@ -2834,19 +2834,19 @@
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "台前调度"
"value" : "台前调度(可全屏)"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "幕前調度"
"value" : "幕前調度(可全螢幕)"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "幕前調度"
"value" : "幕前調度(可全螢幕)"
}
}
}
@@ -2864,7 +2864,7 @@
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "隔空播放"
"value" : "隔空播放(镜像)"
}
},
"zh-Hant" : {