Own the network: details, VPN, enterprise Wi-Fi, and a firewall that can also allow
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -9,7 +9,11 @@ fail() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
pages=(Home MyHome Phone Displays Connectivity Bar Dock ControlCenter Tiling Workspaces Sync Sound Shortcuts Mouse Dictation Notifications Focus ScreenIntelligence Health About)
|
||||
# Firewall, Printers and Sharing joined this list when the Network & Sharing
|
||||
# rebuild touched all four Connections-category pages at once: three of them had
|
||||
# never been checked for the page scaffold at all, and a rebuild is exactly when
|
||||
# a hand-rolled Flickable comes back.
|
||||
pages=(Home MyHome Phone Displays Connectivity Firewall Printers Sharing Bar Dock ControlCenter Tiling Workspaces Sync Sound Shortcuts Mouse Dictation Notifications Focus ScreenIntelligence Health About)
|
||||
for page in "${pages[@]}"; do
|
||||
page_file="$repo_dir/config/dot/quickshell/modules/settings/${page}Page.qml"
|
||||
[[ -f "$page_file" ]] || fail "${page}Page.qml is missing"
|
||||
@@ -29,6 +33,32 @@ for page in "${pages[@]}"; do
|
||||
|| fail "${page}Page.qml still copies the page Flickable scaffold"
|
||||
done
|
||||
|
||||
settings_dir="$repo_dir/config/dot/quickshell/modules/settings"
|
||||
|
||||
# A page's objectName is how the running shell is asked to point at it, and how
|
||||
# a contract finds it without walking the visual tree. The four pages under
|
||||
# Connections all carry the id their route uses.
|
||||
while IFS='|' read -r page_file object_name; do
|
||||
rg -Fq "objectName: \"$object_name\"" "$settings_dir/$page_file" \
|
||||
|| fail "$page_file does not carry objectName \"$object_name\""
|
||||
done <<'OBJECTS'
|
||||
ConnectivityPage.qml|connectivity
|
||||
FirewallPage.qml|firewall
|
||||
PrintersPage.qml|printers
|
||||
SharingPage.qml|sharing
|
||||
OBJECTS
|
||||
|
||||
# A component file that exists but is not exported from qmldir is not a missing
|
||||
# import error at startup -- it is an unresolved type at the moment the row is
|
||||
# first rendered, which is to say when somebody expands a connection.
|
||||
qmldir="$settings_dir/qmldir"
|
||||
for component in ConnectionDetails EnterpriseJoinForm; do
|
||||
[[ -f "$settings_dir/$component.qml" ]] \
|
||||
|| fail "$component.qml is missing"
|
||||
rg -Fq "$component 1.0 $component.qml" "$qmldir" \
|
||||
|| fail "$component.qml is not exported from qmldir, so the type resolves to nothing when it is first used"
|
||||
done
|
||||
|
||||
require_row() {
|
||||
local file="$1"
|
||||
local row_type="$2"
|
||||
|
||||
Reference in New Issue
Block a user