mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-07 20:41:50 +00:00
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
"""dmgbuild settings for the SolidCraft disk image (packaging/macos/package.sh).
|
|
|
|
Passed with -D here=<this folder> -D app=<SolidCraft.app> -D readme=<README.txt>
|
|
-D icns=<icon.icns>. dmgbuild writes the Finder layout (window, background, icon positions) straight into the image, so the build
|
|
needs no Finder session and no AppleScript.
|
|
"""
|
|
import json
|
|
import os
|
|
|
|
here = defines["here"] # noqa: F821 (this folder; settings files have no __file__)
|
|
layout = json.load(open(os.path.join(here, "layout.json")))
|
|
width, height = layout["window"]
|
|
|
|
format = "UDZO"
|
|
filesystem = "HFS+"
|
|
# `dmgbuild -D` values arrive in `defines`.
|
|
files = [defines["app"], defines["readme"]] # noqa: F821
|
|
symlinks = {"Applications": "/Applications"}
|
|
# The read-me stays on the disk for people who look for it, out of the window's calm layout.
|
|
hide = ["README.txt"]
|
|
icon = defines["icns"] # noqa: F821
|
|
|
|
background = os.path.join(here, "background.tiff")
|
|
show_status_bar = False
|
|
show_tab_view = False
|
|
show_toolbar = False
|
|
show_pathbar = False
|
|
show_sidebar = False
|
|
default_view = "icon-view"
|
|
arrange_by = None
|
|
# The rectangle is the whole window: the title bar (32 pt on macOS 27) sits above the content area,
|
|
# which must be exactly the size of the background.
|
|
window_rect = ((260, 260), (width, height + layout["title_bar"]))
|
|
icon_size = layout["icon_size"]
|
|
text_size = layout["text_size"]
|
|
label_pos = "bottom"
|
|
icon_locations = {
|
|
os.path.basename(defines["app"]): tuple(layout["app"]), # noqa: F821
|
|
"Applications": tuple(layout["applications"]),
|
|
"README.txt": (width // 2, height + 200),
|
|
}
|