v_kyr Posted April 12, 2022 Share Posted April 12, 2022 General NOTE: There are several infos & docs on Apple's website and MacOS about their property list format and how to use it. The manpage of "plutil -- property list utility" > man plutil The manpage for the "plist -- property list format" (will tell you more about the format) > man 5 plist or just man plist Introduction to Property List Programming Topics for Core Foundation Apple's older Property List Programming Guide macOS property list files (from the Lazarus Wiki) ...etc. Related to BBedit, they (Bare Bones) know how to handle Apple property list files and so the format. They do use plist files a lot themselves for their editor modules and enhancements too, like for example for their syntax highlighters etc. (see: Codeless Language Modules, BBEditLanguageMods, etc.) R C-R 1 Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2 Link to comment Share on other sites More sharing options...
R C-R Posted April 12, 2022 Share Posted April 12, 2022 1 minute ago, v_kyr said: Related to BBedit, they (Bare Bones) know how to handle Apple property list files and so the format. They do use plist files a lot themselves for their editor modules and enhancements too, like for example for their syntax highlighters etc. Thanks for the confirmation about BBEdit's ability to handle plist files. I only use a tiny fraction of its free mode features but (so far) it has not caused any problems with anything I have used it for. Quote All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7 Affinity Photo 1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7 Link to comment Share on other sites More sharing options...
v_kyr Posted April 12, 2022 Share Posted April 12, 2022 1 hour ago, LondonSquirrel said: I would consider the version edited by plutil to be the standard to measure against, as that is the tool designed for the job. That's right, since this tool is sort of Apple's reference implementation for their property list format handling, beside Xcode which may reuses the one or other code part from the plutil, or at least from Apple's related API routines for their plist format. Most MacOS related third party tools, which deal with the creation/reading/writing/editing etc. of plists under MacOS, do either way (re)use Apple MacOS API functions, or implemented own routines for handling Apple's plist format. Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2 Link to comment Share on other sites More sharing options...
R C-R Posted April 12, 2022 Share Posted April 12, 2022 7 minutes ago, v_kyr said: Most MacOS related third party tools, which deal with the creation/reading/writing/editing etc. of plists under MacOS, do either way (re)use Apple MacOS API functions, or implemented own routines for handling Apple's plist format. So basically, they may or may not use the same API calls that plutil uses? Either way, when all is said & done does it matter as long as they deal with them properly? Quote All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7 Affinity Photo 1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7 Link to comment Share on other sites More sharing options...
v_kyr Posted April 12, 2022 Share Posted April 12, 2022 27 minutes ago, R C-R said: So basically, they may or may not use the same API calls that plutil uses? It depends, for pure MacOS only apps & tools sure, why should they reinvent the wheel and not reuse Apple's APIs. - Other third party tools, those who have to support multiple platforms, may instead reuse for their MacOS support calls to "plutil" instead then. - See for example ... vim-plist Emacs OSXPlist ...etc. 27 minutes ago, R C-R said: Either way, when all is said & done does it matter as long as they deal with them properly? If any tool does what it should and finally generates what one needs, namely valid & correct working plist-files, then it doesn't matter at all what/which tool you use. You then just take what is the most comfortable or practicle for you. R C-R 1 Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2 Link to comment Share on other sites More sharing options...
v_kyr Posted April 13, 2022 Share Posted April 13, 2022 It seems I've forgotten above to mention and point to an "plutil"-independent plugin-solution for creating/modifing/altering plist-files. Another very popular, powerfull and fast operating multi-platform available editor is "Sublime Text". There is a nice add-on BinaryPlist package available for Sublime, which works without the need of "plutil", since it's Python based (Sublime comes with a build-in Python for extending the editor) and thus has cross platform support for plists. - See: BinaryPlist Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2 Link to comment Share on other sites More sharing options...
v_kyr Posted April 18, 2022 Share Posted April 18, 2022 Ok so far we discussed more what MacOS binary PLIST based Affinity app related prefs settings are, how they look like, where those are stored and how we can change values for certain keys in those etc. Now it's time to make things slightly easier here for MacOS users, in order to list and change such app related prefs settings then. Thus we will now use instead the MacOS defaults system (see in a terminal window also: > man defaults) to alter the specific "ShowFrameTextRuler = YES | NO" plist key/value pair. - I will in the following only briefly describe the steps to do here, the rest can be seen by reading the defaults man pages or some internet articles about the MacOS defaults system. To read out all the Affinity Designer prefs settings (the contents & settings of it's binary plist file) we can inside a terminal call ... Quote > defaults read -app "Affinity Designer" ... this will list ALL the ADe prefs settings inside the terminal window. Since we are only interested to see the actual "ShowFrameTextRuler" key/value pair assigned setting, we call defaults instead this way ... Quote > defaults read -app "Affinity Designer" ShowFrameTextRuler0 ... the returned 0 indicates that the value (a boolean for ShowFrameTextRuler) is 0 = False|No, so this option isn't enabled yet. Now we will change the ShowFrameTextRuler option to True/Yes = 1, in order to enable it for ADe ... Quote > defaults write -app "Affinity Designer" ShowFrameTextRuler -bool TRUE ... or altenatively ... > defaults write -app "Affinity Designer" ShowFrameTextRuler -bool YES ... or as another altenative ... > defaults write -app "Affinity Designer" ShowFrameTextRuler '<true/>' And in order to set it back again to ShowFrameTextRuler option to False/No = 0, disabling it again then ... Quote > defaults write -app "Affinity Designer" ShowFrameTextRuler -bool FALSE ... or altenatively ... > defaults write -app "Affinity Designer" ShowFrameTextRuler -bool NO ... or as another altenative ... > defaults write -app "Affinity Designer" ShowFrameTextRuler '<false/>' This way the whole enabling/disabling of that ShowFrameTextRuler option value can be eased. - Of course this way it can also be used in shell scripts or applescripts, in order to automate and toggeling the switching here then. ONE final NOTE: the corresponding Affinity app has of course to be closed (not running), when altering the settings via the Apple default system here! R C-R 1 Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2 Link to comment Share on other sites More sharing options...
walt.farrell Posted April 18, 2022 Share Posted April 18, 2022 As this is being discussed in two topics, I thought it might be worthwhile to point to a posting in the other one by @Patrick Connor, as it's equally relevant here Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
v_kyr Posted April 18, 2022 Share Posted April 18, 2022 Yes, usage is on an users own risk here and nothing which is supported by Serif at all then. - People should be aware of that, especially unexperienced Mac users and the like! walt.farrell 1 Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2 Link to comment Share on other sites More sharing options...
R C-R Posted April 18, 2022 Share Posted April 18, 2022 3 hours ago, v_kyr said: Of course this way it can also be used in shell scripts or applescripts, in order to automate and toggeling the switching here then. ONE final NOTE: the corresponding Affinity app has of course to be closed (not running), when altering the settings via the Apple default system here! I am not going to do this myself since should I want to enable this 'try-at-your-own-risk' hack as I have mentioned earlier I will just do it using BBEdit, but for those interested in the script method it should be relatively easy to create an AppleScript app that first reports the current setting for showing or hiding the Frame Text ruler, if set to the app default warns that changing it is entirely at the user's risk & invalidates Serif's support, & then if the user elects to go ahead & change it to show the ruler then makes sure the Affinity app is not running before continuing & warns that it should be quit before continuing. This could also have an option to apply to both AD & AP or to just one or the other. Quote All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7 Affinity Photo 1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7 Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.