Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Customise the looks of the macOS DMG distribution disk image #2127

Merged
merged 1 commit into from
Dec 17, 2022

Conversation

johnnovak
Copy link
Member

@johnnovak johnnovak commented Dec 14, 2022

Related to #2122

Also include a Start DOSBox shell script in the DMG file that is launchable from Finder. This is to aid users launching DOSBox from a specific folder without having to resort to using the Terminal (and thus enabling them to use local configs).

Would be great if you guys could test the CI builds once this is merged @kcgen @Burrito78 @kklobe

Link to the PR's CI universal dmg: https://github.com/dosbox-staging/dosbox-staging/suites/9881106025/artifacts/477028919

This is how the Finder window is supposed to look like when opening the distribution DMG:

image

contrib/macos/run.command Outdated Show resolved Hide resolved
@kcgen kcgen added macOS Issues related to macOS packaging Issues about packaging DOSBox Staging for various OSes labels Dec 15, 2022
@johnnovak johnnovak force-pushed the jnovak/include-run-command-in-dmg branch from b04b240 to f334cec Compare December 15, 2022 08:09
@johnnovak johnnovak changed the title Include run.command in macOS distribution package Customise the looks of the macOS DMG distribution disk image Dec 15, 2022
@johnnovak johnnovak force-pushed the jnovak/include-run-command-in-dmg branch from f334cec to f6ce5f3 Compare December 15, 2022 08:11
@kcgen
Copy link
Member

kcgen commented Dec 15, 2022

@johnnovak, here's a recording from my side (using the Universal package):

Screen.Recording.2022-12-15.at.12.13.49.PM.mp4

I have no idea how to use a macOS desktop though 😆

@Burrito78
Copy link
Collaborator

Doesn't work for me. Looks the same as in @kcgen's video.

@kcgen Nice Mac skillz! Do you know that feeling when you just want to grab someones mouse out of his hand? ;)

@johnnovak
Copy link
Member Author

Thanks for testing this @kcgen and @Burrito78 . Yeah I just realised this will never work with the current GitHub build workflow as the workflow just contains a small subset of the contrib/macos/create-app-bundle.sh it, but it doesn't actually call it. I'll need to modify the workflow so it uses that script.

@johnnovak johnnovak force-pushed the jnovak/include-run-command-in-dmg branch 5 times, most recently from 69e5ca6 to 71ad437 Compare December 16, 2022 01:49
@johnnovak
Copy link
Member Author

johnnovak commented Dec 16, 2022

Okay, I've fixed up all the issues with the CI workflow, you can try again @kcgen & @Burrito78.

@Burrito78
Copy link
Collaborator

The background isn't showing on my system (Big Sur), with other installers its working normally.

Bildschirmfoto 2022-12-16 um 08 41 38

@johnnovak
Copy link
Member Author

johnnovak commented Dec 16, 2022

The background isn't showing on my system (Big Sur), with other installers its working normally.

Interesting. I'm on Monterey, btw. The other difference is that the file extensions are showing on your machine, while they aren't on my screenshot.

Not really sure how to proceed from here, to be honest...

EDIT: Tried it on my older Intel Mac, also running Monterey, and it works fine on that one too 🤷🏻

@Burrito78
Copy link
Collaborator

The display of the extension is just a Finder setting.

Test with another App to be sure it's not my system.

Bildschirmfoto 2022-12-16 um 11 34 30

@Grounded0
Copy link
Collaborator

Grounded0 commented Dec 16, 2022

It's a demanding technical product so i'm not sure its needed. People who use this probably have installed software from disk images before. 🤷‍♂️

Screenshot 2022-12-16 at 12 31 46

@Burrito78
Copy link
Collaborator

It's a demanding technical product so i'm not sure its needed. People who use these probably have installed software from .dmg packages before. 🤷‍♂️

Hi @Grounded0!

The build linked above is outdated. Try this one:
https://github.com/dosbox-staging/dosbox-staging/actions/runs/3709529247

I think it's a nice addition and looks more professional.

@Grounded0
Copy link
Collaborator

Grounded0 commented Dec 16, 2022

Hi.
We're Getting There. Definitely adds to the polish with the alpha channel image included. 👍
Now you just have to reverse engineer what IINA disk image did right and copy-paste. 🙂
Screenshot 2022-12-16 at 12 40 40

@Grounded0
Copy link
Collaborator

Grounded0 commented Dec 16, 2022

Those alpha channel images will have legibility problems in dark mode. Probably best to play it safe and avoid alpha channel and instead use white background like IINA.

Screenshot 2022-12-16 at 13 10 59

@johnnovak
Copy link
Member Author

johnnovak commented Dec 16, 2022

It's a demanding technical product so i'm not sure its needed.

How this started was to add the "Start DOSBox Staging" to the DMG which allows users to do exactly what the name says. Not everybody is a Terminal user, and not being able to simply launch DOSBox from a folder to take advantage of local configs can be a major turnoff for a lot of people who simply don't want to screw around with the terminal. I just can't wholeheartedly advise new DOSBox users on macOS to execute a bunch of terminal commands in the Getting Started tutorial I'm going to write! Adding a nice background image to the DMG is just a nice addition; the end product looks a lot more professional and polished that way, in my opinion.

Anyway, at this point I am determined to get it working, and I will fight Apple on this to the death! 😄 ☠️ 🔥

Now you just have to reverse engineer what IINA disk image did right and copy-paste. 🙂

You think it would be that easy.... haha... nope. Getting a background image into your DMG requires a rather complicated dance...

Those alpha channel images will have legibility problems in dark mode. Probably best to play it safe and avoid alpha channel and instead use white background like IINA.

I don't think this is related to dark mode, but making the background solid white is a good idea, anyway. I tried switching my machine to dark mode, and the background still was fine (all white). Btw, the top of the gradient would still show up even on a dark background as it's not fully transparent, so the issue here is different. For some reason on some machines the background is completely ignored, but not on the two laptops I have here. Weird.

I'm inclined to think it's some backwards compatibility problem; maybe Finder settings saved on Monterey aren't compatible with Big Sur... 😐

@johnnovak
Copy link
Member Author

johnnovak commented Dec 16, 2022

Actually, IINA is an open source project (never heard of it before), so I can just have a look how are they adding the background to the DMG. Thanks for the tip!

EDIT: No, I can't. It appears they're building their DMG files fully manually as there are no scripts in the repo that would build a DMG image.

@johnnovak
Copy link
Member Author

Could you guys mount the DMG and list its contents with the below commands and post your results? It would be really weird if the image was missing from the DMG you downloaded, but best to check the most basic things first...

image

@Grounded0
Copy link
Collaborator

Grounded0 commented Dec 16, 2022

I redownloaded the disk image and this is what i'm getting now after mounting the disk image:
Screenshot 2022-12-16 at 14 38 15
Screenshot 2022-12-16 at 14 41 45

@kklobe
Copy link
Collaborator

kklobe commented Dec 16, 2022

Ventura 13.1:
Screenshot 2022-12-16 at 3 47 13 PM
Screenshot 2022-12-16 at 3 48 37 PM

@kcgen
Copy link
Member

kcgen commented Dec 16, 2022

@johnnovak -- all set to merge?

@johnnovak johnnovak force-pushed the jnovak/include-run-command-in-dmg branch from 71ad437 to 4ecfaa9 Compare December 17, 2022 00:40
Also include a `Start DOSBox Staging` shell script in the DMG file that
is launchable from Finder. This is to aid users launching DOSBox from a
specific folder -- and thus enabling them to use local configs --
without the need to use the Terminal.
@johnnovak johnnovak force-pushed the jnovak/include-run-command-in-dmg branch from 4ecfaa9 to 2511887 Compare December 17, 2022 00:51
@johnnovak
Copy link
Member Author

@johnnovak -- all set to merge?

Yeah I've just pushed up a very minor update (made the window a little bit higher so there's less chance for the scrollbar to appear) and I've updated the readme.

I'll test the next build, and if it's fine, I'm going to merge it.

Thanks for the testing guys!

@johnnovak johnnovak merged commit 8ed4674 into main Dec 17, 2022
@pr-triage pr-triage bot added the PR: merged label Dec 17, 2022
@delete-merged-branch delete-merged-branch bot deleted the jnovak/include-run-command-in-dmg branch December 17, 2022 01:12
@Grounded0
Copy link
Collaborator

Nice to see more polish on macOS UX. 😁

@johnnovak
Copy link
Member Author

Nice to see more polish on macOS UX. 😁

Thanks man 😄 These little things can make a difference for the end-users, I think.

@kcgen kcgen removed the PR: merged label Jan 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
macOS Issues related to macOS packaging Issues about packaging DOSBox Staging for various OSes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants